#纹理 #绑定 #图像 #图形 #ktx #API绑定

libktx-rs

读取、写入和转码Khronos纹理(KTX1和KTX2)

6个版本

0.3.3 2021年9月11日
0.3.2 2021年8月5日
0.2.4 2021年6月21日
0.1.0 2021年6月13日

#114 in #纹理

每月31次下载
用于 hotham

Apache-2.0

13MB
181K SLoC

C++ 112K SLoC // 0.1% comments C 44K SLoC // 0.3% comments JavaScript 10K SLoC // 0.3% comments Bitbake 6K SLoC Rust 4.5K SLoC // 0.0% comments Python 3K SLoC // 0.4% comments Perl 769 SLoC // 0.2% comments Shell 581 SLoC // 0.3% comments

libktx-rs

crates.io docs.rs license CI status

一个用于在Rust中读取、写入和转码Khronos Textures (KTX1和KTX2)的库。

此存储库包含对KhronosGroup/KTX-Software高级Rust绑定低级FFI.

结构

文档

请参阅https://docs.rs/libktx-rs获取高级API的最新文档,以及https://docs.rs/libktx-rs-sys获取低级FFI的文档。

构建和功能

克隆此根存储库及其所有git子模块(git clone --recursive https://github.com/UberLambda/libktx-rs),然后运行cargo build

图像写入

要启用KTX图像写入支持(已在默认功能集中启用),请启用libktx-rs/write功能。

基于图像的测试

要启用图像加载测试,请使用git LFS支持克隆libktx-rs-sys/KTX-Software子模块,然后启用libktx-rs-sys/test-images功能。

构建时使用rust-bindgen

要使用 rust-bindgen 在构建脚本中生成绑定(而不是使用 预生成的绑定),启用 libktx-rs-sys/run-bindgen 功能。

仅文档

要完全跳过构建或链接 KTX-Software,启用 libktx-rs-sys/docs-only 功能。

许可证

这个 Rust 包装器和 KTX-Software 库本身都受 Apache-2.0 许可证 许可。

Linux 和 GCC

请注意,该库链接到 libstdc++,它受 LGPL 带有“运行库异常” 许可。

许可证例外

如果启用了 ETC 解码器,构建中将包含由 Ericsson 提供的专有源代码文件 - KTX-Software/lib/etcdec.cxx
构建此文件是可选的,默认情况下是禁用的。使用 nonfree-etc-unpack 构建 libktx-rs-sys 以启用此功能,如果您同意许可证条款。

有关更多信息,请参阅 原始许可证

依赖项