Crate basis_universal
source ·Expand description
Bindings for Binomial LLC’s basis-universal Supercompressed GPU Texture Codec
basis-universal functionality can be grouped into two categories:
- Encoding: Compresses and encode textures (optionally combining multiple images and mipmap layers in a single file/binary blob)
- Transcoding: Unpacks the texture into GPU-friendly compression formats. The final format can be chosen based on what the available GPU hardware can support.
Encoding can be done ahead of time using a command line tool in the upstream repository.
The encoded data can either be stored as a file or a binary blob. This data can include multiple images, and each image can store multiple levels. This is commonly used for storing cube textures and textures with precomputed mipmaps. This library also supports generating mipmaps for you.
Please refer to https://github.com/BinomialLLC/basis_universal for more details.
Re-exports
pub use basis_universal_sys as sys;
pub use transcoding::*;
pub use encoding::*;
Modules
- Support for compressing raw image data to basis-universal form
- Support for transcoding basis-universal form to GPU-friendly formats.
Structs
- Arbitrary data that can be attached to a basis-universal file/binary blob
Constants
- The default quality level used if CompressorParams::set_etc1s_quality_level is not called
- The maximum quality level that can be provided to CompressorParams::set_etc1s_quality_level
- The minimum quality level that can be provided to CompressorParams::set_etc1s_quality_level
- Maximum supported image dimension
- Maximum supported texture dimension
- The default quality level used if CompressorParams::set_uastc_quality_level is not called
- The maximum quality level that can be provided to CompressorParams::set_uastc_quality_level
- The minimum quality level that can be provided to CompressorParams::set_uastc_quality_level