The NVIDIA Texture Tools is a collection of image processing and texture manipulation tools, designed to be integrated in game tools and asset processing pipelines.
The primary features of the library are mipmap and normal map generation, format conversion, and DXT compression.
Use the provided Visual Studio 2017 solution project/vc2017/thekla.sln
.
Use cmake and the provided configure script:
$ ./configure
$ make
$ sudo make install
To use the NVIDIA Texture Tools in your own applications you just have to include the following header file:
And include the nvtt library in your projects.
The following file contains a simple example that shows how to use the library:
Detailed documentation of the API can be found at:
https://github.com/castano/nvidia-texture-tools/wiki/ApiDocumentation
- I still maintain A High Quality SIMD BC1 Encoder.
- rgbcx is another high-performance (but scalar) BC1-5 encoder.
- stb_dxt is a single header library that provides low quality, but fast BC1-5 encoders.
- Binomial is an image and texture compression company that develops Basis a universal texture codec and also has other open source codecs.
- Intel ISPC Texture Compressor is a set of set of open source SIMD texture encoders that are very fast, but low quality.
- AMD Compressonator offers various open source encoders that also run on the GPU.
- Betsy is a compressor for various GPU formats using compute shaders.
- For ETC encoders see Google's Etc2Comp, Bartosz Taudul's etcpak and Rich Geldreich's rg-etc1.
- ARM ASTC Encoder is an excellent ASTC encoder.
- This is a good overview of the state of texture encoders in 2020.
- stb_image_resize provides polyphase image resize filters that are similar to what NVTT supports.
- Dario Manesku's cube map filtering tool seems like a good alternative for the cube map filtering functions in NVTT.
- CubeMapGen is another source of information for cubemap filtering algorithms, but is now unsupported as well.
- Deano Calver supports three tiny libraries that provide support for DDS and KTX file formats, and pixel format conversion.
- stb_image and stb_image_write are two handy single header libraries to read and write images in various formats.
- https://github.com/syoyo/tinyexr
- https://lodev.org/lodepng/
- texturec is a handy command line tool similar to
nvcompress
, built on top of bimg. - The venerable ImageMagick still provides many valuable tools and utilities.
- Oodle Texture is a suite of commercial RDO texture codecs.
- NVIDIA Texture Tools exporter is based on a private fork of this project and offers additional GPU accelerated codecs, but it's not open source.