Repository navigation
v0.3.0
·
80 commits
to trunk
since this release
Immutable
release. Only release title and notes can be modified.
Added
- New encoder backend: ARM
astcencfor ASTC (ctt-astcenccrate,encoder-astcencfeature). - New encoder backend: AMD Compressonator for BC1–BC7 (
ctt-compressonatorcrate,encoder-amdfeature). - New encoder backend: etcpak for ETC/EAC and a subset of BCn (
ctt-etcpakcrate,encoder-etcpakfeature). - High-level library API:
ctt::convertwithConvertSettings, plus crate-level documentation and examples covering the end-to-end pipeline. - KTX and DDS input support: existing compressed textures can now be re-encoded or transcoded, not just raw PNG/JPEG/etc.
- KTX2 supercompression: optional zstd and zlib compression of the payload (
--zstd/--zlib). - Color space and alpha mode conversion: sRGB↔linear and straight↔premultiplied conversions are modeled in the pipeline and triggered automatically when source and target disagree.
- Mipmap generation.
- NPOT (non-power-of-two) textures are now handled correctly throughout the pipeline, including mipmap generation.
- Profiling scopes via the
profilingcrate across the pipeline.
Changed
- Core transformation pipeline rewritten around a conversion graph and typed transform nodes, unifying how format conversion, color space conversion, alpha handling, swizzling, mipmapping, and compression are scheduled.
- Mipmap downsampling now uses
fast_image_resize; the default filter is box. - sRGB encode/decode uses an approximate OETF/EOTF on the hot path, significantly speeding up loading and conversion of sRGB images.
- Output handling reworked: clearer container selection from extension, better diagnostics, and cleaner layering between the container writers and the pipeline.
Removed
- Dropped the Intel ISPC Texture Compressor's built-in ASTC path in favor of
astcenc, which produces higher-quality output.