Home

Awesome

OSL Shaders for RenderMan

Siggraph 2022 Course Supplementary Material.

Open Shading Language is a project of the Academy Software Foundation.

RenderMan is a renderer and application software ecosystem produced by Pixar.

Requirements

Instructions

  1. Set up RenderMan:

    1. Install RenderManProServer and ensure it is functioning properly.

    2. Optionally install a RenderMan Bridge Application and its associated RenderMan plugin and ensure they are functioning properly.

  2. Set these environment variables appropriately. These are required by the make system that's used to compile and install the shaders:

    • PIXAR_ROOT
    • RMAN_VERSION

    For example, if your version of RenderManProServer is installed in /opt/pixar/RenderManProServer-24.4, then using bash shell:

    export PIXAR_ROOT="/opt/pixar"
    export RMAN_VERSION="24.4"
    

    RenderManProServer also requires an RMANTREE environment variable to be set to its installation location:

    export RMANTREE="${PIXAR_ROOT}/RenderManProServer-${RMAN_VERSION}"
    
  3. Download or clone this repository.

  4. cd into the dowloaded or cloned repository's directory.

At this point, you can use the make or make all command (they are equivalent) to build the shaders. You can also cd osl into the osl directory and make the shaders there. The osl/Makefile will only make .oso files for .osl files that are more recent than their complied .oso file. In this way, you can edit a .osl file and execute make from the osl directory and only the updated .osl file(s) will be built.

make clean and make help can also be executed from either the top-level directory or the osl directory. make clean removes the built shaders, and make help provides additional information about the make system and how it's controlled.

Once built, the shaders can be used in RenderMan or a RenderMan Bridge Application by setting the RMAN_SHADERPATH environment variable to include the location of the built shaders.

For example, if you downloaded or cloned this repository to ${HOME}/OSLShadersForRenderMan, then using bash shell:

export RMAN_SHADERPATH="${HOME}/OSLShadersForRenderMan/build/${RMAN_VERSION}/shaders:${RMAN_SHADERPATH}"

so that RenderMan will find these shaders, along with those supplied by Pixar.

Note that the top-level make directory spoken about in the course has been renamed python3 to reflect its contents.

Also note that RenderMan for Maya requires additional setup to use Custom Shading Nodes.

License

Licensed under either of

at your option.