libktx - The KTX Library 4.1.0
Libraries and tools to create and read KTX image texture files.
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 ktxAstcParams::blockDimension

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

◆ inputSwizzle

char ktxAstcParams::inputSwizzle[4]

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

◆ mode

ktx_uint32_t ktxAstcParams::mode

Can be {ldr/hdr} from astcenc

◆ normalMap

ktx_bool_t ktxAstcParams::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 ktxAstcParams::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 ktxAstcParams::qualityLevel

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

◆ structSize

ktx_uint32_t ktxAstcParams::structSize

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

◆ threadCount

ktx_uint32_t ktxAstcParams::threadCount

Number of threads used for compression. Default is 1.

◆ verbose

ktx_bool_t ktxAstcParams::verbose

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