BC1 Compression Revisited
added on 2022/11/09 @ 10:54:59 | 348 views| category: gamedev

The NVIDIA Texture Tools (NVTT) had the highest quality BC1 encoder that was openly available, but the rest of the code was mediocre: The remaining encoders had not received much attention, the CUDA code paths were not maintained, and the accompanying image processing and serialization code was conventional. There was too much code that was not particularly interesting, it was a hassle to build, and required too much maintenance.

This compelled me to package the BC1 compressor independently as a single header library:

https://github.com/castano/icbc

While doing that I also took the opportunity to revisit the encoder and change the way it was vectorized. I wanted to write about that, but before getting into the details let’s overview how a BC1 compressor works.

--
More reading:

- Understanding BCn Texture Compression Formats
https://www.reedbeta.com/blog/understanding-bcn-texture-compression-formats/

tags: #programming #bc1 #gamedev