RenderMan USD Imaging Plugin

RenderMan USD Imaging Plugin

USD supports a USD Imaging plugin called 'hdPrman' that can be used to render with the RenderMan renderer.


Building hdPrman

The RenderMan USD Imaging plugin is not built by default with USD. Building hdPrman requires that you have RenderMan 22.5 or newer installed. The easiest way to build hdPrman is to use the script which can be configured with the following build options:

  --prman               Build Pixar's RenderMan imaging plugin
  --no-prman            Do not build Pixar's RenderMan imaging plugin
  --prman-location PRMAN_LOCATION
                        Directory where Pixar's RenderMan is installed.

To manually configure hdPrman, the following cmake variables are used:

CMake Variable Meaning Value
PXR_BUILD_PRMAN_PLUGIN Build Pixar's RenderMan imaging plugin ON/OFF
RENDERMAN_LOCATION Directory where Pixar's RenderMan is installed $RMANTREE
PXR_ENABLE_OSL_SUPPORT Only build rmanOslParser when this is disabled ON/OFF

USD distributes with two OSL parsing plugins: sdrOsl and rmanOslParser. The primary OSL parsing plugin, sdrOsl, requires a full OSL installation. If you do not have an OSL installation but still wish to render OSL patterns with RenderMan, the rmanOslParser plugin can be used. That plugin only depends on a RenderMan installation and will be built when PXR_ENABLE_OSL_SUPPORT is OFF. Users should only build one of these plugins.

For more information see our page on Advanced Build Configuration.

Running hdPrman

When running hdPrman, ensure that you have correctly set your environment variables. We'll refer to the install location of your USD build with  USD_INSTALL_ROOT , this is determined in the build with the cmake flag,  -DCMAKE_INSTALL_PREFIX .

Environment Variable Meaning Value
PYTHONPATH This is a path list which Python uses to find modules. $PYTHONPATH:USD_INSTALL_ROOT/lib/python
RMANTREE Directory where Pixar's RenderMan is installed Required
RMAN_SHADERPATH Search path for RenderMan OSL shader plugins $RMANTREE/lib/shaders:USD_INSTALL_ROOT/plugin/usd/resources/shaders
RMAN_RIXPLUGINPATH Search path for RenderMan RIS shading plugins $RMANTREE/lib/plugins
RMAN_TEXTUREPATH Search path for textures and RenderMan Rtx plugins $RMANTREE/lib/textures:$RMANTREE/lib/plugins:USD_INSTALL_ROOT/plugin/usd


Supported Render Pass AOVs

hdPrman supports the following AOVs for view-port compositing and picking:

AOV Name Type Meaning
color HdFormatUNorm8Vec4 RGBA beauty (Ci,a)
depth HdFormatFloat32 Depth pass (z)
primId HdFormatInt32 Per-primitive id (id)
instanceId HdFormatInt32 Per-instance id (id2)
elementId HdFormatInt32 Per-face id (__faceindex)

Graphics Home