Crate basis_universal[][src]

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 transcoding::*;
pub use encoding::*;
pub use basis_universal_sys as sys;

Modules

encoding

Support for compressing raw image data to basis-universal form

transcoding

Support for transcoding basis-universal form to GPU-friendly formats.

Structs

UserData

Arbitrary data that can be attached to a basis-universal file/binary blob

Constants

ETC1S_QUALITY_DEFAULT

The default quality level used if CompressorParams::set_etc1s_quality_level is not called

ETC1S_QUALITY_MAX

The maximum quality level that can be provided to CompressorParams::set_etc1s_quality_level

ETC1S_QUALITY_MIN

The minimum quality level that can be provided to CompressorParams::set_etc1s_quality_level

IMAGE_DIMENSION_MAX

Maximum supported image dimension

TEXTURE_DIMENSION_MAX

Maximum supported texture dimension

UASTC_QUALITY_DEFAULT

The default quality level used if CompressorParams::set_uastc_quality_level is not called

UASTC_QUALITY_MAX

The maximum quality level that can be provided to CompressorParams::set_uastc_quality_level

UASTC_QUALITY_MIN

The minimum quality level that can be provided to CompressorParams::set_uastc_quality_level