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次下载

BSD-3-Clause

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