2个不稳定版本
0.1.0 | 2022年6月5日 |
---|---|
0.0.0 | 2022年4月9日 |
#793 in 图形API
每月下载21次
用于 鲔鱼
42KB
905 行
⚠️ 免责声明:鲔鱼处于开发初期。API可能会更改,许多基本功能缺失,本README的部分内容可能无法反映Crate的当前状态。我建议不要将其用于您的项目,但对于那些勇敢的人,现在是提出建议和功能请求的时候了!
目标
- 简单、现代、安全的API
- 快速的编译时间,干净的构建
- 可移植性;仅依赖于
core
、alloc
和渲染后端 - 透明的实现;内部抽象最少,易于理解或修改
非目标
- 窗口或上下文创建(请使用
glutin
、sdl2
等) - “高级”功能(请直接使用
wgpu
或Vulkan/Metal/DirectX/...) - 着色器翻译(请使用
naga
或SPIRV-cross) - GPU端安全保证;API是安全的Rust,但仍可能产生崩溃或UB
平台支持
已实现
- Windows(OpenGL通过
glow
) - OS X(OpenGL通过
glow
) - Linux(OpenGL通过
glow
*) - Android(OpenGL ES通过
glow
*) - iOS(OpenGL ES通过
glow
*)
* 未测试。理论上它们应该可以工作,但如果它们不起作用,请不要惊讶。在这种情况下,请打开一个issue或PR。
期望
- Web(WebGL);这应该使用
glow
非常简单,但可能不理想地依赖于web-sys
- OS X/iOS(Metal);Apple已弃用OpenGL,尽管OpenGL可能不会很快消失,但Metal应该用于未来证明
致谢
- sokol_gfx,一个用于C的出色的单文件图形库,也是API灵感的来源之一(《sokol_gfx.h 漫游》)
- miniquad,一个受sokol_gfx启发的优秀Rust库
依赖项
~1.9–3MB
~71K SLoC