11个不稳定版本 (5个破坏性更新)
0.6.1 | 2022年4月13日 |
---|---|
0.6.0 | 2021年12月31日 |
0.5.0 | 2021年11月26日 |
0.4.0 | 2021年6月29日 |
0.1.0 | 2020年7月16日 |
#811 in 图形API
每月27次下载
390KB
7K SLoC
luminance-front
luminance,但编译时选择后端类型。
这个crate重新导出了luminance的所有luminance类型、方法和任何需要后端类型变量的符号(通常写作B
),通过选择正确的类型来适应你目标平台和/或功能标志。选择主要在Cargo.toml
文件中自动完成,并可以针对每个目标定制你想要选择的后端。
重要说明:这个crate的存在是为了满足那些不关心泛型的人的需求,他们可以开始使用luminance而不用担心后端实现。这对于编写小二进制文件、“最终”图形库和/或2D/3D/动画引擎等的人来说很适用。如果你正在编写luminance中间件,请坚持使用luminancecrate及其多态类型。
即使一些符号在luminance中不是后端类型变量的多态,也会重新导出。这只是为了方便。
文档
因为此crate重新导出了luminance的内容,所以强烈建议您阅读luminance上的文档。文档不会在此处重复。
如何设置
为了获得入门体验,您不需要做任何具体的事情:只需将luminance-front
添加为直接依赖项即可
[dependencies]
luminance-front = "…"
这将为目标选择luminance的一个luminance默认后端实现。有关更多信息,请参阅下面的功能列表。
要切换目标使用,建议您将一个 .cargo/config
文件放在您的项目目录中,或者使用 --target
选项进行编译。
默认设置将提供适用于所有支持目标的默认实现,应该可以在尽可能多的机器上运行良好。如果您出于某些原因想要选择另一个实现(例如,WebGL、OpenGL的旧版本或更现代的实验性实现),您将不得不使用特定的平台特性,例如 "gl33"
。
[dependencies]
luminance-front = { version = "…", no-default-features = true, features = ["gl33", "webgl2"] }
如您所见,您可以在同一时间指定不同目标的功能。目标功能在 lib.rs
中进行检查,因此可以在同一时间定义OpenGL和WebGL功能。当前目标将缩小使用哪一个。
特性列表
- 默认:
["gl33", "webgl2"]
。 - OpenGL:
"gl33"
:OpenGL 3.3 实现。
- WebGL 2:
"webgl2"
:WebGL 2 实现。
依赖项
~0–1.4MB
~26K SLoC