Short Contents

3.9 The Render Pass

3.9.1 Overview

The main paradigm in 3delight For Maya is the render pass. Simply put, a render pass is a rendering context that encapsulates a list of rendering attributes and a list (or set) of objects to be rendered. A single Maya scene can contain any number of such passes and each one can be rendered independently with possibly different outputs.
Although it is not necessary to have multiple render passes (the simplest rendering setup contains only one pass), having the possibility to use many such passes gives increased flexibility and enables a better integration of rendering in the production pipeline. As an example, rendering passes could be used to:

3.9.2 Managing Render Passes

3.9.2.1 Creating a Render Pass

In order to start a render, it is necessary to have at least one render pass defined. Creating a render pass can be done using the various items found in the following Maya menu:

3Delight -> Add Render Pass

The Add Render Pass menu contains a `Full' entry and a `Basic' entry. Selecting `Full' creates a render pass with all available attributes. Selecting `Basic' will create a render pass containing only the more commonly used attributes. If render pass templates have been defined, they are also listed in this menu. Selecting a template will create a new render pass with identical settings as the ones contained in the template. See Saving a Render Pass as a Template.

An empty Render Pass

Figure 3.41: An empty Render Pass

Attributes can be added and removed by using the Add / Remove Attributes button. Left-Click on this button brings up the Add / Remove Attributes Window, which is better suited for multiple attribute addition or removal (see The Add / Remove Attributes Window). Right-Click on the Add / Remove Attributes button offers the same functionality through popup menus, which are more convenient when only one attribtue or attribute group needs to be added or removed.

3.9.2.2 Inheriting Another Render Pass Attributes

A render pass can inherit attributes from a parent render pass. The parent-child relation is defined through a connection on the child pass' "parentRenderPass" message attribute. For example, the following MEL commands will set `parentPass' as the parent of `childPass':

addAttr -at "message" -ln "parentRenderPass" "childPass";
DL_connectNodeToMessagePlug("parentPass", "childPass.parentRenderPass");

When looking for render pass attribute values, 3Delight for Maya starts by looking in the render pass that is being rendered, and will then search this pass' parents for the attribute presence. If an attribute is not found, its default value will be used.

3.9.2.3 Rendering a Render Pass

Once a render pass is defined,it can be used to render the scene. To launch the rendering, the following options are available:

The 3Delight menu
A rendering can be launched by selected the desired render pass in the following Maya menu:
3Delight -> Render -> Pass Name
The Render menu contains a list of all render passes defined in the scene. The first one displayed is always the render pass that was most recently rendered.
The Render Pass Render Button
When a render pass is displayed in the attribute editor, a rendering can be launched simply by clicking on the big Render Button displayed at the top of the attribute editor.
The Maya Render Current Frame Button
The Maya Render Current Frame Menu Item
The Maya Batch Render Menu Item
If Maya's current renderer setting is set to `3Delight', selecting one of these options will launch a rendering using the render pass selected in the 3Delight render settings. Launching a rendering this way can have an impact on some default values used for rendering. Refer to The 3Delight Render Settings.

3.9.2.4 Selecting a Render Pass

To select a render pass and view its attributes in the attribute editor, the following menu can be used:

3Delight -> Select Render Pass  -> Pass Name

The Select Render Pass menu lists all render passes defined in the scene. The first menu entry is always the last render pass that was rendered.

3.9.2.5 Duplicating a Render Pass

To duplicate a render pass the following menu can be used:

3Delight -> Duplicate Render Pass -> Pass Name

The Duplicate menu contains the list of all defined render passes in the scene.

3.9.2.6 Saving a Render Pass as a Template

A render pass can be saved as a template. Such a template will then be listed in the Add Render Pass menu. This basically allows creating a duplicate of a given render pass across multiple scenes. To create a render pass template, first create a render pass, rename it and configure its attributes as desired. Then the following menu can be used:

3Delight -> Save Render Pass as Template -> Pass Name

The Save Render Pass as Template menu lists all render passes defined in the scene. Each template is saved in a separate file in a `3delight/templates' folder, placed in the current project directory. See Automatic File Output Control for details.

3.9.3 Render Pass Attributes

3.9.3.1 Camera

This section contains informations concerning the camera that will be used by this render pass as well as animation rendering controls.

The Camera panel

Figure 3.42: The Camera panel

` Camera Name'
This names the Maya camera that is used for this pass. At least one camera should be defined in the scene. The default camera selected for rendering is perspShape.
` Use Resolution From Render Globals'
When this toggle is on, the "Resolution" and the "Pixel Aspect Ratio" attributes will be assigned the same values as the ones set in Maya Render Globals. This toggle is on by default.
` Resolution'
The final resolution of the rendered image. By default it is connected to the resolution specified in Maya Render Globals.
` Multiplier'
This will multiply the resolution field. The available settings are `Full', `Half', `Quarter' and `Eighth'. If the resolution is 1024x512 and this multiplier is set to `Half' then the actual output resolution will 512x256. The default value is `Full'.
` Pixel Aspect Ratio'
The ratio of the height of a pixel to its width. Square pixels have a ratio of 1.0. Ratios smaller than 1 correspond to wide pixels, while ratios higher than 1 yield tall pixels. By default, the Pixel Aspect Ratio is derived from the settings in Maya Render Globals.
` Animation'
This toggle enables the rendering of the entire animation. When the "Render Mode" in the "Output" panel (see Render Mode) is set to `Save RIB' then RIBs for each frame will be saved to disk. If the RIB filename remains the same from one frame to another, the data of the current frame is concatenated to the file. This toggle is off by default.
` Frame Range'
If the "Animation" toggle is on, specifies the range of frames to render (bounds are inclusive). The default range is [1..1].
` Increment'
Specifies the increment to use when going from one frame to the next in the frame range. For example, if the frame range is [1..6] and the increment is 2, only the following frames will be rendered: 1, 3, 5, 6 (note that the first and last frame are not skipped). The default increment is 1.
` Use Crop Window'
` Crop Min'
` Crop Max'
Specifies a cropping region to use when rendering this pass. The rendered region is defined by the top left corner specified by "Crop Min" and the bottom right corner specified by "Crop Max". Each corner is specified by a (x, y) coordinate defined in the range [0, 1], where 0 is left or top and 1 is right or bottom. Cropping will be performed only if the "Use Crop Window" toggle is on. As an example, setting "Crop Min" to (0.25, 0.25) and "Crop Max" to (0.75, 0.75) will render a window in the centre of the screen. By default, "Use Crop Window" is off, "Crop Min" is set to (0, 0) and "Crop Max" is set to (1, 1).
` Bucket Order'
An image is rendered progressively in small groups of pixels called buckets. This option allows you to specify in what order the buckets are rendered. Rendering will be more memory-efficient if a bucket order that minimizes the number of objects being rendered simultaneously is chosen. The available options are:
` horizontal'
The buckets are rendered from left to right and from top to bottom.
` vertical'
The buckets are rendered from top to bottom, and from left to right.
` zigzag'
The buckets are rendered from left to right on even rows, and from right to left on odd rows.
` spiral'
The buckets are rendered in a clockwise spiral starting at the centre of the image.
` circle'
The buckets are rendered in concentric circles starting at the centre of the image.
The default bucket order is `horizontal'.
` Use Imager Shader'
Enables or disables the use of image shaders. Imager shaders can be attached to a camera via the Assignment Panel (see section The Assignment Panel). This toggle is on by default.

3.9.3.2 Output

3DELIGHT can render a frame (or a series of frames) directly or save the scene in RIB format for later rendering. In the direct rendering case, 3DELIGHT uses information described in the Displays panel to save or display the produced image. Refer to Displays.

The Output panel

Figure 3.43: The Output panel

` Render Mode'
This option specify the kind of output to be produced when rendering this pass. The available options are:
` Render'
The renderer will produce the image as specified in the Displays section. Refer to Displays for more details.
` Save RIB'
The renderer will save the scene in RIB format, suitable for later rendering. If the "animation" toggle is on and the file name remains the same for a series of frame, the data of the current frame will be concatenated to the existing file. See File Path Expressions for details on how it is possible to construct relative paths and / or paths containing dynamically expanded tokens.
` RIB Archive'
The scene will be saved in a RIB archive that can be read later in other rendering. If the "animation" toggle is on and the file name remains the same for a series of frame, the data of the current frame will be concatenated to the existing file. Advanced options for RIB archives are available in the RIB Archives section. Refer to RIB Archives for more details on these options, or to the RIB Archives Guidelines for examples on how to use this option. See also File Path Expressions for details on how it is possible to construct relative paths and / or paths containing dynamically expanded tokens.
` Background Render'
This mode will save the scene in RIB format and invoke `renderdl' to render it as a background process once the RIB file is done. This means that once the RIB file is saved, Maya is responsive again and can be used while the render completes. The output of the renderer is saved into a log file named after the RIB file with a `.log' extension. Note that the `maya render view' display driver cannot be used with the background render mode.
The default render mode is `Render'.
` RIB Filename'
Specifies the filename of the RIB file to save. If this attribute is empty when a render mode producing a RIB file is selected, a decent default name is automatically generated. Refer to File Path Expressions for details about possible dynamically expanded tokens.
` Binary Rib'
When this options is on, the RIB file will be saved in binary format, producing a smaller file. Turn this option off to produce a text RIB file, which is bigger but easier to edit. By default, this option is off.
` Compressed Rib'
This option controls if the RIB file will be compressed, producing a smaller file. By default this option is off.
` Render Parameters'
This attribute is only available when the "Render Mode" is set to `Background Render'. The content of this attribute will be passed as parameters to the rendering command. Advanced users may want to have a look at the 3Delight User's Manual for available command line options of the `renderdl' command. Note that this attribute is not used by the plugin from the 3Delight for Maya package.
` Render Log'
This attribute is only available when the "Render Mode" is set to `Background Render'. The file specified by this attribute will contain the various messages output by the rendering command executed in background. Clicking on the view button will open the log file using the application designated in the 3Delight Preferences Window; refer to The Preferences Window. Note that this attribute is not used by the plugin from the 3Delight for Maya package.

3.9.3.3 Quality

This section controls the quality settings for this render pass. The default values should provide a normal, draft quality, render.

The Quality panel

Figure 3.44: The Quality panel

` Pixel Samples'
This option specifies in how many sub-samples each pixel will be subdivided. A draft quality setting for this parameter is 4x4 and a higher quality setting could be 6x6. Higher values might be needed if motion blur or depth of field are to be rendered. The default value is 3x3.
` Shading Rate'
Controls how finely the geometry is tessellated prior to shading. 3DELIGHT adaptively tessellates each primitive into very tiny elements called micro-polygons, those elements are then shaded and sampled. Usually, the size of one such micro-polygon is one screen pixel and this corresponds to a shading rate of 1.0. A shading rate of 4.0 will produce micro-polygons that cover approximately an area of 2x2 pixels and a shading rate of 0.5 will give two micro-polygons per pixel. It is recommended to leave this parameter to its default value of 1.0 and reasons why not doing so are explained in Rendering Guidelines.
` Pixel Filter'
The name of the filter that is used to re-sample the sub-samples. Available values are: `box', `triangle', `gaussian', `catmull-rom', `bessel', `sinc', `mitchell', `zmin' and `zmax'. `catmull-rom' and `sinc' filters are common in production work. It should be noted that there is no additional performance cost for using more "complicated" filters instead of simpler ones (such as the `box' filter). The default value is `sinc'.
` Filter Width'
Specifies how many pixels the filter will cover. The larger the value the slower is the filtering process. Note that enlarging some filters, such as the `gaussian' or `box' will blur the result and not increase the quality. Additionally, some filters do not work well with small width values. This is the case of the `sinc' filter for which it is not suggested to specify values less than 4x4, which is the default value.

Raytracing

The Raytracing Quality panel

Figure 3.45: The Raytracing Quality panel

` Max Specular Depth'
Sets an upper limit on how many reflections/refractions levels a ray-traced ray can travel.
` Max Diffuse Depth'
Sets an upper limit on how many bounces an indirect ray can travel. Note that if photon maps are used, the "number of bounces" in the photon map tab will be used instead of this attribute.
` Max Depth'
Specifies maximum raytracing depth when using ray tracing. The default is only one bounce. Higher values lead to slower but more accurate results.

3.9.3.4 Depth of Field

This section contains attributes that affect the way out-of-focus portions of the image are rendered.

` Polygonal Aperture'
Turning this attribute on allows customization of the aperture shape using the following attributes. This attribute is off by default, which produces a perfectly round aperture.
` Number of Blades'
The aperture is shaped after a regular polygon; this attribute specifies how many sides this polygon has. This can also been seen as the number of blades of the diaphragm that controls the aperture. The minimum number of blades is 3, which produces triangular out-of-focus highlights. This attribute is only available when the "Polygonal Aperture" attribute is turned on.
` Rotation'
The angle of the rotation to apply on the aperture, in degrees. This attribute is only available when the "Polygonal Aperture" attribute is turned on.

3.9.3.5 Motion Blur

This section enables or disables rendering of motion blur in the entire scene. Note that motion blur can also be controlled per object in the `Motion Blur' panel as described in Motion Blur. The various "Samples" attributes have a default value of 2, meaning that the movement is sampled at the beginning and at the end of the frame exposure. This is fine for linear movements. Increase the relevant "Samples" attribute if the motion path of the camera or objects is far from linear (like a turning propeller for example). Higher sample values imply longer motion blur computation.

The Motion Blur panel

Figure 3.46: The Motion Blur panel

` Camera Blur'
When this toggle is on, the movement of the camera is taken into account when computing the motion blur. By default this toggle is off.
` Camera Blur Samples'
This attribute specifies the number of times the position and orientation of the camera is sampled during the time interval that the shutter is opened.
` Transformation Motion Blur'
When this toggle is on, objects that have animated geometric transformation (translation, rotation or scale) will be blurred. By default, this toggle is off.
` Transformation Samples'
This attribute specifies the number of times the transformation of the object is sampled during the time interval that the shutter is opened.
` Deformation Motion Blur'
When this toggle is on, objects whose geometry is deforming (such as cloth simulation geometry or animated fur) will be blurred. By default, this toggle is off. Deformation motion blur should be enabled only when necessary since it has a higher memory footprint.
` Deformation Samples'
Specifies the number of times the geometry of the object is sampled for motion blur during the time interval that the shutter is opened.
` Motion Blur Position'
This controls the time at which camera's shutter opens and closes relative to a frame of animation. The following values are available(4):
` end on frame'
Shutter closes at frame start and opens an interval before.
` centered on frame'
The most usual choice. The shutter opens half an interval before the frame and closes half an interval afterward. This is the default.
` start on frame'
Shutter opens at frame start and closes an interval later. This option should usually be preferred when the visibility of objects changes during the sequence of frames to render.
` Sample Motion Blur On Integer Frames'
Normally, the scene is sampled for motion between frames, requiring objects to be properly animated between frames. Turn this attribute on when the animation is only defined on frames. This attribute is only available when setting "Motion Blur Position" to either `start on frame' or `end on frame'. It will force the number of samples for "Camera Blur Samples", "Transformation Samples" and "Deformation Samples" to `2'. The scene will be sampled at (t-1, t) or at (t, t+1), if "motion blur position" is set to `end on frame' or `start on frame', respectively. This attribute is off by default.
` Shutter Efficiency'
Sets how "efficient" the shutter of the camera is, at opening and closing times. `1.0' (the default) is maximum efficiency, meaning that the shutter of the camera opens and closes faster than speed of light, which is a non-natural shutter. Decreasing those values, to `0.75' say, will simulate slower opening camera shutter and produces softer motion blurs, closer to what is expected in real life cameras.
` Shutter Angle Scale'
A multiplier applied on the render camera's "shutter angle". It can be used to increase or decrease the motion blur effect without changing the camera's attributes. This attribute is set to `1.0' by default.
` Sample Motion'
Turn this attribute off to disable motion blur sampling while preserving dPdtime vectors. This attribute is enabled by default.
` Extreme Motion Depth Of Field'
Turn this attribute on to avoid artifacts caused by simultaneous use of depth of field and motion blur. This will also render much slower, so leave this off unless it is absolutely required. This attribute is off by default.

