Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 1.7 KB

README.md

File metadata and controls

52 lines (36 loc) · 1.7 KB

BimDexter

Clear and concise DXT1 compressor using a gradient descent algorithm.

Builds as a command line tool that converts between 24-bit uncompressed BMP and DXT1 encoded DDS file formats. Visual Studio solution is included. The code should be portable anyway.

Run the program with no arguments to display usage.

See LICENSE.txt for licensing information (it is the MIT license).

The DXT1 compression method was designed as a compromise between quality and speed. In comparison with libsquish, it replaces an exhaustive search for an optimal clustering with heuristic gradient descent.

The meat of the algorithm is in BimDexter/PixelBlock.cpp.

Example

Compression times here are CPU only.

Original Image

BimDexter.exe Compressed Image

RMS error         : 4.87
max absolute error: 81
compression time  : 0.593 seconds

nvcompress.exe Compressed Image

RMS error         : 4.74
max absolute error: 81
time taken        : 0.836 seconds

nvcompress.exe -fast Compressed Image

RMS error         : 5.05
max absolute error: 109
time taken        : 0.040 seconds