docs/plugins_renderman.rst
.. include:: rolesAndUtils.rst
USD supports a USD Imaging plugin called 'hdPrman' that can be used to render
with the RenderMan <http://renderman.pixar.com>_ renderer.
Configuration #############
Building hdPrman
The RenderMan USD Imaging plugin is not built by default with USD. Building
hdPrman requires that you have RenderMan 25.0 or newer installed. The easiest
way to build hdPrman is to use the :filename:build_usd.py script which can be
configured with the following build options:
.. code-block:: none
--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:
.. list-table:: :header-rows: 1
PXR_BUILD_PRMAN_PLUGINRENDERMAN_LOCATIONPXR_ENABLE_OSL_SUPPORTUSD 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 :makevar:PXR_ENABLE_OSL_SUPPORT is
OFF. Users should only build one of these plugins.
For more information see our page on Advanced Build Configuration <https://github.com/PixarAnimationStudios/OpenUSD/blob/release/BUILDING.md>_.
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
:filename:<inst>. This is determined in the build with the CMake flag,
:makevar:CMAKE_INSTALL_PREFIX.
.. list-table:: :header-rows: 1
PYTHONPATH$PYTHONPATH:<inst>/lib/pythonRMANTREERMAN_SHADERPATH$RMANTREE/lib/shaders:<inst>/plugin/usd/resources/shadersRMAN_RIXPLUGINPATH$RMANTREE/lib/pluginsRMAN_TEXTUREPATH$RMANTREE/lib/textures:$RMANTREE/lib/plugins:<inst>/plugin/usdRMAN_DISPLAYPATH$RMANTREE/lib/pluginsRMAN_PROCEDURALPATH$RMANTREE/lib/pluginsDeveloper #########
Supported Render Pass AOVs
hdPrman supports the following AOVs for view-port compositing and picking:
.. list-table:: :header-rows: 1
colorHdFormatUNorm8Vec4depthHdFormatFloat32primIdHdFormatInt32instanceIdHdFormatInt32elementIdHdFormatInt32