NVIDIA Texture Tools 3
Create block-compressed textures and write custom asset pipelines using NVTT 3, an SDK for CUDA-accelerated texture compression and image processing.
NVTT 3 can be used to compress textures to and from block-compressed formats including BC1-7 and LDR ASTC, which stay small both on disk and in GPU memory. Or use its image processing functions, like mipmapping and convolution, as part of a custom app or asset processing pipeline. CUDA-accelerated operations speed up processing significantly, with CPU fallbacks for maximum compatibility.
NVTT 3 exposes a quick and powerful API (a C++ command-line compressor using it fits in 250 characters) and a C wrapper for use with other languages. The library is a reliable component within NVIDIA, and already fully integrated in technologies including Omniverse, the Texture Tools Exporter, and more.
What’s New in NVTT 3
Compress textures entirely within GPU memory with the new On-The-Fly API. 200+ functions are available from both C and C++.
Comprehensive CUDA Acceleration
NVTT 3 adds CUDA compression for BC4-BC7 and ASTC, most image processing operations, and GPU device selection.
Adaptive Scalable Texture Compression
Scalably compress textures for Tegra GPUs, from 8 bits per pixel with BC7-like quality, to as compactly as 0.89 bits per pixel.
Download NVTT 3
On Linux, the NVTT 3 SDK is packaged by itself.
|Operating System||Ubuntu 16.04+, CentOS 7, or similarly compatible distro|
|Requirements||glibc version 2.2.5 or higher |
libc.so version 6 or higher
C++ API: Compiler ABI-compatible with clang 8.0.1
C API: Compiler supporting at least C99 and dynamic linking
Online Tutorials and Samples
Tutorials and samples for NVTT3, including reimplementations of some of the tools shipping with NVTT 3, are available at https://github.com/nvpro-samples/nvtt_samples.
Documentation for every function in NVTT and a getting started guide are available as part of the NVTT 3 package, starting from docs/index.html.