6个版本
0.3.3 | 2021年9月11日 |
---|---|
0.3.2 | 2021年8月5日 |
0.2.4 | 2021年6月21日 |
0.1.0 |
|
#114 in #纹理
每月31次下载
用于 hotham
13MB
181K SLoC
libktx-rs
一个用于在Rust中读取、写入和转码Khronos Textures (KTX1和KTX2)的库。
此存储库包含对KhronosGroup/KTX-Software的高级Rust绑定和低级FFI。.
结构
- libktx-rs 包含高级Rust包装器。
- libktx-rs-sys 包含低级C FFI,并从源代码构建KTX-Software。
- libktx-rs-macros 包含测试辅助工具。
文档
请参阅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 以启用此功能,如果您同意许可证条款。
有关更多信息,请参阅 原始许可证。