4 个版本

0.2.0 2024年4月27日
0.1.2 2024年1月9日
0.1.1 2024年1月8日
0.1.0 2024年1月5日

#234仿真

Download history 44/week @ 2024-04-21 247/week @ 2024-04-28 4/week @ 2024-05-05 31/week @ 2024-05-12 48/week @ 2024-05-19 24/week @ 2024-05-26 15/week @ 2024-06-02 13/week @ 2024-06-09 21/week @ 2024-06-16 22/week @ 2024-06-23 4/week @ 2024-06-30 2/week @ 2024-07-07 46/week @ 2024-07-14 19/week @ 2024-07-21 11/week @ 2024-07-28

每月 78 次下载
5 个库中使用 (通过 pxr_sys)

MIT/Apache

18KB
232

pxr_rs

crates.io Rust Docker deps.rs codecov.io

Rust的OpenUSD接口。

状态

此项目处于早期开发阶段,不适合生产使用。目前并未完全暴露OpenUSD API。

文档和示例目前尚缺,但在库更加稳定后将成为重点。

目前,主要通过通过 pxr_sys的默认功能 编译的OpenUSD 22.11是开发的主要目标。

概述

工作空间包含以下包

  • pxr_build: 构建OpenUSD绑定的辅助库
  • pxr_sys: OpenUSD的不可安全Rust绑定
  • pxr: OpenUSD的安全Rust绑定(进行中)

大多数绑定是通过使用 autocxx 从OpenUSD头文件自动生成的,而一些是通过 rust-cpppxr_build 内部的宏手动编写的。如果启用了 vendored 功能,可以在cargo构建过程中自动下载和编译OpenUSD的C++库。

依赖关系

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

启用其他非默认功能可能需要额外的依赖。目前尚未测试/记录。

说明

Rust

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

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

请注意,第一次构建可能需要长达50分钟,因为 OpenUSD 将自动下载并使用 vendored 功能编译。工件将被缓存到 OUT_DIR 并用于后续构建。

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

export OPENUSD_PATH=/path/to/pxr/openusd

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

Docker

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

.docker/host/install_docker.bash

构建镜像

要基于 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}

免责声明

本项目与 OpenUSD 联盟(AOUSD)无关。

许可

本项目采用双许可模式,以兼容 Rust 项目,根据 MIT 或 Apache 2.0 许可证。

贡献

除非您明确表示,否则任何旨在包含在本作品中的贡献(根据 Apache-2.0 许可证定义),都将根据上述条款双许可,不附加任何额外条款或条件。

依赖关系

~4–13MB
~165K SLoC