nvtt is a library for converting textures into common compressed formats for use with graphics APIs. See the wiki for more info.
use nvtt_rs::{Compressor, CompressionOptions, Format, InputOptions, OutputOptions};
let input_options = InputOptions::new()?;
let mut output_options = OutputOptions::new()?;
output_options.set_output_location("output.dds");
let mut compression_opts = CompressionOptions::new()?;
compression_opts.set_format(Format::Dxt1);
let mut compressor = Compressor::new()?;
compressor.compress(&compression_opts, &input_options, &output_options)?;
This feature provides the convenience method InputOptions::set_image
, which
can be used to configure the InputOptions
directly from types provided by the
image
crate.
Only a limited number of image formats are supported, although this library can
provide automatic conversions from a DynamicImage
. See the ValidImage
type for more information.
This crate requires a valid cmake installation and a C++ compiler to build.
This crate requires a valid installation of Visual Studio.
This crate does not currently work on Microsoft Windows due to incomplete work on the build system.