This sample demonstrates KTX texture usage with nvpro_core helpers and post-process tonemapping in Vulkan.
- TextureKtx Class: Handles texture creation and management
- Tonemapper: Implemented using
TonemapperPostProcessclass- Supports both compute and graphics pipeline approaches
TextureKtx::create(ktximage)function manages texture and mipmap uploading- Preserves original image format (e.g., sRGB)
- Load default image
- Create simple sphere scene
- Generate Vulkan buffers for vertices and indices
- Create pipeline with basic vertex and fragment shaders
- Update camera matrices in
m_frameInfo.buffer - Render scene
- Apply post-process tonemapping
- Utilizes
VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME - Fragment shader avoids gamma correction, deferring to tonemapper
- Zstandard Supercompression
- Basis Universal
_add_package_KTX()
target_link_libraries(${PROJECT_NAME} libzstd_static zlibstatic basisu)
