RenderMan USD Imaging Plugin

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

Configuration

Building hdPrman

The RenderMan USD Imaging plugin is not built by default with USD. Building hdPrman requires that you have RenderMan 24.0 or newer installed. The easiest way to build hdPrman is to use the build_usd.py 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
                      (default)
--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 <inst>. This is determined in the build with the CMake flag, CMAKE_INSTALL_PREFIX.

Environment Variable

Meaning

Value

PYTHONPATH

This is a path list which Python uses to find modules.

$PYTHONPATH:<inst>/lib/python

RMANTREE

Directory where Pixar’s RenderMan is installed

Required

RMAN_SHADERPATH

Search path for RenderMan OSL shader plugins

$RMANTREE/lib/shaders:<inst>/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:<inst>/plugin/usd

Developer

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)