这是indexloc提供的服务,不要输入任何密码
Skip to content

dgovil/USD

 
 

Universal Scene Description

Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications.

For more details, please visit the web site here.

Build Status

Linux Windows macOS
dev Build Status Build Status Build Status
release Build Status Build Status Build Status

Additional Documentation

Getting Help

Need help understanding certain concepts in USD? See Getting Help with USD or visit our forum.

If you are experiencing undocumented problems with the software, please file a bug. If you need to report a security issue with the software, please review the Security Policy.

Supported Platforms

USD is primarily developed on Linux platforms (CentOS 7), but is built, tested and supported on macOS and Windows.

It is also possible to build USD libraries that can be embedded in iOS and visionOS apps.

Please see VERSIONS.md for explicitly tested versions.

Dependencies

Required:

See 3rd Party Library and Application Versions for version information.

Additional dependencies are required for the following components. These components may be disabled at build-time. For further details see Advanced Build Configuration.

Imaging and USD Imaging

Required:

Optional:

Python Bindings

Required:

usdview

Required:

Getting and Building the Code

The simplest way to build USD is to run the supplied build_usd.py script. This script will download required dependencies and build and install them along with USD in a given directory.

Follow the instructions below to run the script with its default behavior, which will build the USD core libraries, Imaging, and USD Imaging components. For more options and documentation, run the script with the --help parameter.

See Advanced Build Configuration for examples and additional documentation for running cmake directly.

1. Install prerequisites (see Dependencies for required versions)

  • Required:
    • C++ compiler:
      • gcc
      • Xcode
      • Microsoft Visual Studio
    • CMake
  • Optional (Can be ignored by passing --no-python as an argument to build_usd.py)

2. Download the USD source code

You can download source code archives from GitHub or use git to clone the repository.

> git clone https://github.com/PixarAnimationStudios/OpenUSD
Cloning into 'OpenUSD'...

3. Run the script

Run the build_usd.py script to build and install USD. Note that the build script is structured with an out-of-source build in mind -- installing a build into the
directory where the repository was cloned is untested.

Linux:

For example, the following will download, build, and install USD's dependencies, then build and install USD into /path/to/my_usd_install_dir.

> python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir
macOS:

In a terminal, run xcode-select to ensure command line developer tools are installed. Then run the script.

For example, the following will download, build, and install USD's dependencies, then build and install USD into /path/to/my_usd_install_dir.

> python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir
iOS and visionOS:

When building from a macOS system, you can cross compile for iOS based platforms.

Cross compilation builds are restricted to building libraries that can be embedded in applications built for the target platform. It can be helpful to use a monolithic build when embedding USD (see Advanced Build Configuration).

These builds do not support Python bindings or command line tools.

For example, the following will download, build, and install USD's dependencies, then build and install USD for iOS into /path/to/my_usd_install_dir.

> python OpenUSD/build_scripts/build_usd.py --build-target iOS --build-monolithic /path/to/my_usd_install_dir

Or for visionOS:

> python OpenUSD/build_scripts/build_usd.py --build-target visionOS --build-monolithic /path/to/my_usd_install_dir
Framework Builds (Experimental)

Builds for Apple platforms may optionally build as a framework using the --build-apple-framework flag.

NOTE: This feature is experimental and may change how it functions in future USD builds.

  • Framework builds are enabled by default for iOS and visionOS build targets. It can optionally be enabled for macOS.
  • Framework builds require monolithic builds.
  • Building a universal macOS framework is currently not supported. Please generate the arches separately and lipo them together after.

To add the Framework to your application, add OpenUSD.framework to your Xcode project. It is recommended to set it to Embed and Sign.

To setup headers, you may then choose one of two routes:

  1. Configure the Xcode SYSTEM_HEADER_SEARCH_PATHS to add the path to your headers. e.g $(SRCROOT)/OpenUSD.framework/Headers if the framework exists in your projects root. This is recommended if you intend to share source files with other platforms.

  2. Build with --prefix-framework-headers (or -DPXR_APPLE_PREFIX_FRAMEWORK_HEADERS=ON if using CMake) to automatically process the frameworks headers. This requires no extra configuration in Xcode, but does require that all includes be prefixed with the name of the framework. e.g #include <OpenUSD/pxr/pxr.h> . However, code that use these headers will not be portable with builds of USD without it.

OpenUSD also supports building a combined XCFramework as well of multiple targets. This command takes an optional list of targets to build, but will otherwise build all supported platforms.

> python OpenUSD/build_scripts/apple_utils.py xcframework /path/to/my_usd_install_dir

Note that currently, Simulator builds do not render with Imaging as Simulator targets have reduced Metal support.

Windows:

Launch the "x64 Native Tools Command Prompt" for your version of Visual Studio and run the script in the opened shell. Make sure to use the 64-bit (x64) command prompt and not the 32-bit (x86) command prompt.

See https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line for more details.

For example, the following will download, build, and install USD's dependencies, then build and install USD into C:\path\to\my_usd_install_dir.

C:\> python OpenUSD\build_scripts\build_usd.py "C:\path\to\my_usd_install_dir"

4. Try it out

Set the environment variables specified by the script when it finishes and launch usdview with a sample asset.

> usdview OpenUSD/extras/usd/tutorials/convertingLayerFormats/Sphere.usda

Contributing

If you'd like to contribute to USD (and we appreciate the help!), please see the Contributing page in the documentation for more information.

About

Universal Scene Description

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 61.0%
  • C 26.0%
  • Python 10.3%
  • CMake 1.7%
  • Objective-C++ 0.5%
  • Mathematica 0.5%