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)
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;
}