← All resources

bc_crunch

Auto-discovered

Library / Codebase Intermediate

Geolm

Visit resource ↗

Description

bc_crunch is a tiny, dependency-free C99 library by Geolm for lossless compression of already GPU-compressed BC1, BC3, BC4, and BC5 texture block streams.

It uses BC-aware zigzag traversal, endpoint predictors, and index bitfield tables so average ratios can beat zlib at maximum settings on the author's texture benchmarks. The README cites about one thousand lines, no malloc in the core path, byte-exact decode, GPU-ready BC output, and encoder-only scratch buffers. BC3 is BC1 plus BC4; BC5 is dual BC4.

Engine and tools programmers shipping BC/DXT assets who want smaller stored streams are the main users. C99 integration skill is enough; there are no external library deps.

The project lives as a public GitHub repo with README benchmarks, doc.md notes, CMake tests, and a Huffman branch for faster decode. Each mip is crunched with a separate call today.

It helps pack albedo, mask, normal, or height BC data for distribution while keeping decompress simple.