Package org.lwjgl.util.ktx
@NullMarked
package org.lwjgl.util.ktx
Contains bindings to the KTX (Khronos Texture), a lightweight container for textures for OpenGLĀ®, VulkanĀ® and
other GPU APIs.
The LWJGL bindings support the KTX encoding functionality, but its presence is optional. Applications may choose to deploy the read-only version of the
KTX library (ktx_read
) and the bindings will work. The KTX_LIBRARY_NAME
option can be
used to change the loaded library.
Resources
-
ClassDescriptionContains the function pointers loaded from the ktx
SharedLibrary
.struct ktxAstcParams { ktx_uint32_t structSize; ktx_bool_t verbose; ktx_uint32_t threadCount; ktx_uint32_t blockDimension; ktx_uint32_t mode; ktx_uint32_t qualityLevel; ktx_bool_t normalMap; ktx_bool_t perceptual; char inputSwizzle[4]; }
An array ofktxAstcParams
structs.struct ktxBasisParams { ktx_uint32_t structSize; ktx_bool_t uastc; ktx_bool_t verbose; ktx_bool_t noSSE; ktx_uint32_t threadCount; ktx_uint32_t compressionLevel; ktx_uint32_t qualityLevel; ktx_uint32_t maxEndpoints; float endpointRDOThreshold; ktx_uint32_t maxSelectors; float selectorRDOThreshold; char inputSwizzle[4]; ktx_bool_t normalMap; ktx_bool_t separateRGToRGB_A; ktx_bool_t preSwizzle; ktx_bool_t noEndpointRDO; ktx_bool_t noSelectorRDO; ktx_pack_uastc_flags uastcFlags; ktx_bool_t uastcRDO; float uastcRDOQualityScalar; ktx_uint32_t uastcRDODictSize; float uastcRDOMaxSmoothBlockErrorScale; float uastcRDOMaxSmoothBlockStdDev; ktx_bool_t uastcRDODontFavorSimplerModes; ktx_bool_t uastcRDONoMultithreading; }
An array ofktxBasisParams
structs.struct ktxOrientation { ktxOrientationX x; ktxOrientationY y; ktxOrientationZ z; }
An array ofktxOrientation
structs.struct ktxStream { {@link ktxStream_readI ktxStream_read} read; {@link ktxStream_skipI ktxStream_skip} skip; {@link ktxStream_writeI ktxStream_write} write; {@link ktxStream_getposI ktxStream_getpos} getpos; {@link ktxStream_setposI ktxStream_setpos} setpos; {@link ktxStream_getsizeI ktxStream_getsize} getsize; {@link ktxStream_destructI ktxStream_destruct} destruct; enum streamType type; union { FILE * file; ktxMem * mem; struct { void * address; void * allocatorAddress; ktx_size_t size; } custom_ptr; } data; ktx_off_t readpos; ktx_bool_t closeOnDestruct; }
Callback function:ktxStream_destruct
Callback function:ktxStream_destruct
Callback function:ktxStream_getpos
Callback function:ktxStream_getpos
Callback function:ktxStream_getsize
Callback function:ktxStream_getsize
Callback function:ktxStream_read
Callback function:ktxStream_read
Callback function:ktxStream_setpos
Callback function:ktxStream_setpos
Callback function:ktxStream_skip
Callback function:ktxStream_skip
Callback function:ktxStream_write
Callback function:ktxStream_write
An array ofktxStream
structs.struct ktxTexture { class_id classId; {@link ktxTexture_vtbl struct ktxTexture_vtbl} * vtbl; struct ktxTexture_vvtbl * vvtbl; struct ktxTexture_protected * _protected; ktx_bool_t isArray; ktx_bool_t isCubemap; ktx_bool_t isCompressed; ktx_bool_t generateMipmaps; ktx_uint32_t baseWidth; ktx_uint32_t baseHeight; ktx_uint32_t baseDepth; ktx_uint32_t numDimensions; ktx_uint32_t numLevels; ktx_uint32_t numLayers; ktx_uint32_t numFaces; {@link ktxOrientation struct ktxOrientation} orientation; ktxHashList kvDataHead; ktx_uint32_t kvDataLen; ktx_uint8_t * kvData; ktx_size_t dataSize; ktx_uint8_t * pData; }
struct ktxTexture_vtbl { PFNKTEXDESTROY Destroy; PFNKTEXGETIMAGEOFFSET GetImageOffset; PFNKTEXGETDATASIZEUNCOMPRESSED GetDataSizeUncompressed; PFNKTEXGETIMAGESIZE GetImageSize; PFNKTEXGETLEVELSIZE GetLevelSize; PFNKTEXITERATELEVELS IterateLevels; PFNKTEXITERATELOADLEVELFACES IterateLoadLevelFaces; PFNKTEXNEEDSTRANSCODING NeedsTranscoding; PFNKTEXLOADIMAGEDATA LoadImageData; PFNKTEXSETIMAGEFROMMEMORY SetImageFromMemory; PFNKTEXSETIMAGEFROMSTDIOSTREAM SetImageFromStdioStream; PFNKTEXWRITETOSTDIOSTREAM WriteToStdioStream; PFNKTEXWRITETONAMEDFILE WriteToNamedFile; PFNKTEXWRITETOMEMORY WriteToMemory; PFNKTEXWRITETOSTREAM WriteToStream; }
An array ofktxTexture_vtbl
structs.An array ofktxTexture
structs.struct ktxTexture1 { class_id classId; {@link ktxTexture_vtbl struct ktxTexture_vtbl} * vtbl; struct ktxTexture_vvtbl * vvtbl; struct ktxTexture_protected * _protected; ktx_bool_t isArray; ktx_bool_t isCubemap; ktx_bool_t isCompressed; ktx_bool_t generateMipmaps; ktx_uint32_t baseWidth; ktx_uint32_t baseHeight; ktx_uint32_t baseDepth; ktx_uint32_t numDimensions; ktx_uint32_t numLevels; ktx_uint32_t numLayers; ktx_uint32_t numFaces; {@link ktxOrientation struct ktxOrientation} orientation; ktxHashList kvDataHead; ktx_uint32_t kvDataLen; ktx_uint8_t * kvData; ktx_size_t dataSize; ktx_uint8_t * pData; ktx_uint32_t glFormat; ktx_uint32_t glInternalformat; ktx_uint32_t glBaseInternalformat; ktx_uint32_t glType; struct ktxTexture1_private * _private; }
An array ofktxTexture1
structs.struct ktxTexture2 { class_id classId; {@link ktxTexture_vtbl struct ktxTexture_vtbl} * vtbl; struct ktxTexture_vvtbl * vvtbl; struct ktxTexture_protected * _protected; ktx_bool_t isArray; ktx_bool_t isCubemap; ktx_bool_t isCompressed; ktx_bool_t generateMipmaps; ktx_uint32_t baseWidth; ktx_uint32_t baseHeight; ktx_uint32_t baseDepth; ktx_uint32_t numDimensions; ktx_uint32_t numLevels; ktx_uint32_t numLayers; ktx_uint32_t numFaces; {@link ktxOrientation struct ktxOrientation} orientation; ktxHashList kvDataHead; ktx_uint32_t kvDataLen; ktx_uint8_t * kvData; ktx_size_t dataSize; ktx_uint8_t * pData; ktx_uint32_t vkFormat; ktx_uint32_t * pDfd; ktxSupercmpScheme supercompressionScheme; ktx_bool_t isVideo; ktx_uint32_t duration; ktx_uint32_t timescale; ktx_uint32_t loopcount; struct ktxTexture2_private * _private; }
An array ofktxTexture2
structs.struct ktxTextureCreateInfo { ktx_uint32_t glInternalformat; ktx_uint32_t vkFormat; ktx_uint32_t * pDfd; ktx_uint32_t baseWidth; ktx_uint32_t baseHeight; ktx_uint32_t baseDepth; ktx_uint32_t numDimensions; ktx_uint32_t numLevels; ktx_uint32_t numLayers; ktx_uint32_t numFaces; ktx_bool_t isArray; ktx_bool_t generateMipmaps; }
An array ofktxTextureCreateInfo
structs.Contains the function pointers loaded fromKTX.getLibrary()
.struct ktxVulkanDeviceInfo { VkInstance instance; VkPhysicalDevice physicalDevice; VkDevice device; VkQueue queue; VkCommandBuffer cmdBuffer; VkCommandPool cmdPool; {@link VkAllocationCallbacks VkAllocationCallbacks} const * pAllocator; {@link VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties} deviceMemoryProperties; {@link ktxVulkanFunctions ktxVulkanFunctions} vkFuncs; }
An array ofktxVulkanDeviceInfo
structs.struct ktxVulkanFunctions { PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; PFN_vkAllocateMemory vkAllocateMemory; PFN_vkBeginCommandBuffer vkBeginCommandBuffer; PFN_vkBindBufferMemory vkBindBufferMemory; PFN_vkBindImageMemory vkBindImageMemory; PFN_vkCmdBlitImage vkCmdBlitImage; PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; PFN_vkCreateImage vkCreateImage; PFN_vkDestroyImage vkDestroyImage; PFN_vkCreateBuffer vkCreateBuffer; PFN_vkDestroyBuffer vkDestroyBuffer; PFN_vkCreateFence vkCreateFence; PFN_vkDestroyFence vkDestroyFence; PFN_vkEndCommandBuffer vkEndCommandBuffer; PFN_vkFreeCommandBuffers vkFreeCommandBuffers; PFN_vkFreeMemory vkFreeMemory; PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; PFN_vkMapMemory vkMapMemory; PFN_vkQueueSubmit vkQueueSubmit; PFN_vkQueueWaitIdle vkQueueWaitIdle; PFN_vkUnmapMemory vkUnmapMemory; PFN_vkWaitForFences vkWaitForFences; }
An array ofktxVulkanFunctions
structs.struct ktxVulkanTexture { PFN_vkDestroyImage vkDestroyImage; PFN_vkFreeMemory vkFreeMemory; VkImage image; VkFormat imageFormat; VkImageLayout imageLayout; VkDeviceMemory deviceMemory; VkImageViewType viewType; uint32_t width; uint32_t height; uint32_t depth; uint32_t levelCount; uint32_t layerCount; uint64_t allocationId; }
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
struct ktxVulkanTexture_subAllocatorCallbacks { void * (* allocMemFuncPtr) (VkMemoryAllocateInfo * allocInfo, VkMemoryRequirements * memReq, uint64_t * pageCount); void * (* bindBufferFuncPtr) (VkBuffer buffer, uint64_t allocId); void * (* bindImageFuncPtr) (VkImage image, uint64_t allocId); void * (* memoryMapFuncPtr) (uint64_t allocId, uint64_t pageNumber, VkDeviceSize * mapLength, void ** dataPtr); void * (* memoryUnmapFuncPtr) (uint64_t allocId, uint64_t pageNumber); void * (* freeMemFuncPtr) (uint64_t allocId); }
An array ofktxVulkanTexture_subAllocatorCallbacks
structs.Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
Callback function:(* anonymous)
An array ofktxVulkanTexture
structs.Callback function:PFNKTXITERCB
Callback function:PFNKTXITERCB