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

If you are experiencing undocumented problems with the software, please read our issue guidelines and file a bug via the Issues page on the GitHub repository.

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, but will not build on Windows.

Dependencies

Name Version
C++ compiler GCC 4.8, Clang 3.5, MSVC 14.0(VS 2015)
C compiler GCC 4.8, Clang 3.5, MSVC 14.0(VS 2015)
CMake 2.8.8 (Linux/OS X), 3.1.1 (Windows)
Python 2.7.5
Boost 1.55 (Linux), 1.61.0 (OS X/Windows)
OpenEXR 2.2.0
DoubleConversion 1.1.1
Intel TBB 4.3.1
OpenSubdiv 3.0.5
GLEW 1.10.0
OpenImageIO 1.5.11
Ptex 2.0.30
Pyside 1.2.2
PyOpenGL 3.1.0

Getting and Building the Code

1. Clone the repo:

git clone https://github.com/PixarAnimationStudios/USD

2. Create a build location:

cd USD
mkdir build
cd build

3. Run a Basic build

On Linux

cmake                                       \
-DTBB_tbb_LIBRARY=/path/to/libtbb.so        \    
-DOPENEXR_LOCATION=/path/to/openexr         \
-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv   \
-DPTEX_INCLUDE_DIR=/path/to/ptex            \
-DOIIO_BASE_DIR=/path/to/openimageio        \
-DBOOST_ROOT=/path/to/boost                 \
..

make -j <NUM_CORES> install

On OS X (experimental)

The following will generate an Xcode project that can be used to build USD. See notes in the Supported Platforms section for more information.

cmake                                       \
-G "Xcode"                                  \
-DTBB_tbb_LIBRARY=/path/to/libtbb.dylib     \    
-DOPENEXR_LOCATION=/path/to/openexr         \
-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv   \
-DPTEX_INCLUDE_DIR=/path/to/ptex            \
-DOIIO_BASE_DIR=/path/to/openimageio        \
-DBOOST_ROOT=/path/to/boost/include         \
..

make -j <NUM_CORES> install

On Windows (experimental)

The following will generate a Visual Studio 2015 (the minimum required version) sln file which can be used to build USD. See notes in the Supported Platforms section for more information.

C:\Program Files\CMake\bin\cmake.exe             ^
    -G "Visual Studio 14 Win64"                  ^
    -DTBB_tbb_LIBRARY=C:\path\to\tbb.lib         ^     
    -DOPENEXR_LOCATION=C:\path\to\openexr        ^ 
    -DOPENSUBDIV_ROOT_DIR=C:\path\to\opensubdiv  ^ 
    -DPTEX_INCLUDE_DIR=C:\path\to\ptex           ^ 
    -DOIIO_BASE_DIR=C:\path\to\openimageio       ^ 
    -DBOOST_ROOT=C:\path\to\boost                ^ 
    --build .. --config Release --target install

There are many options you can specify throughout the build, such as building third-party software plugins, disabling specific components, and enabling developer options. You can find information on these in Build Configuration.

Note 1: You will need to update the sample paths with your own.

Note 2: You may have to supply additional defines to cmake if you have many versions of packages installed.

4. Try It Out

Launch usdview with a sample asset.

$ export PYTHONPATH=$PYTHONPATH:USD_INSTALL_ROOT/lib/python
$ usdview extras/usd/tutorials/convertingLayerFormats/Sphere.usda

Note: Replace USD_INSTALL_ROOT with the location set in your build, usually via CMAKE_INSTALL_PREFIX.

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.