
Contents:

The main differences between PRMan and BMRT are outlined below (adapted
from Gritz's BMRT manual):
- PRMan and BMRT use incompatible Shading Language object files (".slo"
and ".slc" extensions respectively).
- PRMan uses a special format for texture files; BMRT uses TIFF files.
- PRMan uses shadow (depth) maps for shadow generation; BMRT can use
shadow maps or ray trace the shadows.
- BMRT correctly supports area light sources; PRMan doesn't.
- In BMRT, the
trace() function is fully implemented (in
PRMan, trace() just returns 0).

There are several limitations which apply to the RenderMan
Shading Language in general. They are listed immediately below. Other
caveats specific to the renderers are listed in their respective
sections.
- shader parameters should not be modified by a shader;
- recursion is not allowed;
- user function parameters are passed by reference;
- global variables are not available inside user functions; some standard functions also
cannot be called if they are specific to particular types of shaders;
PRMan's Shading Language compiler has several limitations which
are itemized here. For additional information, refer to Section 5 of the
PhotoRealistic RenderMan User's Manual.
- Programmable imager, transformation, and volume shaders are not supported;
- incident(), opposite(), bump(), and trace() all return 0.0;
- There should only be one shader or function per Shading Language source file;
- area functions should not be used inside conditionals (texture, environment,
bump, shadow, Deriv, Du, Dv, area, calculatenormal);
- shaders using a user function must be recompiled if the user function is modified;
- user-defined functions should only have one return statement;
- diffuse,
specular, and
solar functions vary from interface specification; and
BMRT's Shading Language compiler has a few limitations and they are
listed below. Please consult the most recent
Blue Moon Rendering Tools: User Guide as the definitive reference.
- Transformation shaders are not supported

When a RenderMan renderer is executed, it must be able to find a
Shading Language object for every shader needed to render the scene.
In the
default ACCAD environment, both PRMan and BMRT look for shader object files in
the following directories in the following order:
- the current working directory;
- /usr/local/accad/shaders -- an ACCAD directory for shaders which have
been contributed from sources including
The RenderMan Companion, students, and
staff; and
- the standard shader directory --
/usr/local/prman/lib/shaders for PRMan and
/usr/local/bmrt/shaders for BMRT. These are the shaders distributed with
the software packages and include the shaders required by the RenderMan
Interface Specification.
The search path used for finding shaders can be modified by the
user. In PRMan, configuration files can be customized to change the
search path. In BMRT, the environment variable SHADER
specifies the search path and can be overridden by the user using setenv. The RenderMan Interface also allows search paths to specified, so in
both packages, RIB can be used for this purpose.

In the
default ACCAD environment PRMan looks for texture files in
the following directories in the following order:
- the current working directory;
- /usr/local/prman/lib/textures -- a few textures distributed with PRMan
Most of the time, it's more flexible and space-saving to store textures
as TIFFs (or some other image format). Then TIFFs can then be converted
to texture files for use with PRMan (BMRT reads TIFFs directly as texture
files) using txmake or RIB. You can find many textures stored as
TIFFs in:
- /usr/local/accad/textures -- many assorted texture types and sizes, most
untilable; and
- /usr/local/accad/textures/Pixar128 -- 512x512 tilable textures which are from Pixar's CD-ROM.
Like shaders, the search path used for finding textures can be modified
by the user. In PRMan, configuration files can be
customized to change the texture search path. Also like shaders,
RIB commands can be used to specify texture file search paths for
both PRMan and BMRT.

RManNotes is Copyright © 1995, 1996 Stephen F. May
Any comments or suggestions appreciated.
Steve May (smay@pixar.com)
Last Modified: 5/2/00