libktx Reference 4.3.1
Libraries and tools to create and read KTX image texture files.
No Matches
ktxAstcParams Struct Reference

Structure for passing extended parameters to ktxTexture_CompressAstc. More...

#include <ktx.h>

Data Fields

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]

Detailed Description

Structure for passing extended parameters to ktxTexture_CompressAstc.

Passing a struct initialized to 0 (e.g. " = {0};") will use blockDimension 4x4, mode LDR and qualityLevel FASTEST. Setting qualityLevel to KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM is recommended.

Field Documentation

◆ blockDimension

ktx_uint32_t blockDimension

Combinations of block dimensions that astcenc supports i.e. 6x6, 8x8, 6x5 etc

◆ inputSwizzle

char inputSwizzle[4]

A swizzle to provide as input to astcenc. It must match the regular expression /^[rgba01]{4}$/.

◆ mode

ktx_uint32_t mode

Can be {ldr/hdr} from astcenc

◆ normalMap

ktx_bool_t normalMap

Tunes codec parameters for better quality on normal maps In this mode normals are compressed to X,Y components Discarding Z component, reader will need to generate Z component in shaders.

◆ perceptual

ktx_bool_t perceptual

The codec should optimize for perceptual error, instead of direct RMS error. This aims to improves perceived image quality, but typically lowers the measured PSNR score. Perceptual methods are currently only available for normal maps and RGB color data.

◆ qualityLevel

ktx_uint32_t qualityLevel

astcenc supports -fastest, -fast, -medium, -thorough, -exhaustive

◆ structSize

ktx_uint32_t structSize

Size of this struct. Used so library can tell which version of struct is being passed.

◆ threadCount

ktx_uint32_t threadCount

Number of threads used for compression. Default is 1.

◆ verbose

ktx_bool_t verbose

If true, prints Astc encoder operation details to stdout. Not recommended for GUI apps.