X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexturecube.cpp;h=e767423fe539f9ee92fd10dd5af8f1beaa6eebb4;hb=9b430dbef4f58a862320ebfcef7d1f8bff28b0dc;hp=3c6f23bd94f05443fd5e872febca8edf19555875;hpb=93fa68debcd6e416a1b20f43077f7a79525aaecb;p=libs%2Fgl.git diff --git a/source/texturecube.cpp b/source/texturecube.cpp index 3c6f23bd..e767423f 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; }