]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texturecube.cpp
Support loading uniform arrays from data files
[libs/gl.git] / source / texturecube.cpp
index 7f5250ee99e1381195977b1a40e12b77a8220839..24d02f4022b2aeac380410ea481a2e392181f8af 100644 (file)
@@ -47,8 +47,10 @@ void TextureCube::allocate(unsigned level)
        if(allocated&(1<<level))
                return;
 
+       PixelFormat base_fmt = get_base_pixelformat(ifmt);
+       DataType type = get_alloc_type(base_fmt);
        for(unsigned i=0; i<6; ++i)
-               image(enumerate_faces(i), level, get_base_pixelformat(ifmt), UNSIGNED_BYTE, 0);
+               image(enumerate_faces(i), level, base_fmt, type, 0);
 }
 
 void TextureCube::image(TextureCubeFace face, unsigned level, PixelFormat fmt, DataType type, const void *data)
@@ -67,6 +69,8 @@ void TextureCube::image(TextureCubeFace face, unsigned level, PixelFormat fmt, D
        allocated |= 1<<level;
        if(gen_mipmap && level==0)
        {
+               // TODO Only do this once all faces are created
+               auto_generate_mipmap();
                for(; s; s>>=1, ++level) ;
                allocated |= (1<<level)-1;
        }