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
- Pixar's RenderMan
make
python3
Instructions
-
Set up RenderMan:
-
Install RenderManProServer and ensure it is functioning properly.
-
Optionally install a RenderMan Bridge Application and its associated RenderMan plugin and ensure they are functioning properly.
-
-
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 usingbash
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}"
-
Download or clone this repository.
-
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
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.