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 |
---|---|---|
|
This is a path list which Python uses to find modules. |
$PYTHONPATH:<inst>/lib/python |
|
Directory where Pixar’s RenderMan is installed |
Required |
|
Search path for RenderMan OSL shader plugins |
$RMANTREE/lib/shaders:<inst>/plugin/usd/resources/shaders |
|
Search path for RenderMan RIS shading plugins |
$RMANTREE/lib/plugins |
|
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) |