18个版本
0.8.0 | 2023年10月27日 |
---|---|
0.7.1 | 2023年5月1日 |
0.7.0 | 2023年4月16日 |
0.2.1 | 2022年10月19日 |
0.1.0 | 2020年3月11日 |
#3 in #光照
每月 57 次下载
在 7 个crate中使用(通过 nsi-core)
13KB
118 代码行
nsi-sys
为 Illumination Research 的 Nodal Scene Interface 自动生成的Rust绑定 – ɴsɪ。
除非有特殊情况,否则您不需要直接使用此crate。您可能是以下两种情况之一:
- 一个希望直接从Rust使用C-API的受虐狂。
- 对您的高级Rust绑定不满意(见下文) – 考虑在此处打开一个问题。
- 编写一个暴露ɴsɪ C-API的渲染器。
高级绑定
在 ɴsɪ crate 中提供了此API的高级Rust绑定。
与C API的差异
所有 enum
都已经转换为Rust enum
。
去除了枚举和结构体类型名称的词缀。
去除了枚举变体的前缀和后缀。
NSIType_t
::NSITypeInvalid
⟶ NSIType
::Invalid
原因:使用绑定使代码更简洁、更易于阅读。
最后,NSIParamFlags
是一个包装C-API标志的 bitflags
结构体,用于提高可读性。
编译-与运行时
crate以默认功能构建。
然而,在运行时此crate需要实现ɴsɪ C-API的库/渲染器进行链接。目前唯一的渲染器是 3Delight。
功能
-
download_lib3delight
– 获取Linux、macOS或Windows的 3Delight 2.1.2 的动态库版本。这可以作为后备选项,在没有在您的系统上安装渲染器的情况下构建。但这是一个3Delight的老版本,首先是CI功能。
建议您下载适用于您平台的3Delight包并安装它。这将设置构建脚本正在寻找的
DELIGHT
环境变量,以查找本地安装的库进行链接。免费版本可渲染至多12个核心。这还将安装3Delight Display,您可以将渲染输出到其中,这有助于调试。
-
link_lib3delight
– 链接到3Delight的动态库版本。需要设置DELIGHT
环境变量。 -
omit_functions
– 省略为API函数生成绑定。这适用于您想从渲染器中公开自己的C-API钩子的情况。
许可证
Apache-2.0 OR BSD-3-Clause OR MIT OR Zlib
任选其一。
依赖项
~0–2MB
~38K SLoC