========
Rust bindings for Intel's ISPC texture compressor.
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:
cargo build --features=ispc
- ISPC compiler:
- Also need
libclang
installed (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
- BC1, BC3 (aka DXT1, DXT5) and BC4, BC5 (aka ATI1N, ATI2N)
- BC6H (FP16 HDR input)
- BC7
- ETC1
- ASTC (LDR, block sizes up to 8x8)
- Work in progress
Add this to your Cargo.toml
:
[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.
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.