#vfx #unsafe-bindings #usd #omniverse

sys omniverse_sys

Rust的Omniverse接口

3个不稳定版本

0.2.0 2024年4月28日
0.1.1 2024年1月9日
0.1.0 2024年1月8日

#432模拟

每月 44 次下载
2 个软件包中使用(通过 omniverse

MIT/Apache

86KB
1.5K SLoC

omniverse_rs

crates.io Rust Docker deps.rs codecov.io

Rust接口用于NVIDIA Omniverse

状态

该项目处于早期开发阶段,尚未准备好用于生产。目前没有公开所有Omniverse Kit API。

文档和示例目前尚未提供,但将在软件包更稳定后成为焦点。

概述

工作空间包含以下包

大部分绑定都是通过autocxx从Omniverse头文件自动生成的,而一些则是通过rust-cpp手动编写的。如果启用了vendored功能,Omniverse Kit可以在Cargo构建过程中自动下载。

依赖关系

完整的依赖列表可以在Dockerfile中找到。

说明

Rust

omniverse作为Rust依赖项添加到您的Cargo.toml清单中。

[dependencies]
omniverse = { version = "0.2" }

请注意,第一次构建可能需要1小时,因为OpenUSD和Omniverse Kit将自动下载(大部分时间用于编译OpenUSD)。艺术品将被缓存在OUT_DIR并用于后续构建。

或者,您可以通过以下环境变量指定现有OpenUSD和Omniverse Kit安装目录的路径。

export OPENUSD_PATH=/path/to/pxr/openusd
export CARB_APP_PATH=/path/to/omniverse/kit

强烈建议使用lldmold链接器,因为ld可能会失败。

Docker

要在您的系统上安装 Docker,您可以运行 .docker/host/install_docker.bash 来配置支持 NVIDIA GPU 的 Docker。

.docker/host/install_docker.bash

通过运行 Docker 容器,您隐式地同意了 NVIDIA Omniverse EULA。如果您不同意此许可协议,请勿使用此容器。

构建镜像

要从 Dockerfile 构建新的 Docker 镜像,您可以运行如下所示的 .docker/build.bash

.docker/build.bash ${TAG:-latest} ${BUILD_ARGS}

运行容器

要运行 Docker 容器,您可以使用如下所示的 .docker/run.bash

.docker/run.bash ${TAG:-latest} ${CMD}

运行开发容器

要开发模式(将源代码作为卷挂载)运行 Docker 容器,您可以使用如下所示的 .docker/dev.bash

.docker/dev.bash ${TAG:-latest} ${CMD}

作为替代方案,熟悉 Dev Containers 的 VS Code 用户可以修改包含的 .devcontainer/devcontainer.json。为了方便起见,提供了 .devcontainer/open.bash 脚本来在 VS Code 中将此存储库作为 Dev Container 打开。

.devcontainer/open.bash

加入容器

要从另一个终端加入正在运行的 Docker 容器,您可以使用如下所示的 .docker/join.bash

.docker/join.bash ${CMD:-bash}

免责声明

此项目与 NVIDIA 公司无关。

许可

此项目采用双重许可,以与 Rust 项目兼容,可以在 MITApache 2.0 许可证下使用。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,将如上所述双重许可,无需任何额外条款或条件。

依赖关系

~4–11MB
~206K SLoC