Rust bindings for Intel's ISPC texture compressor.
State of the art texture compression for BC6H, BC7, ETC1, ASTC and BC1/BC3.
libclang are not required, unless regenering the ISPC kernels:
cargo build --features=ispc
- ISPC compiler:
- Also need
libclanginstalled (for rust-bindgen)
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:
- BC1, BC3 (aka DXT1, DXT5)
- BC6H (FP16 HDR input)
Pending compression formats:
- ASTC (LDR, block sizes up to 8x8)
- Work in progress
Add this to your
[dependencies] intel_tex = "0.1.4"
and add this to your crate root:
extern crate intel_tex;
$ 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
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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 intel_tex crate is organized under the terms of the Contributor Covenant, the maintainer of intel_tex, @gwihlidal, promises to intervene to uphold that code of conduct.