NVIDIA Texture Tools Exporter



The NVIDIA Texture Tools Exporter allows users to create highly compressed texture files - that stay small both on disk and in memory - directly from image sources using NVIDIA’s CUDA-accelerated Texture Tools 3.0 compressor technology.


This exporter combines four texture tools in a single plugin and standalone application, including flexible and powerful support for cube maps, mipmaps, normal maps, transparency, and more than 130 import formats. A new compression preview pane allows you to see how your image will be compressed in real-time, without having to write to disk.


NVIDIA Texture Tools Exporter standalone showcasing a cube map reflection

These tools are ideal for artists and graphics engineers looking to save texture memory and reduce the size of their applications or fit more or higher-resolution textures into the same space. For instance, game developers can use this to reduce the size of the games they create - or realistic rendering and digital content creation developers can use this to fit higher-resolution textures in memory.




Reduce application sizes

Compress textures down to a third of their original size. Or use this to fit more detailed and varied textures into memory

High-quality image processing

Generate mipmaps using linear-space colors and premultiplied alpha, filter normal maps using slope mapping, and more

Modern compression algorithms

Now supports BC6 for HDR textures, BC7 for high-quality compression, and ASTC for scalable compression on Tegra GPUs




DOWNLOADS

Standalone Application


Operating System
  • Windows 10, 11 (64-bit only)
  • Requirements
  • NVIDIA CUDA-capable GPU

  • Download

    Release Notes

    2021.2
    • Released the NVTT 3 SDK, the compression library powering the Texture Tools Exporter and many other projects. It is packaged with the Texture Tools Exporter on Windows and by itself on Linux.
    • Added Basis Universal texture supercompression, with Rate Distortion Optimization (RDO) for smaller images than before.
    • Now uses the nv_ktx library for KTX reading and writing.
    • Updated FreeImage to the latest source, fixing several security issues.
    • Fixed an issue where images were not tracking premultiplication status.
    • Fixed an issue where ICC color profiles were not passed through systems correctly.
    • Fixed an issue where colors were not clamped to [0,1] during setup for Image Super-Resolution.
    • Fixed an issue where Wrap To Output Range didn’t wrap large positive values.
    • Fixed an issue where setting the Gaussian Blur radius to a negative number would cause a fallback to CPU image processing.
    • Indented the Compression Quality and Scale and Bias sections.
    • Improved the error message for attempting to use Image Super-Resolution on a GPU without Tensor Cores.
    2021.1.1
    • Added NGX Super-Resolution effect for Turing+ GPUs.
    • Added KTX and KTX2 file format readers as well as support for exporting KTX2 files.
    • Added window resizing and high-DPI support.
    • Faster, lower-memory image processing.
    • Image effects now run on a background thread, making the user interface respond faster with larger images.
    • Added Boris Ustaev’s image drag-and-drop UI.
    • Fixed an issue where the Photoshop plugin would choose the wrong channel for alpha when the Photoshop file didn’t have a background layer and had a user-provided alpha channel.
    • Fixed an issue where using two identical GPUs in a non-SLI configuration without a specified CUDA device would lead to image corruption.
    • Fixed issues with compressor nondeterminism on cubemap textures.
    • Support reading legacy DDS files where dwMipMapCount is 0.
    • Updated NVTT to version 3.1.6.
    2020.1.3
    • Both the plugin and the standalone exporter now export using DX9-style DDS headers when they can (i.e. without the DX10 header extension). Added an option to always use the DX10 header extension, which is disabled by default. This should improve compatibility with older DDS readers. The corresponding command-line flag is --dx10.
    • Added support for read settings in the plugin. These settings are automatically saved in the registry. If you’ve hidden the read settings window, you can re-enable it from the About box.
    • Added support in the plugin for reading mipmaps of DDS files as layers.
    • Added support in the plugin for reading alpha channels of DDS files as extra channels instead of transparency.
    • Added support for reading three nonstandard BC6/BC7 FourCC codes (BC6H, BC7L, and BC7\0).
    • Added the ability to read and save images flipped vertically. The corresponding command-line options are --read-flip-y and --save-flip-y.
    • Switched to using FreeImage instead of OpenImageIO in the standalone exporter for import and export of non-DDS images.
    • BC1a, BC2, and BC3’s Fastest modes now use the GPU for compression.
    • Fixed a bug where RGB values of fully transparent pixels (with alpha equal to 0) would be set to 0 as a result of internal premultiplication.
    • Fixed a bug where the standalone exporter would read TIFF files without an ICC profile using linear-space instead of sRGB colors.
    2020.1.2
    • Fixed an issue where the standalone exporter would read some file types with inconsistent premultiplied alpha.
    • Fixed an issue where the standalone exporter would read PSD files without a specified color profile as if they contained linear colors instead of sRGB colors.
    2020.1.1
    • Fixed an issue where the standalone exporter would interpret some file formats without ICC profiles or specified oiio:ColorSpace values with the incorrect color space.
    • Updated credits.
    • Fixed an inaccuracy in the tooltips for BC1-BC5, where it talks about how palette elements are distributed between endpoints.

    Adobe Photoshop Plugin


    Operating System
  • Windows 10, 11 (64-bit only)
  • Requirements
  • NVIDIA CUDA-capable GPU
  • Adobe Photoshop CC
  • Download

    Release Notes

    2021.2
    • Released the NVTT 3 SDK, the compression library powering the Texture Tools Exporter and many other projects. It is packaged with the Texture Tools Exporter on Windows and by itself on Linux.
    • Added Basis Universal texture supercompression, with Rate Distortion Optimization (RDO) for smaller images than before.
    • Now uses the nv_ktx library for KTX reading and writing.
    • Updated FreeImage to the latest source, fixing several security issues.
    • Fixed an issue where images were not tracking premultiplication status.
    • Fixed an issue where ICC color profiles were not passed through systems correctly.
    • Fixed an issue where colors were not clamped to [0,1] during setup for Image Super-Resolution.
    • Fixed an issue where Wrap To Output Range didn’t wrap large positive values.
    • Fixed an issue where setting the Gaussian Blur radius to a negative number would cause a fallback to CPU image processing.
    • Indented the Compression Quality and Scale and Bias sections.
    • Improved the error message for attempting to use Image Super-Resolution on a GPU without Tensor Cores.
    2021.1.1
    • Added NGX Super-Resolution effect for Turing+ GPUs.
    • Added KTX and KTX2 file format readers as well as support for exporting KTX2 files.
    • Added window resizing and high-DPI support.
    • Faster, lower-memory image processing.
    • Image effects now run on a background thread, making the user interface respond faster with larger images.
    • Added Boris Ustaev’s image drag-and-drop UI.
    • Fixed an issue where the Photoshop plugin would choose the wrong channel for alpha when the Photoshop file didn’t have a background layer and had a user-provided alpha channel.
    • Fixed an issue where using two identical GPUs in a non-SLI configuration without a specified CUDA device would lead to image corruption.
    • Fixed issues with compressor nondeterminism on cubemap textures.
    • Support reading legacy DDS files where dwMipMapCount is 0.
    • Updated NVTT to version 3.1.6.
    2020.1.3
    • Both the plugin and the standalone exporter now export using DX9-style DDS headers when they can (i.e. without the DX10 header extension). Added an option to always use the DX10 header extension, which is disabled by default. This should improve compatibility with older DDS readers. The corresponding command-line flag is --dx10.
    • Added support for read settings in the plugin. These settings are automatically saved in the registry. If you’ve hidden the read settings window, you can re-enable it from the About box.
    • Added support in the plugin for reading mipmaps of DDS files as layers.
    • Added support in the plugin for reading alpha channels of DDS files as extra channels instead of transparency.
    • Added support for reading three nonstandard BC6/BC7 FourCC codes (BC6H, BC7L, and BC7\0).
    • Added the ability to read and save images flipped vertically. The corresponding command-line options are --read-flip-y and --save-flip-y.
    • Switched to using FreeImage instead of OpenImageIO in the standalone exporter for import and export of non-DDS images.
    • BC1a, BC2, and BC3’s Fastest modes now use the GPU for compression.
    • Fixed a bug where RGB values of fully transparent pixels (with alpha equal to 0) would be set to 0 as a result of internal premultiplication.
    • Fixed a bug where the standalone exporter would read TIFF files without an ICC profile using linear-space instead of sRGB colors.
    2020.1.2
    • Fixed an issue where the standalone exporter would read some file types with inconsistent premultiplied alpha.
    • Fixed an issue where the standalone exporter would read PSD files without a specified color profile as if they contained linear colors instead of sRGB colors.
    2020.1.1
    • Fixed an issue where the standalone exporter would interpret some file formats without ICC profiles or specified oiio:ColorSpace values with the incorrect color space.
    • Updated credits.
    • Fixed an inaccuracy in the tooltips for BC1-BC5, where it talks about how palette elements are distributed between endpoints.

    On Linux, the NVIDIA Texture Tools 3 are available as a standalone SDK.




    KEY FEATURES



    Compression


    • Supports BC1 - BC7 and ASTC texture compression
    • CUDA-accelerated texture compressors allow you to compress higher-quality images in less time
    • Four compression quality settings
    • Reads more than 130 DXGI and ASTC formats
    • Real-time compression preview
    Click on image to see at full resolution





    Cube Mapping


    • Create cube maps from 2D images
    • Customizable coordinate system conversion for normal-mapped cube maps
    • Support for unfolded and linear-format cube maps





    Mipmapping


    • Mipmap generation: Customizable filtering and color handling
    • Mipmap generation: Slope-space mipmapping for normal maps
    • Mipmapped alpha cutout correction ensures that alpha cutout textures cover roughly the same area regardless of level of detail.





    Normal Maps


    • Customizable normal map generation
      • 7 heightmap generation methods
      • 6 derivative filters
    • Export normal maps in tangent-space or object-space



    Transparency


    • Export textures with premultiplied alpha
    • Generate alpha cutout textures with or without dithering
    • Linear-space premultiplied alpha image processing
    Click on image to see at full resolution



    Additional Features


    • Automatable workflow: Command-line interface (standalone version) and Actions support (Adobe Photoshop plugin)
    • Fast batch scripting support (standalone version)
    • Reads images with ICC v4 color profiles
    • Supports exporting images with premultiplied alpha applied
    • Falls back to CPU when workload exceeds GPU memory



    Resources