/USD

Universal Scene Description

Primary LanguageC++OtherNOASSERTION

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

master dev
Linux 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.

Supported Platforms

USD is currently supported on Linux platforms and has been built and tested on CentOS 7 and RHEL 7.

We are actively working on porting USD to both Windows and Mac platforms. Support for both platforms should be considered experimental at this time. Currently, the tree will build on Mac and Windows, but only limited testing has been done on these platforms.

Dependencies

Name Version Optional
C++ compiler GCC 4.8, Clang 3.5, MSVC 14.0(VS 2015), MSVC 14.1(VS 2017)
C compiler GCC 4.8, Clang 3.5, MSVC 14.0(VS 2015), MSVC 14.1(VS 2017)
CMake 2.8.8 (Linux/OS X), 3.1.1 (Windows VS 2015), 3.12 (Windows VS 2017)
Python 2.7.5 x
Boost 1.55 (Linux), 1.61.0 (OS X/Windows VS 2015), 1.65.1 (Windows VS 2017)
Intel TBB 4.4 Update 6

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

Name Version Optional
OpenSubdiv 3.0.5 (Linux/OS X), 3.2.0 (Windows)
GLEW 1.10.0 x
OpenEXR 2.2.0
OpenImageIO 1.5.11 x
OSL (OpenShadingLanguage) 1.5.12 x
Ptex 2.0.30 x

usdview

Name Version
PySide or PySide2 (experimental) 1.2.2, 2.0.0~alpha0
PyOpenGL 3.1.0

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
    • NASM (required for Imaging on Windows)
    • 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/USD
Cloning into 'USD'...

3. Run the script

Linux:

For example, the following will download, build, and install USD's dependencies, then build and install USD into /usr/local/USD.

> python USD/build_scripts/build_usd.py /usr/local/USD
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 /opt/local/USD.

> python USD/build_scripts/build_usd.py /opt/local/USD
Windows:

Launch the "Developer 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. (Note if you're trying to build with Visual Studio 2017, use the "x86 Native Tools Command Prompt for VS 2017").

See https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs for more details.

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

C:\> python USD\build_scripts\build_usd.py "C:\Program Files\USD"

4. Try it out

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

> usdview 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.