3 个版本
0.1.2 | 2023 年 11 月 16 日 |
---|---|
0.1.1 | 2023 年 11 月 15 日 |
0.1.0 | 2023 年 11 月 15 日 |
#372 in 渲染
每月 21 次下载
在 2 个crate中使用(通过 delight)
15KB
165 行
delight-sys
为 Illumination Research 的 3Delight 渲染器实用 API 自动生成的 Rust 绑定。
除非以下两种原因,您不需要直接使用此 crate。您可能是
-
一个想直接从 Rust 使用 C-API 的受虐狂。
-
对我的高级 Rust 绑定不满意(见下文)- 考虑在这里打开一个问题。
高级绑定
此 API 的高级 Rust 绑定在 delight
crate 中。
编译-与-运行时
此 crate 使用默认功能编译。
然而,在运行时,此 crate 需要一个实现相应 C-API 的库/渲染器来链接。目前唯一做到这一点的渲染器是 3Delight。
Cargo 功能
-
download_lib3delight
-- 从 Linux、macOS 或 Windows 获取 3Delight 的动态库版本。这可以用作后备方案,以构建,如果您没有在系统上安装渲染器。但它是一个旧的 3Delight 版本,首先是一个 CI 功能。建议您下载适用于您的平台的 3Delight 软件包并安装它。这将设置构建脚本正在寻找的
DELIGHT
环境变量,以找到要链接的本地库。这将还安装 3Delight Display,您可以将渲染输出到其中,逐步--这对于调试很有用。
免费版本最多使用 12 个核心进行渲染。
-
link_lib3delight
-- 在构建过程中静态链接到 `lib3dlight`。这需要 3Delight 安装,除非设置了
download_lib3delight
。另请参阅下一节。
链接样式
在构建过程中可以将 3Delight 动态库(lib3delight
)链接到,或在运行时加载。
-
默认情况下,
lib3deligh
在运行时加载。这有几个优点-
如果您分发应用程序或库,您可以不包含库进行分发。它仍然可以运行,如果库无法加载,将会打印出信息性错误。
-
用户可以安装渲染器的更新版本,一切将“正常工作”。
-
-
动态链接到
lib3delight
。-
该功能称为
link_lib3delight
。在这种情况下,您应该禁用默认功能(它们不需要/使用)[dependencies] delight-sys = { version = "0.8", default-features = false, features = ["link_lib3delight"] }
-
lib3delight
成为依赖项。如果在运行时系统动态链接器找不到它,您的库/应用程序将无法加载/启动。
-
依赖项
~0.1–2.2MB
~39K SLoC