oculante
oculante copied to clipboard
Improved ktx2 support
The current ktx2 support is incomplete for various reasons:
- Cubemaps and other layered textures will only show the first layer. The layer information is present, so it has to be decided how to display them (as cubemap in a single image, as sequence, as 3d background...)
- Not all formats are supported. Loading is one thing, but conversion to an imagebuffer has to be done manually. There are LOTS of formats: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
- No hardware-supported texture decompression from what I can see, as this uses code from bevy, which seems to pass the texture data to hardware. Oculante needs the data as image buffer to manipulate pixels, so we need the uncompressed data.
- Non-square images are decoded incorrectly. I don't know if non-square textures are valid or need to be a multiple of X.
KTX tools can be obtained here: https://github.com/KhronosGroup/KTX-Software/releases
creating an example image: ktx create input.exr --format R32G32B32A32_SFLOAT output_R32G32B32A32_SFLOAT.ktx2