oculante icon indicating copy to clipboard operation
oculante copied to clipboard

Improved ktx2 support

Open woelper opened this issue 1 year ago • 0 comments

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

woelper avatar Dec 24 '23 06:12 woelper