Skip to content
This repository has been archived by the owner on May 18, 2022. It is now read-only.
/ libktx-rs Public archive

Reading, writing, transcoding Khronos Textures in Rust. Bindings to KhronosGroup/KTX-Software.

License

Notifications You must be signed in to change notification settings

UberLambda/libktx-rs

Repository files navigation

Archived: put in the backlog for now...


libktx-rs

crates.io docs.rs license CI status

A library for reading, writing and transcoding Khronos Textures (KTX1 and KTX2) in Rust.

This repository contains both high-level Rust bindings and low-level FFI to KhronosGroup/KTX-Software.

Structure

Docs

See https://docs.rs/libktx-rs for the latest documentation of the high-level API, and https://docs.rs/libktx-rs-sys for the low-level FFI.

Building and features

Clone this root repository and all git submodule (git clone --recursive https://github.com/UberLambda/libktx-rs), then run cargo build.

Image writing

To enable KTX image writing support (which is already enabled in the default feature set), enable the libktx-rs/write feature.

Image-based tests

To enable image loading tests, clone the libktx-rs-sys/KTX-Software submodule with git LFS support, then enable the libktx-rs-sys/test-images feature.

rust-bindgen at build time

To have rust-bindgen generate bindings in the build script (instead of using the pre-generated ones), enable the libktx-rs-sys/run-bindgen feature.

Docs-only

To skip building or linking KTX-Software altogether, enable the libktx-rs-sys/docs-only feature.

License

This Rust wrapper, and the KTX-Software library itself, are both licensed under the Apache-2.0 license.

Linux and GCC

Note that the library links to libstdc++, which is licensed under LGPL with the "Runtime Library Exception".

License exception

If the ETC decoder is enabled, the build will contain a proprietary source code file by Ericsson - KTX-Software/lib/etcdec.cxx!
Building this file is optional, and it is disabled by default. Build libktx-rs-sys with the nonfree-etc-unpack to enable this feature if you agree with the terms of the license.

See the original LICENSE for more information.

About

Reading, writing, transcoding Khronos Textures in Rust. Bindings to KhronosGroup/KTX-Software.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages