The settings for controlling renders in RenderMan for Katana can be loosely divided into two categories: render output and render input. Render "output" refers to things like camera, resolution and crop window; these attributes are primarily in the RenderSettings node. Render "input" refers to RenderMan options and attributes as well as RfK plugin configuration. Access to these are primarily in the PrmanGlobalStatements and PrmanObjectStatements nodes.
RenderSettings
The RenderSettings node is a native Katana node described in detail in the Katana online documentation. The most common attributes to be aware of are:
Attribute | Default | Description |
---|---|---|
cameraName | /root/world/cam/camera | Camera through which to render. |
renderer | prman | Which renderer to use. |
resolution | 512x512 | Size of the output image. |
Commonly-used Attributes in RenderSettings Node
PrmanGlobalStatements and PrmanObjectStatements
RenderMan's power and flexibility means that a large amount of control is given to the user through its wide variety of settings. All of these settings are exposed in RfK through the PrmanIntegratorSettings, PrmanGlobalStatements and PrmanObjectStatements. The attributes in PrmanGlobalStatements are used to control RenderMan's global Options.
PrmanIntegratorSettings sets the integrator to be used in rendering with RenderMan and its associated controls. Typically for production the PxrPathTracer integrator is chosen.
PrmanGlobalStatements is used for per-location Attributes. Since there are only a small number of settings used regularly in both of these nodes, they are each set up to hide the less common attributes by default. The Parameter Layout setting is used to expand or collapse collections of attributes based on common usage: Simple, Advanced, or all. That said, even the Simple layout exposes numerous settings. Below are most useful settings:
Attribute | Default | Description |
---|---|---|
pixelVariance | 0.005 | Upper bound on the acceptable estimated variance of the pixel values from the true pixel values. |
maxSamples | 0 (64) | Explicit limit for the number of samples. Increase for higher quality, slower render. |
renderDisplay | Monitor | The destination framebuffer for Preview and Live Rendering. Set to 'it' to use RenderMan Image Tool. |
Commonly-used Options in PrmanGlobalStatements
PrmanObjectStatements are connected to a specific location in the scene graph (e.g. an object, a hierarchy or CEL grouping). Common things to control with this node are visibility attributes and trace depth. Below is a description of a few common settings in PrmanObjectStatements:
Attribute | Default | Description |
---|---|---|
visibility.camera | Yes | Controls the visibility of subsequent primitives to the camera. |
visibility.transmission | Yes | Controls the visibility of primitives to transmission (shadow) rays. |
trace.maxdiffusedepth | 1 | Limit the number of diffuse bounces for indirect illuminance relative to the associated primitive. |
trace.maxspeculardepth | 2 | Limit the number of specular bounces for indirect illuminance relative to the associated primitive. |
Commonly-used Options in PrmanObjectStatements
As an additional aid these nodes each have settings presets which will adjust RenderMan controls according to type of render: Default, Draft, Intermediate, or High Quality. The differences between these presets are minimal but significant. They are best used for quick switching and for reference values. Note that changes you make to the settings do not "stick" the preset; they will be lost if you change to a different preset. See the custom presets page if you need to set up collections of presets which are specific to your needs.
Error Handling
Errors encountered during rendering are handled according to the attribute "prmanGlobalStatements.errorHandler":
Error Handler | Behavior |
---|---|
ignore | All errors are ignored and no diagnostic messages are generated |
print | A diagnostic message is generated for each error, every time it occurs The rendering system will attempt to ignore the erroneous information and continue rendering |
printonce | Only generate the diagnostic message upon the first occurrence of the error |
abort | The first error will cause a diagnostic message to be generated and the rendering system will immediately terminate |
abortall | Abort the render on errors generated from Katana as well as prman errors |
Handling errors from RenderMan or Katana can be overridden with the use of error handler override attribute functions. These attribute functions provide the opportunity to alter error handling behavior on a location or error-specific basis. The attribute function is expected to return an attribute containing an integer "abort" attribute indicating whether or not the render should be terminated.
Error handler override functions should be added to the global attributes "prmanGlobalStatements.plugin.katanaErrorHandlerAttrFncs" and "prmanGlobalStatements.plugin.rendermanErrorHandlerAttrFncs".
Logging
Currently the log level defaults to "INFO", determined by the log configuration file in KATANA_HOME. In order to change the log level we copy the configuration file, change the level and set and environment variable (using Linux):
mkdir $KATANA_RESOURCES/Logging
cp $KATANA_HOME/bin/log.conf $KATANA_RESOURCES/Logging/log.conf
edit log.conf and change the "rootLogger" to the desired level: "ERROR", "WARN", "INFO", "DEBUG"
Similar workflow in Windows, create the $KATANA_RESOURCES/Logging Folder, copy the log.conf file and change the "rootLogger" value to the listed options.