3 个不稳定版本
0.2.0 | 2024年4月28日 |
---|---|
0.1.1 | 2024年1月9日 |
0.1.0 | 2024年1月8日 |
#104 in 模拟
每月下载量31次
用于 isaac_sim
96KB
1.5K SLoC
omniverse_rs
Rust 接口用于 NVIDIA 奥米尼维尔。
状态
该项目处于早期开发阶段,尚未准备好用于生产。目前并未全部暴露奥米尼维尔工具包 API。
文档和示例目前不足,但在存储库更稳定后将成为重点。
概述
工作空间包含以下包
- omniverse_sys: 奥米尼维尔的不安全 Rust 绑定
- omniverse: 奥米尼维尔的安全 Rust 绑定(进行中)
大部分绑定是通过使用 autocxx 从奥米尼维尔头文件自动生成的,而一些则是通过 rust-cpp 手写。如果启用了 vendored
功能,奥米尼维尔工具包可以在 cargo 构建过程中自动下载。
依赖关系
完整的依赖关系列表可以在 Dockerfile
中找到。
说明
Rust
将 omniverse
添加为 Rust 依赖项到您的 Cargo.toml
清单中。
[dependencies]
omniverse = { version = "0.2" }
请注意,第一次构建可能需要长达 1 小时,因为将自动下载 OpenUSD 和奥米尼维尔工具包,并且启用了 vendored
功能(大部分时间用于编译 OpenUSD)。工件将被缓存在 OUT_DIR
中,并在后续构建中重用。
或者,您可以通过以下环境变量指定现有 OpenUSD 和奥米尼维尔工具包安装目录的路径。
export OPENUSD_PATH=/path/to/pxr/openusd
export CARB_APP_PATH=/path/to/omniverse/kit
强烈建议使用 lld
或 mold
链接器,因为 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 项目兼容,可在 MIT 或 Apache 2.0 许可证下使用。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证定义,均将按上述方式双许可,而无需任何额外的条款或条件。
依赖关系
~4–11MB
~208K SLoC