X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexturecube.cpp;h=a9961af90a3900660f2e2c71a5a46be8820f6441;hb=6f8c0c6c088be92804cb413c0234bfb817ef2d8d;hp=3c6f23bd94f05443fd5e872febca8edf19555875;hpb=93fa68debcd6e416a1b20f43077f7a79525aaecb;p=libs%2Fgl.git diff --git a/source/texturecube.cpp b/source/texturecube.cpp index 3c6f23bd..a9961af9 100644 --- a/source/texturecube.cpp +++ b/source/texturecube.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include "bindable.h" @@ -37,6 +38,9 @@ void TextureCube::storage(PixelFormat fmt, unsigned sz) throw invalid_operation("TextureCube::storage"); if(sz==0) throw invalid_argument("TextureCube::storage"); + + if(MSP_sized_internal_formats) + fmt = get_sized_pixelformat(fmt); require_pixelformat(fmt); ifmt = fmt; @@ -48,10 +52,20 @@ void TextureCube::allocate(unsigned level) if(allocated&(1<>=1, ++level) ; - allocated |= (1<>=1, ++n) ; + return n; +} + +unsigned TextureCube::get_level_size(unsigned level) const { return size>>level; }