3.9.3.6 Displays

This section specifies what image will be output by the renderer. The image can either be saved to a file or displayed in a framebuffer. By default, a render pass is created with one display. However, it is possible to create several distinct displays in a single render pass.
It is sometimes necessary to output more than just RGBA components during a render. For example, it might be useful to also output the depth (or z) value for each pixel for later processing. It is allowed to add any number of additional display and output any AOV, arbitrary output variable that are declared in the shaders (refer to 3Delight User's Manual for more information on AOVs).

The Displays panel

Figure 3.47: The Displays panel

Each display is shown in its own panel. To add a display, either click on the Add Display button, or select "Add Display" in the contextual popup menu that appears when right-clicking almost everywhere in the Displays panel. This menu also offers options to expand or collapse all display panels at once. To remove a display, click on its Remove Display button, which appears as a trashcan. To duplicate a display, right-click anywhere above the display to duplicate and select Duplicate Display menu option.
At the top of the Displays panel are a few general controls, followed by a list of per-display panels. The general controls are:

` Add Display'
Clicking this button will add a new display attribute group at the bottom of the displays panel.
` Render Primary Display'
Controls if the primary display is going to be rendered. The primary display is always the display at the top of the displays panel and this control is tied to the first display's Render toggle. It can be useful to turn this option off when you need only need to render a secondary display or shadow maps. By default, this toggle is on.
` Render Secondary Displays'
Specifies if the other displays than the first one are rendered. This toggle will override the per-display Render toggle. This control is on by default.

Each display has its own panel showing the basic display parameters on two rows. The remaining display attributes are located in the Advanced panel.


A display panel's first row offers the following attribute:

` Render toggle'
Controls if the display will be rendered or not. Since the first display in the panel is considered the primary display, its Render toggle is tied to the Render Primary toggle. For other displays, their Render toggle is acknowledged only when Render Secondary is turned on.
` Image Filename'
This control specifies the file name of the rendered image. When using a framebuffer display driver, this specifies a window title. By default, a file name based on the scene name and render pass name is created. See File Path Expressions for details on how it is possible to construct relative paths and / or paths containing dynamically expanded tokens.
` Browse for Image File button'
This button, drawn as a folder, brings up a file browser to specify an image filename.
` View Image button'
This button, drawn as a magnifying glass, will open the display's image file in a viewing application. See The Preferences Window for details on how to specify which application should be launched.

The second row offers the following attributes:

` Remove Display button'
This button, drawn as a trashcan, removes the display from the render pass.
` Display Driver'
This options specified the type of the display driver, which is where your rendered image will go. The following display drivers are available:
` framebuffer'
The rendered image is displayed in a basic window.
` idisplay'
The rendered image is displayed in i-display.
` maya_render_view'
The rendered image is displayed in Maya's Render View. Note that this display driver should not be used when rendering to a RIB file since it only works for rendering launched in Maya by 3Delight For Maya.
` tiff'
The rendered image is output in a file in TIFF format.
` iff'
The rendered image is output in a file in IFF format. Note that only 8 bits RGB or RGBA images can be output by the IFF display driver.
` exr'
The rendered image is output in a file in openEXR format. The openEXR libraries, which are not included in the 3DELIGHT package, must be installed. This display driver only works in `16-bits float' or `32-bits float'; refer to Bit Depth.
` cineon'
The rendered image is output in a file in Cineon format. It is recommended to set the `Bit Depth' to `32 bit float'. Refer to Bit Depth.
` zfile'
The rendered image will be a depth map file. It is recommended to set the `Bit Depth' to `32 bit float'. Refer to Bit Depth. It is usually desirable to set the `Output Variable' to `z'. Refer to Output Variable.
` png'
The rendered image is output in a file in PNG format.
` bmp'
The rendered image is output in a file in BMP format.
` eps'
The rendered image is output in a file in Encapsulated PostScript format.
` psd'
The rendered image is output in a file in PSD format.
` radiance'
The rendered image is output in a file in Radiance. This display driver only works in `32-bits float'; refer to Bit Depth.
` null'
The rendered image is discarded.
` shadowmap'
The rendered image will be a depth map in TIFF format, suitable to be used as a shadow map without the need of converting it with tdlmake. It is recommended to set the "Bit Depth" to `32 bit float'. Refer to Bit Depth. It is usually desirable to set the "Output Variable" to `z'. Refer to Output Variable.
` texture'
The rendered image will be a mipmap TIFF, suitable to be used as a texture map without the need of converting it with tdlmake.
` dsm'
The rendered image will be a deep shadow map. The deep shadow map display driver has several restrictions: the "Bit Depth" attribute should be set to `32 bit float', the "Output Variable" should be set to `rgba', the required "Pixel Filter" is `box' and the required "Filter Width" is `1 x 1'. The "resolution" must have equal values in both width and height, and this value should be a power of two.
Detailed information on each display driver is available in the 3Delight User's Manual. By default, `idisplay' is the selected primary display driver.
` Output Variable'
Indicates what variable will be output during this render. The most common values are `rgba' or `rgb' for RGBA and RGB outputs respectively. You can specify here any predefined output variable or arbitrary output variables that your shaders are using. Inline declarations of arbitrary output variables are allowed, meaning that it is permitted to preceded a variable name with its type to declare it and specify it for the display mode all at once. Right-clicking on the text field brings up a popup menu that lists available predefined output variables. The available values that are relevant regardless of the shaders assigned of to scene elements are:
` [user specified]'
This item is selected when a custom variable name is typed in the text field.
` z [depth]'
For a given pixel, this variable outputs the distance between the camera and the object visible at this pixel. It is recommended to set the "Bit Depth" to `32-bit float'; refer to Bit Depth.
` rgb [color]'
This variable outputs the color information of the rendered image.
` a [alpha channel]'
This variable outputs the transparency information of the rendered image.
` Oi [3-channel alpha]'
This variable outputs the R, G and B transparency information of the rendered image.
` rgba [color + alpha]'
This variable outputs the color and transparency information of the rendered image. This is also called a beauty render pass. This is the default.
The following AOVs are defined for scene elements shaded using Maya's Hypershade. Note that any AOV whose name contains "no shadow" involves extra shading computation and will make the scene longer to render. The available AOVs are:
` ambient'
This variable outputs the ambient shading component of the rendered image, producing an ambient render pass RGB image.
` diffuse'
This variable outputs the diffuse shading component of the rendered image, producing a RGB image similar to a Maya Render Layer configured to output a diffuse render pass.
` specular'
This variable outputs the specular shading component of the rendered image, producing a RGB image similar to a Maya Render Layer configured to output a specular render pass.
` reflection'
This variable outputs the reflection shading component of the rendered image, producing a reflection render pass RGB image.
` refraction'
This variable outputs the refraction shading component of the rendered image, producing a refraction render pass RGB image.
` shadow'
This variable outputs the shadow intensity in the alpa component of a RGBA image, in a similar fashion to a Maya Render Layer configured to output a shadow render pass. Note that in addition to objects being shaded with Maya's Hypershade, the light sources must also be shaded with Maya's Hypershade for this output variable to work properly (put differently, the light must not have a RenderMan shader attached to it).
` incandescence'
This variable outputs the incandescence shading component of the rendered image, producing a incandescence render pass RGB image.
` translucence'
This variable outputs the translucence shading component of the rendered image, producing a translucence render pass RGB image.
` diffuse no shadow'
This variable outputs the diffuse color shading component of the rendered image, unattenuated by any shadows. The result is identical to what is produced by the `diffuse' AOV when light sources do not cast any shadows.
` diffuse intensity'
This variable outputs a grayscale image representing the intensity of the diffuse shading component.
` diffuse intensity no shadow'
This variable outputs a grayscale image representing the intensity of the diffuse shading component without any attenuation made by shadows. If there are no shadow-casting light sources, the result is identical to the `diffuse intensity' AOV.
` key lights diffuse intensity'
The output of this AOV is similar to the `diffuse intensity' AOV, but will only take into account light sources that have a `key light' attribute set to true. Refer to the key light attribute.
` key lights diffuse intensity no shadow'
This AOV output is similar to the `diffuse intensity no shadow' AOV, but will only take into account light sources that have a `key light' attribute set to true. Any shadows cast by these key lights will be ignored. If the key lights do not cast any shadows, the result will be identical to what is produced by `key lights diffuse intensity' AOV. Refer to the key light attribute.
` luminance depth'
This variable produces an grayscale image based on the distance between the camera and the objects; objects closest to the camera's near clipping plane will appear white while objects closest to the camera's far clipping plane will appear black. It is recommended to adjust the camera's clipping plane values to be as close to the object to be rendered as possible.
` specular no shadow'
This variable will produce am image of the specular color shading component without taking any shadowing into account. If there are no lights casting shadows, the output will be identical to the `specular' AOV.
` specular intensity'
The output of this AOV is a grayscale image of the intensity of the specular shading component.
` specular intensity no shadow'
This variable outputs a grayscale image of the intensity of the specular shading component, without taking into account any shadows. If there are no lights that cast shadows, the output will be identical to what is produced by the `specular intensity' AOV.
` key lights specular intensity'
This AOV produces a grayscale image of the intensity of the specular shading component, taking into account only light sources that have a `key light' attribute set to true. Refer to the key light attribute.
` key lights specular intensity no shadow'
This variable outputs a grayscale image of the intensity of the specular shading component, taking into account only the light source that have a `key light' attribute set to true. Any shadows cast by these key lights will be ignored. If the key lights do not cast any shadows, the image produced will be identical to the one output by the `key lights specular intensity' AOV. Refer to the key light attribute.
` color no shadow'
This AOV will produce an image similar to the `color' AOV, but any shadows are ignored.
` raytraced reflection'
This variable outputs what appears in reflections due to raytraced rays that hit surrounding objects.
` environment reflection'
This variable outputs what appears in reflections when raytraced rays hit nothing (i.e. what is controlled by the "reflected color" attribute of the shader). This variable also contains the environment reflections produced by the `Fast Image Based Lighting' and `Full Global Illumination' effects of the render pass. See Global Illumination Effect.
` surface color'
This variable outputs the base surface color without taking any illumination, incandescence, reflection or refraction components into account.
` occlusion'
This variable outputs ambient occlusion computed by either the `Occlusion' or the `Full Global Illumination' effects of the render pass (see Global Illumination Effect). The `mia_amb_occlusion' shading node also puts its results in this variable.
` camera space normal'
This variable outputs the normal of the object in camera space.
` facing ratio'
This variable outputs the facing ratio, similar to what is computed for the `samplerInfo' node's `facingRatio' output plug.
` global illumination'
This variable contains the mixed colors of the various diffuse effects computed by the "Global Illumination" render pass attributes. See Global Illumination.
` indirect diffuse'
This variable contains the color bleeding component computed by the `Full Global Illumination' effect of the render pass. See Global Illumination Effect.
` environment diffuse'
This variable contains the environment diffuse effect computed by either the `Fast Image Based Lighting' or the `Full Global Illumination' effects of the render pass (see Global Illumination Effect).
` environment specular'
This variable contains the environment specular effects (reflections and refractions) computed by either the `Fast Image Based Lighting' or the `Full Global Illumination' effects of the render pass (see Global Illumination Effect).
` Bit Depth'
This option menu specifies how many bits to use per color component. The available values are:
` 8 bit integer'
The image will use 8 bits integer values for each component, with values defined between 0 (black) and 255 (white). This corresponds to a quantization of 0, 255, 0, 255 for zero, one, min and max, respectively, and a dither value of 0.5. This is the default value.
` 16 bit integer'
The image will use 16 bits integer values for each component, with values defined between 0 (black) and 65535 (white). This corresponds to a quantization of 0, 65535, 0, 65535 for zero, one, min and max, respectively, and a dither value of 0.5.
` 16 bit float'
The image will use 16 bits float values for each color component. Currently, only the `exr' display driver supports this format. This corresponds to a quantization of 0, 0, 0, 0, and a dither value of 0 (identical to `32 bit float'); the display driver receives a pixel type specification through an option.
` 32 bit float'
The image will use 32 bits float values for each color component. This corresponds to a quantization of 0, 0, 0, 0, and a dither value of 0.
` Custom... '
All images are rendered internally in 32-bits float format. Quantization is the process of assigning integer values to these floating-point values. Some usual preset values are available in the "Bit Depth" attribute. If they do not include the needed variation, it is possible to specify custom quantization values by selecting this menu entry. Upon selection, a dialog pops up. It allows specification of values for zero, one, min, max and dither amplitude. zero is the black point, while one is the white point. These two values can be different from the min and max values if you need to have under-exposed or over-exposed values. An example set of values for 12 bits output with standard dithering would be: 0, 4095, 0, 4095, 0.5 An example set of values for 16 bits output with a white point at 4K that prevents over-exposed pixels from being clamped to the white value, would be: 0, 4095, 0, 65535, 0.5
` Other Custom entries'
The option menu will also list all custom bit depths defined for all of the current render pass' displays.

Some display drivers have specific requirements as to what bit depths are supported. Refer to Display Driver.

Advanced

The Advanced panel

Figure 3.48: The Advanced Displays panel

The Advanced panel, which is collapsed by default, offers the following attributes:

` Display Subset'
This attribute is used to select one or several Maya sets that is used to narrow down what objects will appear in the display. Set selection is made using the 3Delight Set Selector window which is invoked by clicking on the Sets... button. The "Display Subset" option menu specify how the selected sets will be interpreted and has the following values available:
` All Objects'
All visible objects will appear in the display, disregarding any sets selection made in the 3Delight Set Selector. This is the default.
` Objects in selected sets'
Only visible objects in the selected Maya sets will appear in the display.
` Objects not in selected sets'
Only visible objects that are not in the selected Maya sets will appear in the display. Put differently, all objects in the selected sets will be excluded from the display.
` Gain'
Specifies the gain. Each rendered pixel's color will be multiplied by this value.
` Gamma'
Specifies the gamma. Each rendered pixel's color, once affected by "Gain", goes through a power function whose exponent is 1 / "Gamma".
` Override Pixel Filter'
Each display can have its own filter and filter width values. This toggle is off by default, in which case the display will use the values specified in the Quality section of the render pass. When this toggle is on, these values are overridden with the values specified in the following two attributes:
` Pixel Filter'
` Filter Width'
These two attributes are identical to the "Pixel Filter" and "Pixel Filter Width" in Quality.
` Use Matte Attribute'
When this toggle is off, and if the display's output variable (see Output Variable) is set to an arbitrary output variable, any matte attribute set on objects will be ignored. This toggle is on by default. Refer to Geometry Attribute Matte Object.
` Exclusive Output'
When this toggle is off, and if the display's output variable (see Output Variable) is set to an arbitrary output variable, objects that do not output that variable will be black. Turning this option on will make these objects transparent. This toggle is off by default.
` Associate Alpha'
When this toggle is off, the color of a pixel is divided by the alpha to produce an image with an unassociated alpha channel. By default, this toggle is on.
` Compute Alpha'
When this attribute is on and the display's "Output Variable" (see Output Variable) is an AOV, an alpha channel is added to the AOV. It is computed based on the existence of the output variable for a given object. This toggle is off by default. Usually, when this toggle is on, it is recommended to turn off "Associate Alpha" (see Associate Alpha).

Edge Detection

The Edge Detection Panel

Figure 3.49: The Edge Detection Panel

3DFM can perform outlining on any desired variable. This can be useful, for example, when doing toon rendering or illustration. An example scene can be found in `$DELIGHT/example/maya/outlines'. It is also possible to render shaded wireframes on polygon meshes; see Polygons Wireframe.

` Enable'
This attribute enables edge detection for this particular display. it is set to off by default.
` Detected Variables'
This attribute specifies on what variables the edge detection (outlining) will run. Several variables can be specified, separated by a coma. For example, setting this attribute to `N,z,Oi' will run edge detection on normals, depth and object contours. By default, this attribute is set to `Ci', which is the color of the light reflected by an object.
` Threshold'
This attribute controls the sensitivity of the edge detection. The higher the threshold the more sensitive the edge detection is. For example, when detecting variations on `z' (depth), a value of `0.1' means that if there is a gap of `0.1' between two surfaces (in the z direction) then an edge will be generated. This attribute is set to `0.1' by default.
` Color'
This attribute defines the color of the generated outline. It is set to white by default.
` Filter Width'
This attribute defines the width of the generated outline. It is set to `0.2' by default. Values between `0' and `1' are allowed, producing very fine outlines. In this case it is recommended to raise the "Pixel Samples" attribute (see Pixel Samples) in order to avoid anti-aliasing of the outlines.
Next to this attribute, there is an option menu to determine how this width should be interpreted. The possible values are:
` Pixels'
The filter width is a number of pixels.
` % of Frame Width'
The filter width is taken as a percentage of the image resolution in X.
` Depth Based Fadeout'
This attribute enables the edge thickness fadeout with depth. It is off by default.
` Min Z'
` Max Z'
These two attributes specify the depth range on which the fadeout will be performed. By default, "Min Z" is set to `0.0' and `Max Z' is set to `1000.0'.
` Min Filter Width'
The depth based fadeout will keep edges with a minimum width specified by this attribute. Its default value is `1.0'.

3.9.3.7 Shadow Maps

Before rendering the main image, the render pass will render all needed shadow maps. This panel controls whether to render shadow maps or not and list details about what shaders to use in a shadow render.

The Shadow Maps panel

Figure 3.50: The Shadow Maps panel

` Render Shadow Maps'
This attribute controls wether the shadow maps will be rendered or not. Its default value is on.
` Use Displacement Shaders in Shadows'
This attribute controls if the displacement shaders are used in the shadow maps rendering. By default this toggle is on. Note that turning this toggle off might speed up shadow map rendering but produce incorrect shadows depending on how much the geometry is displaced.
` Use Surface Shaders in Shadows'
This attribute controls if the surface shaders are used in the shadow maps rendering. By default this toggle is off. It is recommended to turn on this attribute only if some surface shaders are displacing the geometry or modifying the opacity.
` Use Atmosphere Shaders In Shadows'
This attribute controls if the atmosphere shaders are used in the shadow maps rendering, and it is off by default. It is recommended to turn this option on only if deep shadow maps are rendered.
` Use Interior Shaders In Shadows'
This attribute controls if the atmosphere shaders are used in the shadow maps rendering, and it is off by default. It is recommended to turn this option on only if deep shadow maps are rendered.
` Z Threshold'
Only objects with opacities greater than or equal to the `Z Threshold' will appear in shadow maps. The default value is [1.0, 1.0, 1.0] which means that only completely opaque objects are rendered into shadow maps. If this value is set to [0.0, 0.0, 0.0] all objects will be included in the shadow map, even completely transparent ones. Note that this parameter is only useful for depth shadow maps as deep shadow maps correctly handle semi-opaque surfaces. For users familiar with the RenderMan standard, this is the equivalent of the following RiOption:
Option "limits" "zthreshold" [r g b]
` Depth Filter'
This attribute offers the same control as the light attributes node's "depth filter" attribute. Note that setting the render pass' depth filter attribute will have no effect on any shadow maps except when a shadow map is produced by one of the render pass' display. In other words, if a render pass has no primary nor secondary display that use the `shadowmap' display driver, no shadow maps will be affected by this attribute. The available values are:
` min'
This is the default value.
` max'
` average'
` midpoint'
This value is a little slower to compute but is usually very good at getting rid of the self-shadowing problems.
` Volume Interpretation'
This attribute will affect only deep shadow maps rendered in one of the displays of the render pass node. Deep shadow maps defined in light attributes nodes will not be affected by this parameter. The available values are:
` Discrete'
This value should be used to compute shadows cast by solid objects.
` Continuous'
This value should be preferred for computing shadows cast by participating media (fog, clouds, smoke, etc.)
` Distance Inside'

3.9.3.8 Global Illumination

This sections will let you render ambient occlusion, image-based lighting and color bleeding effects with minimum effort. Both one bounce and multi-bounce color bleeding are supported (through the photon mapping options). Note that there is no need to attach specific RenderMan shader to geometry in order for the Global Illumination to work. Default visibility attributes will automatically be output for all renderable objects. The various effects can be rendered to the beauty image, and they also can be output to separate output variables.

The Global Illumination Panel

Figure 3.51: The Global Illumination section

` Effect'
The type of effect to render. The available effects are:
` None'
No global illumination effect is rendered.
` Occlusion'
Renders ambient occlusion. The effect can be adjusted using the attributes in the "Occlusion and Color Bleeding" section. The occlusion effect is rendered to `occlusion' output variable (see Occlusion Output Variable), where unoccluded portions of the images are rendered as the color specified by "white point" and fully occluded portions are rendered as the "black point" color.
` Fast Image Based Lighting'
Renders the scene with an environment lighting. The attributes listed in the "Environment" section can be used to adjust the effect. The environment lighting is rendered to `environment diffuse' and `environment specular' output variables (see Environment Diffuse Output Variable and Environment Reflection Output Variable, respectively). The environment lighting will not cast directional shadows. To render an image based lighting effect with directional shadows, the `Full Global Illumination' effect should be chosen instead. The sepcular effects can be further refined by adding some of the "3Delight Shading Attributes" on the desired surface shaders (see The Shading Attributes). The environment specular effects will not be seen if "Specularity" in the "Environment"section is set to 0.
` Full Global Illumination'
Renders a combination of the `Occlusion' and `Fast Image Based Lighting' effects, plus a color bleeding effect. Multi-bounce color bleeding will automatically be computed if the "Render Photon Maps" is set to `Always' or `Automatic' (see Render Photon Maps) and the "Number of Photons" is not null. The occlusion effect is rendered to `occlusion' output variable (see Occlusion Output Variable). Environment lighting is rendered to the `environment diffuse' and `environment specular' output variables (see Environment Diffuse Output Variable and Environment Reflection Output Variable, respectively). The color bleeding effect is rendered to the `indirect diffuse' output variable (see Indirect Diffuse Output Variable).
` Point-Based Full Global Illumination'
Renders global illumination using point-based color bleeding algorithm. Multi-bounce color bleeding will automatically be computed if the "Render Photon Maps" is set to `Always' or `Automatic' (see Render Photon Maps) and the "Number of Photons" is not null. The color bleeding effect is rendered to the `indirect diffuse' output variable (see Indirect Diffuse Output Variable).
` Add To Final Mix'
When enabled, will add all of the computed components (occlusion, environment diffuse, color bleeding) to the final image. If unchecked, the beauty render will not contain any global illumination color so that only the output variables will contain the different elements; this is more useful in a layer-based pipeline.

Occlusion and Color Bleeding

The Occlusion and Color Bleeding Panel

Figure 3.52: The Global Illumination section

` Color Bleeding Intensity'
A multiplier for the color bleeding effect. This attribute is available only when the selected global illumination "effect" is `Full Global Illumination'. The color bleeding effect is output to the `indirect diffuse' output variable (see Indirect Diffuse Output Variable). Setting this attribute to 0 will produce an image based lighting effect.
` Cast Shadows From Environment'
When this attribute is on, the occlusion effect will produce directional shadows based on the environment map being used as a light. Turning this attribute off will produce the same occlusion effect as if no environment map used for image based lighting. This attribute is available only when the selected global illumination "effect" is `Full Global Illumination'.
` Black Point'
` White Point'
These two attributes affect the occlusion computed when "effect" is set to `Occlusion' or `Full Global Illumination'. Shadows can be made lighter by setting "black point" to a lighter shade of gray. Unshadowed regions can be made darker by setting "white point" to a darker shade of gray. Completely occluded (shadowed) regions will be set to "black point"; completely visible regions will be set to "white point". In other words, when rays will hit geometry, they will get the "black point" color. If a ray hits no geometry, it gets the "white point" color. If an environment map is defined while in `Full Global Illumination', the occlusion is multiplied with the environment color.
` Samples'
This attribute specifies the number of samples to use for the occlusion and the color bleeding effects. Higher values produce smoother results and are slower to compute. This attribute is availalbe only when "effect" is set to `Occlusion' or `Full Global Illumination'.
` Max Distance'
Specifies the distance after which ray intersection won't be counted. Reducing this distance will have a positive impact on speed. This attribute is availalbe only when "effect" is set to `Occlusion' or `Full Global Illumination'.
` Falloff'
The falloff affects the intensity of each ray that hits a surface. One can select an exponential or a polynomial falloff type. This attribute is availalbe only when "effect" is set to `Occlusion' or `Full Global Illumination'.
` Falloff Exponent'
Specifies the rate at which the falloff will take place. Higher exponents will lead to more contrasty effects. This attribute is availalbe only when "effect" is set to `Occlusion' or `Full Global Illumination'.

Environment

The Environment section

Figure 3.53: The Environment section

` Use Coordinate System'
The coordinate system to use for the currently selected effect. One can click on the small checker on the right side to create such an environment system. The environment map to be used should then be set in this coordinate system node. See Global Illumination Effect for details about the effect of the environment map for each global illumination effect.
` Use As Background'
Turning on this attribute will put the texture specified in the coordinate system as a background plate. This attribute is available only if "use coordinate system" is not set to `<None>'.
` Intensity'
The environment intensity. This attribute affects the intensity of the environment diffuse effect, environment specular effects and the background (when "Use As Background" is enabled). This attribute is available only if "use coordinate system" is not set to `<None>' and only for the `Fast Image Based' and `Full Global Illumination' effects.
` Specularity'
This atribute controls the amount of environment specular highlights, reflections and refractions generated. This attribute is available only if "use coordinate system" is not set to `<None>' and only for the `Fast Image Based' and `Full Global Illumination' effects.
` Color Gain'
A color that is multiplied by the environment color. This attribute is available only if "use coordinate system" is not set to `<None>' and only for the `Fast Image Based' and `Full Global Illumination' effects.
` Color Offset'
A color that is added to the environment color. This attribute is available only if "use coordinate system" is not set to `<None>' and only for the `Fast Image Based' and `Full Global Illumination' effects.

Photon Maps

The Photon Maps panel

Figure 3.54: The Photon Maps section

` Render Photon Maps'
This attribute controls if photon maps are rendered. Possible values are:
` Never'
No photon maps are rendered.
` Always'
Photon maps are always rendered.
` Automatic'
Photon Maps are automatically rendered only when Global Illumination Effect is set to `Full Global Illumination'.
When the global illumination "effect" is set to `Full Global Illumination', setting this attribute to `Always' or `Automatic' will automatically enable multi-bounce color bleeding. Light sources that must not cast photons should have a light attribute node whose "Emit Photon" attribute has been turned off (see section Photon Maps). "Render Photon Maps" is set to `Automatic' by default.
` Write photon maps'
When this attribute is enabled, the global and caustic photon maps are written to the speicifed files. These files can then be reused in subsequent renderings by specifying the file paths in "Global Photon Mpas" and / or "Caustic Photon Maps" and setting "Render Photon Maps" to `Never'.
` Number Of Photons'
Specifies the total number of photons that will be used in the light simulation. Using more photons gives more precise results, but is longer to compute.
` Number Of Bounces'
Specifies the total number of diffuse photon bounces.
` Global Photon Map'
` Caustic Photon Map'
These two attributes specifies a global photon map, for effects such as final gathering, and a caustic photon maps. 3DFM uses the one pass technique to compute photon maps (maps are not saved to disk), so these two names are needed only for shaders when calling the photonmap() and caustic() shadeops. One could enter `global' and `caustic' in those fields. By default, these two attributes are empty.

Point Cloud

The Point Cloud section

Figure 3.55: The Point Cloud section

` Bake Camera'
Specifies a different camera to be used for the pointcloud generation. Usually, a camera that has a better view of the whole scene is selected for this. By default, the viewing camera is used.
` File'
Specifies where the scene point cloud file is to be stored.
` Write Mode'
This attribute controls in what circumstances the point cloud file is rendered.
` Reuse existing point cloud'
If the point cloud file specified above does not exists, it will be rendered. If the file already exists, it is assumed to be correct and will not be regenerated. Enabling this option will make subsequent re-renderings faster since the point cloud file will be computed only once.
` Overwrite existing point cloud'
Point cloud file is always rendered. This is the default.
` Shading Rate Multiplier'
This controls the shading rate (see Shading Rate) during point-cloud generation. The higher the shading rate the smaller is the pointcloud. Smaller point-clouds will render faster but will give less accurate results during the main render. Common values vary between 0.5 and 16.
` Max Solid Angle'
This is a quality vs. speed knob for the point-based occlusion and affects the main rendering (not the point-cloud generation). The higher the value the coarser is the approximation and the faster is the render. Values larger than 0.2 tend to give very noticeable artifacts.
` Bias'
This attribute is similar to Raytrace Bias, but is used for point-based operations. Its value may be adjusted to remove dark patches on objects.

3.9.3.9 Render Sets

A particular render can include only a subset of the scene's objects, lights and clipping planes. A common workflow is to render the scene in layers (foreground, background, ...) for later compositing. This panel lets you control what objects to include in this render. These settings are valid regardless of the "Render Mode" selected (see Render Mode). Only the scene elements that are part of the selected sets will end up being output to an image, to a RIB file or to a RIB archive.

The Render Sets panel

Figure 3.56: The Render Sets panel

` Shader Collection'
Use this attribute to specify what shader collection to use for this render pass. By default, this attribute is set to `<none>'. Refer to Understanding Collections for more about shader collections.
` Objects to Render'
This attribute specifies which Maya set to render. When no particular set is specified (default) all objects will be rendered. By default, this attribute is set to `all visible objects'.
` Lights to Render'
This attribute specifies which Maya set to look for the lights to use for this render. By default, this attribute is set to `<all visible lights>'.
` Clipping Planes to Render'
This attribute specifies which Maya set to look for the clipping planes to use for this render. By default, this attribute is set to `<all visible clipping planes>'.
` Layer To Render'
This attribute specifies which Maya render layer to use for rendering. Selecting a render layer here has an effect on all of "Objects to Render", "Lights to Render" and "Clipping Planes to Render" attributes. The scene elements ultimately rendered are the result of the union of the selected render layer and the Maya set selected in the aforementioned attributes. Put differently, in order to be rendered, a given scene element must be a member of both the selected Maya render layer and the selected Maya set. By default, this attribute is set to `<current>', so the rendered layer will be whichever one is currently selected in Maya. When using the batch render or command line rendering, leaving this attribute set to `<current>' will render all renderable layers.

3.9.3.10 RIB Archives

This section contains additional options to fine tune the output of RIB archives. Refer to the RIB Archives Guidelines for more details about the purpose of a RIB Archive. The following attributes are only relevant when the render pass' "Render Mode" is set to `RIB Archive'. Refer to Render Mode.

The RIB Archives panel

Figure 3.57: The RIB Archives panel

` Archive Lighting'
This attribute will specify how lighting information is output in the RIB archive file. The following options are available:
` No Lighting'
No lighting information will be written in the RIB archive file. This option is useful when the desired lighting will change from one scene to another; it will allow objects in the archive to be lit by the light sources linked to the RIB archive node used to insert this archive in a given scene.
` Light Linking'
The light linking information will be written in the RIB archive file, but not the light sources themselves. This setting allows light sources parameters (such as position, intensity, light color, etc.) to be changed after the RIB archive file has been written and still see these changes reflected in the archive content. However, the light source names must remain unchanged in the scene where the RIB archive is read back. If a RIB archive node is used to read the archive file back in a scene, it should be linked to all of the light sources whose light linking information is archived to allow proper handling of the light linking information the archive contains. Refer to The RIB Archive Node.
` Light Sources & Light Linking'
The light sources and light linking information is stored in the RIB archive file. This is the default.
` Archive Write Mode'
This attribute controls when the RIB archive file is written. The available values are:
` Reuse existing archive'
When this value is selected, 3Delight For Maya will check if the archive file specified in the "RIB filename" attribute (see section Output). If the file exists, the only things done for each frame is to execute the "Pre Frame MEL" and the "Post Frame MEL" scripts. Refer to MEL Scripts.
` Overwrite existing archive'
When this value is selected, the file specified in the "RIB filename" attribute (see Render Mode) will be overwritten every time a rendering is requested.
` Generate RIB Archives(5)'
When this attribute is on and the "Objects to Render" attribute in the Render Sets section (see section Render Sets) contains a RIB archive node that can be written, that node will be rendered automatically before this render pass node is rendered. Note that only the frames specified in this render pass' Camera section (see section Camera) will be rendered for the RIB archive nodes. Refer to The RIB Archive Node. When this option is off, it will be assumed that the required RIB archive file have been created previously. By default, this attribute is on.
` Ignore Archived Objects(6)'
If this attribute is on, the objects defined in the Render Sets section of all RIB archive nodes that are in this render pass' render sets will be removed from the list of objects to render, leaving only the archive to be read. Turn this option off if you want to see both the objects and the archive that they are contained in. By default this option is on.

The following options are only available if the render pass "Render Mode" is set to `RIB Archive' (see Render Mode):

` Archive Transforms'
This attribute controls whether the object transforms are output to the RIB archive or not. It is on by default.
` Concatenate Geo Transforms'
If this attribute is on, the transforms for geometric objects are output as relative transforms. Turn this option off to output absolute transforms, in which case the archived objects will always be positioned at their archived position, regardless of the placement of the RIB archive node used to read the archive back in a scene. This option is on by default.
` Concatenate Lights Transforms'
If this attribute is on, the transforms for light sources are output as relative transforms. Turn this option off to output absolute transforms, in which case the archived light sources will always be positioned at their archived position, regardless of the placement of the RIB archive node used to read the archive back in a scene. This option is on by default.
` Archive Geometry Shaders'
When this attribute is on, the shaders of geometric objects are archived. This option is on by default.
` Archive Geometry Attributes'
When this attribute is on, the attributes specified in a geometry attribute node attached to any archived object will be output in the RIB archive file. Turn it off to avoid outputting these attributes in the archive. This option is on by default.

3.9.3.11 RIB Fragments

RIB Fragments are used to store in files the geometry data produced right before every rendering. A RIB Fragment file contains the geometry of all objects in the fragment's associated object set. Once the fragment file is written, subsequent renderings can simply assume that the objects in the fragment's set have already been processed and skip several of the steps that occur before the actual image rendering begins.

RIB fragments aim to speed up multiple renderings and multi-frame renderings. When re-rendering multiple times the same frame, a single fragment will suffice. When rendering multiple frames, fragments work best when using distinct fragments for static and animated objects.

The RIB fragment files contain only geometric information about the objects. All other data, such as light linking, transformations, shading and attributes, are not stored in the fragment file. The RIB archive node is better suited when some (or all) of this extra data is needed in the file; see The RIB Archive Node.

If a scene object is set to be in several fragments, only the fragment closer to the top of the list will actually contain that object. In other words, if several fragments are used and only the last one's "Object Set" is set to `<all visible objects>', this last fragment will contain only the objects that none of the above fragments contain.

The RIB Fragments panel

Figure 3.58: The RIB Fragments panel

Each fragment is shown in its own panel. To add a fragment, either click on the Add RIB Fragment button, or select "Add RIB Fragment" in the contextual popup menu that appears when right-clicking almost everywhere in the RIB Fragments panel. This menu also offers options to expand or collapse all display panels at once, and turn on or off all fragment's "Use" or "Write" toggles. To remove a display, click on its Remove Display button, which appears as a trashcan.
At the top of the RIB Fragments panel are a few general controls, followed by a list of per-fragment panels. The general controls affect all RIB fragments, and are:

` Binary Rib'
When this options is on, the RIB file will be saved in binary format, producing a smaller file. Turn this option off to produce a text RIB file, which is bigger but easier to edit. By default, this option is off.
` Compressed Rib'
This option controls if the RIB file will be compressed, producing a smaller file. By default this option is off.
` Write Mode'
This attribute controls when a fragment file is written. The available values are:
` Reuse existing fragments'
When this value is selected, 3Delight For Maya will look for the fragment file specified in the fragment's "Filename" attribute. If the file exists, then the fragment file is assumed to be up to date, and that completes the geometry output for this fragment. If the file does not exist, it will be created unless the fragment's "Write" attribute is turned off.
` Overwrite existing fragments'
When this value is selected, the file specified in the fragment's "Filename" attribute will be overwritten every time a rendering is requested, unless the fragment's "Write" attribute is turned off. This is the default.
` Add RIB Fragment'
Clicking on this button will create a new RIB fragment.

Each fragment has its own panel showing the attributes that are specific to that fragment.

` Use'
When this attribute is off, the fragment is completely ignored and the objects in its "Object Set" will be output as usual. This attribute is on by default. Note that it is possible to change all fragments' "Use" attribute at once using the contextual popup menu's `Use All' and `Use None' menu options.
` Write'
Controls if the fragment file can be written. The condition in which a fragment file is written is determined by the "Write Mode" (see RIB fragments write mode). This attribute is on by default. Note that it is possible to change all fragments' "Write" attribute at once using the contextual popup menu's `Write All' and `Write None' menu options.
` Remove RIB Fragment'
This button appears as a small trashcan. Clicking on this button removes the fragment from the render pass.
` Filename'
The path of the file that will contain this fragment's objects geometric data. If the path is relative, it is assumed to be relative to the 3Delight RIB Fragments project path (see Automatic File Output Control). When these objects are animated, it is recommended to add the frame number to the filename; see File Path Expressions for details.
` Browse for RIB File button'
This button, drawn as a folder, brings up a file browser to specify a RIB filename.
` View RIB button'
This button, drawn as a magnifying glass, will open the fragment's RIB file in a viewing application. See The Preferences Window for details on how to specify which application should be launched.
` Object Set'
This attribute specifies which objects are contained in the fragment's file. If an object is set to be in several fragments, only the fragment closest to the top of the fragment list will actually contain the object. The default value is `<all visible objects>', which means the fragment will contain all visible objects that are not already in a fragment above this one.

3.9.3.12 Search Paths

This section specifies the search paths 3DELIGHT will use when looking for various resources. A search path is a colon or semi-colon separated list of paths. Directories can be separated with `/' or `\' on Windows but only by `/' on other platforms. Each path can include some special symbols:

For example, the following would specify a valid search path for textures.

@:$HOME/textures:$PROJECT/textures

Search Paths panel

Figure 3.59: The Search Paths panel

` Shader Path'
` Texture Path'
` Procedural Path'
` Archive Path'
Specifies search paths for shaders, textures, procedurals and archives, respectively. By default, all these attributes are set to `@', which is the default path specified by the DL_*_PATH variables.

3.9.3.13 MEL Scripts

3Delight For Maya gives you the ability to execute MEL scripts at certain locations during the rendering. This opens up the possibility of doing whatever tweaks required before each rendering. Since 3DELIGHT comes with a set of MEL bindings for the RenderMan standard, it also becomes possible to insert RenderMan commands anywhere during rendering (see section MEL Binding). This is the equivalent of "RIB Boxes" in other packages but with the added flexibility of a scripting language. In addition to the MEL scripts listed here, there are others available in geometry attribute nodes (see section The Geometry Attribute Node) and in the light attribute nodes (see section MEL Scripts).
The following variable is automatically defined in the context of these scripts execution:

` string $render_pass'
This variable is assigned the current render pass node name.

The MEL Scripts panel

Figure 3.60: The MEL Scripts panel

` Pre Render MEL'
` Post Render MEL'
Specify scripts to run before and after the rendering is finished, respectively. Those scripts are guaranteed to run first and last. They are also executed outside of any RiBegin/RiEnd block, so these scripts are not appropriate for invoking RenderMan commands.
` Pre Frame MEL'
` Post Frame MEL'
Specify scripts to run before and after each frame, respectively. These two scripts are the very first and last things executed for each frame; they are called even before and after the RiBegin/RiEnd block, so these scripts are not appropriate for invoking RenderMan commands.
` Post Option MEL'
Specifies a script to execute after all RenderMan options have been issued, but before the camera transforms. This can be used to override any option.
` Pre World MEL'
Specifies a script to execute just before RiWorldBegin which is also right after where the camera transforms are issued.
` Post World MEL'
Specifies a script to execute right after RiWorldEnd (but before RiFrameEnd).

3.9.3.14 Advanced

This panel provides some additional options for the more advanced user. It is strongly recommended to read more about these parameters in 3Delight User's Manual.

The Advanced panel

Figure 3.61: The Advanced panel

` Hider'
This attribute specifies the type of hidden surface algorithm used. The available options are:
` hidden'
The hidden hider will be used. This is the default.
` raytrace'
The raytrace hider will be used.
` photon'
The photonmap hider will be used. Note that the maps specified in the "Global Photon Map" and "Caustic Photon Map" attributes will be written, regardless of the value of the "Write Photon Maps" attribute. The "Number of Photons" attribute must be set to a value greater than 0. see section Global Illumination.
` progressive rayrace'
The raytrace hider will be used, and the rendering is quickly displayed as a complete but coarse image which is progressively refined. Effective only when one of the displays is using the `framebuffer', `maya_render_view' or `i-display' display driver.
` Bucket Size'
3DELIGHT renders the image in small regions called "buckets". This parameter, expressed in pixels, controls the size of those regions. The default size is 16 x 16, which usually is the best balance between memory usage and performance.
` Grid Size'
3DELIGHT splits the geometry into grids of micro-polygons. This parameter, expressed in number of micro-polygons, controls the size of each grids. The default grid size is 256.
` Texture Memory'
3DELIGHT manages a cache that holds texture data. This parameter controls the size of the cache. Raise this value if a lot of textures are used.
` Eye splits'
Sets the maximum limit of geometry splits for objects that cross the "eye-plane". A more complete discussion about eye-splits can be found in 3Delight User's Manual. The default value for this attribute is 10.
` Opacity Threshold'
Specifies a surface opacity value above which a surface is considered opaque. This gives the opportunity to 3DELIGHT to cull more geometry in very dense regions (such as patches of fur). The default value of (0.996, 0.996, 0.996) is a good quality vs. performance trade-off.
` Z Threshold'
Controls the opacity value of the objects used for the Z output. Only objects with opacities greater than or equal to the `Z Threshold' will be used in the Z output. The main reason to modify the default value of [0.996, 0.996, 0.996] is when using the `zmin' or `zmax' pixel filters with transparent or semi-opaque objects. If this value is set to [0.0, 0.0, 0.0] all objects will be included in the Z output, even completely transparent ones. Note that changing the Z ouptput can affect some raytracing operations. For users familiar with the RenderMan standard, this is the equivalent of the following RiOption:
Option "limits" "zthreshold" [r g b]
` Number Of CPUs'
Sets the number of threads to use for this render. If set to `0', the renderer will use all processors available. This is the default.
` Translate Maya Shaders'
This toggle controls if the translation from Maya's HyperShade shaders to RenderMan shaders occurs. When turned off, the translation process is skipped but the renderer might still look for the translated shaders, depending on the value of the "Use Maya Shader" attribute. By default, this attribute is on.
` Use Maya Shaders'
This toggle controls if the renderer will look for translated Maya shaders or not. By default, this attribute is on.
` Translate Maya Shaders With'
This attribute controls which AOVs will be computed in translated Maya shaders. The available options are:
` Default AOVs for Render Mode'
When the "Render Mode" is set to "Render", only the AOVs defined in the "displays" section of the render pass will be computed. If the "Render Mode" is set to `RIB Archive', all predefined AOVs will be computed in the translated shaders if they are output in a display. This is the default.
` Defined AOVs Only'
Only the AOVs defined in the "displays" section of the render pass will be computed in translated shaders.
` All AOVs'
All predefined and displayed AOVs will be computed in the translated shaders. While more flexible, this can result in slightly slower rendering times as the rendered needs to verify if each one of the AOV is being displayed before it is computed.
` Standard Atmosphere'
This toggle controls which algorithm is used for volume (interior and atmosphere) shaders. When this attribute is on, the traditional algorithm is used, which can be slower and has problems with transparent surfaces. When off, an alternate algorithm is used that deals better with these issues. Note that the volume shader needs to be written appropriately to work correctly when this attribute is off. If a volume shader is not rendering properly, it may render correctly with this attribute turned on. Please refer to the 3Delight User's Manual for more details about the `standardatmosphere' render option.
` Volume Shading Rate'
This options controls the frequency of shading for interior shaders. It also applies to atmosphere shaders if the "standardatmosphere" option is set to 0. The default voume shading rate is 1.0.

3.9.3.15 Network Cache

The Network Cache panel

Figure 3.62: The Network Cache panel

3DELIGHT has a unique feature that improves performance when rendering over networked environments(7): the renderer can cache textures that are located on the network to the local hard drive for faster data access and saving network bandwith. The network cache content is updated automatically - when files are modified on the file server, the local (cahced) copies will automatically be updated the first time they are needed for a rendering.

` Use Net Cache'
A toggle enabling or disabling the network cache. By default, this toggle is off.
` Net Cache Dir'
Specifies the directory in which files will be cached. This directory should be local to the machine that performs the render. A common choice is `/tmp/3delight'. By default, this attribute is empty.
` Net Cache Size'
Specifies the maximum size of the cache, in megabytes. The default size is 200 MB. When the net cache attains that size, accessing a uncached file will automatically discard the least recently accessed file in the cache. Since textures, shadow maps and RIB files will be cached, the cache can fill up rapidly. The network cache will only use disk space up to the size specified.

3.9.3.16 Statistics

The Statistics panel

Figure 3.63: The Statistics Panel

3DELIGHT can provide many useful statistics at the end of each rendered frame. This section controls the statistics level of detail and output file.

` Output Render Progress'
Turning on this attribute will make 3Delight report the rendering progress to standard error (stderr). This attribute is off by default.
` Statistics Level'
Specifies statistics' verbosity: `0' gives no statistics and `3' provides all the available statistics. The default level is `0'.
` Statistics File'
When specified, will contain the statistics output in text format. Note that if you are rendering to a TIFF, you can provide the name of that file to contain statistics(8)! This is very useful since it keeps statistics bound to their rendered image. By default, this attribute is empty.

3.9.3.17 User Options and Attributes

In a similar fashion to how extra attributes on geometry attribute nodes are handled (see User Attributes), it is possible to define custom attributes on a Render Pass node that are output as either user RiOption or user RiAttribute. Each Render Pass node can define as many arbitrary user attributes as needed. 3Delight for Maya will look for attributes whose name begin with "attribute_user_" and will produce them as user RiAttributes. To define user RiOptions, the attribute name should begin with "option_user_" For instance, a `color float3' attribute named `attribute_user_colorMultiplier' will produce a RiAttribute `colorMultiplier'. The supported attribute types are:

3Delight for Maya 6.0. Copyright 2000-2011 The 3Delight Team. All Rights Reserved.