crashinvaders / gdx-basis-universal

KTX2/Basis Universal supercompressed GPU textures for libGDX game framework.
17 stars 2 forks source link

Mipmap support #5

Open metaphore opened 5 months ago

metaphore commented 5 months ago

This issue picks up on the discussion about mipmaps started with @Peter-Warlock in #2

The naive idea was to use glGenerateMipmap to automatically create all the necessary MIP levels for compressed KTX2/Basis textures. Well, guess what, this OpenGL function is only meant to be used for non-compressed textures.

GL_INVALID_OPERATION is generated if the zero level array is stored in a compressed internal format.

An interesting find was that libGDX actually generates mipmaps on CPU. Why is that I can't tell. But anyways, it all means that we actually have to unpack and use other MIP levels of a KTX2/Basis texture if they are bundled in.

I'll try to find some time in the next couple of weeks to implement it.