#bindings #arm #encoder #astc #testing #astcenc #astc-encoder

astcenc-rs

Idiomatic Rust bindings to the official ASTC encoder library from ARM

2 releases

0.1.1 Jan 9, 2025
0.1.0 Oct 11, 2020

#175 in Compression

Download history 4/week @ 2024-09-25 1/week @ 2024-10-02 4/week @ 2024-10-09 9/week @ 2024-10-16 1/week @ 2024-10-30 1/week @ 2024-11-06 149/week @ 2025-01-08

149 downloads per month

Unlicense

14MB
111K SLoC

C++ 62K SLoC // 0.2% comments C 41K SLoC // 0.1% comments Python 6.5K SLoC // 0.4% comments Rust 815 SLoC // 0.0% comments Bazel 720 SLoC // 0.1% comments Shell 144 SLoC // 0.4% comments

astcenc - ASTC Encoder/Decoder for Rust

This library implements safe, ergonomic bindings for ARM's astc-encoder C/C++ library. The usage is simple and the bindings have comprehensive tests.

Usage

See examples.


lib.rs:

ASTC Encoding

This is a library to encode images as ASTC for use on a GPU with hardware compression support. It is implemented as bindings to ARM's official astc-encoder library.

In order to use the images generated by this library directly on the GPU, you need ensure that the GPU you're running on has support for ASTC, which can be queried with the Vulkan textureCompressionASTC_* flags (one flag for each of the modes in Profile).

Dependencies