Rust bindings for ISPC Texture Compressor

Latest version Documentation CI MIT APACHE2 Contributor Covenant

Banner

About

This is a forked crate from from Graham Wihlidal's rust bindings repo for the ISPC texture compressor. The fork includes updates to the latest Intel ISPC texture compression, as well as some patches that were required to make it useful in production.

State of the art texture compression for BC6H, BC7, ETC1, ASTC and BC1/BC3.

ISPC and libclang are not required, unless regenerating the ISPC kernels:

console $ cargo build --features=ispc

For convenience, ISPC binaries for macOS, Linux, and Windows are in the repository (but not the crate).

Additionally, libclang exists in the LLVM installer for Windows, also included. https://github.com/gwihlidal/intel-tex-rs/tree/master/dependencies

Supported compression formats:

Pending compression formats:

Usage

Add this to your Cargo.toml:

toml [dependencies] intel_tex_2 = "0.2.2"

Example

```console $ cargo run --release --example main

Width is 4096 Height is 4096 ColorType is RGB(8) Converting RGB -> RGBA Block count: 1048576 Compressing to BC7... Done! Saving lambertian.dds file ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Contributions are always welcome; please look at the issue tracker to see what known improvements are documented.

Code of Conduct

Contribution to the inteltex2 crate is organized under the terms of the Contributor Covenant, the maintainers of inteltex2, Traverse Research BV, promise to intervene to uphold that code of conduct.