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

  • Class
    Description
     
    Contains 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 of ktxAstcParams 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 of ktxBasisParams structs.
    struct ktxOrientation { ktxOrientationX x; ktxOrientationY y; ktxOrientationZ z; }
    An array of ktxOrientation 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 of ktxStream 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 of ktxTexture_vtbl structs.
    An array of ktxTexture 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 of ktxTexture1 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 of ktxTexture2 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 of ktxTextureCreateInfo structs.
     
    Contains the function pointers loaded from KTX.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 of ktxVulkanDeviceInfo 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 of ktxVulkanFunctions 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); }
    Callback function: (* anonymous)
    Callback function: (* anonymous)
    Callback function: (* anonymous)
    Callback function: (* anonymous)
    Callback function: (* anonymous)
    Callback function: (* anonymous)
    An array of ktxVulkanTexture structs.
    Callback function: PFNKTXITERCB
    Callback function: PFNKTXITERCB