4个版本 (破坏性更新)
0.4.0 | 2024年3月22日 |
---|---|
0.3.0 | 2023年11月18日 |
0.2.0 | 2023年5月31日 |
0.1.1 | 2023年1月26日 |
0.1.0 |
|
#726 in 图形API
每月29次下载
用于 4 crate
2.5MB
9K SLoC
Blade Graphics
Blade-graphics 是一个针对人体工程学和娱乐的轻量级 GPU抽象层。详情请参阅 动机,常见问题解答,和 性能。
示例
平台
后端会根据宿主平台自动选择
- Vulkan 在桌面Linux、Windows和Android上
- Metal 在桌面macOS和iOS上
- OpenGL ES3 在Web上
功能 | Vulkan | Metal | GLES |
---|---|---|---|
compute | ✅ | ✅ | |
光线追踪 | ✅ |
OpenGL ES
GLES也以基本级别支持。它对wasm32-unknown-unknown
目标启用,也可以在本地强制启用
RUSTFLAGS="--cfg gles" CARGO_TARGET_DIR=./target-gl cargo test
此路径可以通过Angle库在所有平台上激活。例如,在macOS上,只需将libEGL.dylib
和libGLESv2.dylib
放置在工作目录中即可。
WebGL2
以下命令将启动一个提供bunnymark
示例的Web服务器
cargo run-wasm --example bunnymark
Vulkan可移植性
首先,请确保从Vulkan SDK加载环境
cd /opt/VulkanSDK && source setup-env.sh
可以使用"vulkan"配置标志强制使用Vulkan后端。以下示例调用将生成一个将vulkan(可移植性)构建到另一个目标文件夹的调用
RUSTFLAGS="--cfg vulkan" CARGO_TARGET_DIR=./target-vk cargo test
依赖关系
~5–18MB
~246K SLoC