Crates.io | nsi-sys |
lib.rs | nsi-sys |
version | 0.8.0 |
source | src |
created_at | 2020-03-11 04:08:46.555426 |
updated_at | 2023-10-27 19:22:43.686986 |
description | Auto-generated bindings for Illumination Research’s Nodal Scene Interface – ɴꜱɪ. |
homepage | |
repository | https://github.com/virtualritz/nsi-sys/ |
max_upload_size | |
id | 217441 |
size | 18,365 |
nsi-sys
Auto-generated Rust bindings for Illumination Research’s Nodal Scene Interface – ɴsɪ.
You should not need to use this crate directly except for two reasons. You are likely either:
There are high level Rust bindings for this API in the ɴsɪ crate.
All enum
s have been rustified – they were mapped to actual Rust enum
s.
Postfixes were stripped on enum
and struct
type names. E.g.:
NSIParam_t
⟶ [NSIParam
]
Prefixes and postfixes were stripped on enum
variants. E.g.:
NSIType_t
::NSITypeInvalid
⟶ [NSIType
]::Invalid
Rationale: make code using the bindings a bit less convoluted resp. easier to read.
Finally, [NSIParamFlags
] is a bitflags
struct
that wraps the NSIParam*
flags from the C-API for ergonomics.
The crate builds as-is, with default features.
However, at runtime this crate requires a library/renderer that implements the ɴsɪ C-API to link against. Currently the only renderer that does is 3Delight.
download_lib3delight
– Fetches the dynamic library version of 3Delight
2.1.2 for Linux, macOS or Windows.
This can be used as a fallback, to build against, if you do not have the renderer installed on your system. But it is an old version of 3Delight and foremost a CI feature.
It is instead suggested that you download a 3Delight
package for your platform & install
it. This will set the DELIGHT
environment variable that the build
script is looking for to find a locally installed library to link
against. Free version renders with up to 12 cores.
This will also install 3Delight Display which you can render to, progressively – useful for debugging.
link_lib3delight
– Links against the dynamic library version of
3Delight. Requires the DELIGHT
environment variable to be set.
omit_functions
– Omit generating bindings for the API's functions. This
is for the case where you want to expose your own C-API hooks from your
renderer.
Apache-2.0 OR BSD-3-Clause OR MIT OR Zlib
at your option.