3DelightForMaya UserManual
3DelightForMaya UserManual
0
A fast, high quality, RenderMan-compliant renderer
Copyright
c 2000-2010 The 3delight Team.
i
Short Contents
....................................................... 1
1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 The User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 The Render Command Line Interface . . . . . . . . . . . . . . . . . . . 110
5 Rendering Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6 MEL Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7 Developer’s Corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Concept Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
ii
Table of Contents
....................................................... 1
1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
8 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1 Installation
If 3delight has been properly installed, the only thing to do in Maya is to load the plug-in.
This is done through the following menus:
Window -> Settings/Preferences -> Plug-in Manager
If 3delight is installed in the default directory, the following path will appear in the
Plug-in Manager:
windows
C:\Program Files\3Delight\maya\plugins
mac os x
/Applications/Graphics/3Delight-8.0/lib
linux
${DELIGHT}/lib
Check the ‘loaded’ checkbox next to the plug-in file that corresponds to the Maya
version running to execute it. The plug-in are named ‘3delight_for_mayaX.mll’ for Win-
dows users, ‘3delight_for_mayaX.so’ for Linux users and ‘3delight_for_mayaX.dso’ or
‘3delight_for_mayaX.bundle’ for Mac OS X users, where X is the version of Maya being
used. After this step, a 3Delight menu will appear in the menu bar.
When using Joe Alter’s Shave and a Haircut Maya plug-in, you can also load the
‘3dfm_shaveX.mll’, ‘3dfm_shaveX.dso’ or ‘3dfm_shaveX.bundle’, depending on whether
the platform being used is Windows, Linux or Mac OSX, respectively; X is the version of
Maya being used. Refer to Section 5.4.8 [Shave and a Haircut Tips], page 137 for more
information about the benefits of using this second plugin.
If the path does not appear in the Plug-in Manager , use the hBrowsei button to load the
plug-in manually.
Chapter 2: Overview 3
2 Overview
3Delight For Maya is a fully integrated Maya plug-in that let you render Maya scenes using
the powerful 3Delight renderer. The plug-in is designed to be easy to use but integrates
some features that are only used in modern RenderMan pipelines. The full list of features
is listed in 3Delight For Maya Technical Specifications (included in the package).
Quick Start
To render a scene, one can simply:
1. Load the scene and the plug-in (using the Plug-in Manager ).
2. Set the default renderer in the Render Globals to ‘3Delight’.
3. Start the render as usual.
normal or deep) is selected through the light attribute node. See Section 3.8
[The Light Attribute Node], page 47.
The Assignment Panel
This handy dialog is used to view and modify what shader node, attribute nodes
and shader collections are assigned to the selected objects. See Section 3.2 [The
Assignment Panel], page 10.
RIB Archives
3Delight For Maya can create and read RIB archives. This is a handy
feature when efficient rendering of complex scenes is required. See Section 3.11
[The RIB Archive Node], page 97.
RenderMan Code Node
This advanced Hypershade node allows insertion of SL code (RenderMan Shad-
ing Language code) in a Hypershade network. See Section 3.12 [The RenderMan
Code Node], page 99.
Chapter 3: The User Interface 5
object-centric
If an object is selected in the left pane, the right pane will highlight both the
shaders and attributes that are directly assigned and the ones that are inherited
by these objects. Selecting more than one object will show connections that
are common to all selected objects. Note that there are many ways to connect
attributes to object (such as by inheritance), this is explained in Section 3.5.2
[Geometry Attribute Node Inheritance], page 16.
Figure 3.5: List of all actions available through the contextual menu of the attribute
pane.
the editor window. Similarly, clicking on the >> button will collapse the editor back to two
panes.
The leftmost pane offers two display modes for its content: Collections and Collection
As Passes. The display mode can be selected via the option menu at the top of this pane.
Collections Mode
In this mode, the leftmost pane will list existing collections. New collections can be created
through the pane’s Create -> Collection menu item. When a collection is highlighted,
the other panes will display and edit assignments made for that collection. Object level
assignments can be viewed and modified by clearing the highlighted nodes in the leftmost
pane. Operations available in this pane are listed in Figure 3.2.
Figure 3.7: List of all actions available through the contextual menu of the collection as
passes pane.
The delay occurs once after the modification, and can occur again when collapsing part
of the tree in the objects pane. Creating shaders or attribute nodes and modifying their
assignations does not cause any delay. To avoid any slowness, it is recommended to leave the
objects pane’s Name Filter empty and to turn on all of ‘Geometry’, ‘Lights’ and ‘Cameras’
options in the Objects pane Show menu.
Usage is very simple: selecting a Maya object updates the panel’s content to show
current assignments; all modifications performed through the panel will be applied to the
selected object. Obviously, this interface is doesn’t provide a global overview of the different
connections as in the case with the relationship editor.
Chapter 3: The User Interface 11
‘Directory’
The "Directory" option menu will contain the default ‘$DELIGHT/shaders’ en-
try as well as all paths listed in the $DL_SEARCH_PATH environment variable.
The compiled shader files in the selected entry are displayed in the list below.
The ‘Specify’ entry can be selected to use a different directory then the ones
defined in this option menu.
‘Path’ "Path" allows specification of a shader directory that is not defined in the
$DL_SEARCH_PATH environment variable. It is only available when the "Direc-
tory" option menu is set to "Specify".
‘Name Filter’
Only the filenames that match the expression set in "Name Filter" will be
displayed in the shader file list. Wildcard characters such as ‘*’ can be used in
the filter.
‘Refresh’ Clicking on this button will update the file list to reflect current directory
content.
‘Shader File List’
This list displays all the shaders in the selected directory that match the name
filter. Only shaders of a specific type are listed; this type is defined by the
creation mechanism used to invoke the shader selector. For instance, if Create
-> Surface Shader was selected in the 3Delight Relationship Editor , only surface
shaders will be listed. In some cases it may be allowed to select multiple files in
the list. Double clicking on an entry in the list has the same effect as clicking
once on the item and then clicking on the Select button.
‘Select’ Use the selected shader file(s) to complete the operation for which the Shader
Selector was brought up.
‘Close’ Close the Shader Selector , ignoring any selected shader files.
Chapter 3: The User Interface 14
The name of the node on which the attribute addition or removal will occur is displayed
that the top of the window. The dialog will remain tied to that node until either the node
is deleted or the Add / Remove Attributes button of a different node is clicked. The dialog
is splitted in two sections:
‘Attribute Groups’
This section contains a list of attribute categories. Marking an attribute cat-
egory with a check mark will add all missing attributes from that category to
the node. Removing the check mark from an attribute category will delete all
attributes from that category.
‘Attributes’
This section displays all available attributes, grouped by category. It is pos-
sible to cherry-pick attributes since each one has its own checkbox. The first
checkbox of a category is a shortcut to add or remove all attributes from that
category, exactly like the related checkbox in the "Attribute Groups" section.
For instance, clicking in the "Area Light" checkbox of the "Attribute Groups"
section will have the same effect as clicking in the "All Area Light Attributes"
checkbox in the "Area Light" subsection of "Attributes".
Chapter 3: The User Interface 16
Finally, it appears that the "tree2" object does not need to be visible in reflections.
To adjust this, it gets assigned a "InvisbleInReflectionsAttrs" attribute node, in which
the specular rays visibility is set to "invisible". This overrides the specular rays visibility
inherited from the "RayTraceVisibilityAttrs". The model will still be visible to transmission
rays, as this attribute (also inherited from "RayTraceVisibilityAttrs") is not overridden.
The objects under the "flowers" and "grass" groups must not be visible to the ray tracer
at all. One way to recreate the effects of the previous setup would be:
1. Create the same geometry attribute nodes "RayTraceVisibilityAttrs", "Displacemen-
tAttrs" as in the previous example.
2. All objects under the "rocks" group still need their displacement attributes, so the
"DisplacementAttrs" node is added to "rocks".
3. It would be handy to have the trees and the rocks share the same ray tracing attributes,
so that one can turn the reflections on or off for everything using a single attribute.
For the trees, it’s easy: attach the "RayTraceVisibilityAttrs" directly to the "trees"
group.
4. Now, the "rocks" groups already have the "DisplacementAttrs" node attached to them
so it is impossible attach the "RayTtraceVisibilityAttrs" to that node. However, it is
possible to define an alternate parent from which inherit attributes simply by creating
a connection between the nodes’ "altParent" plugs.
When creating connections with "altParent" plugs, the direction of the connection is
out from the parent, and in to the child. A given geometry attribute node can be the
the parent of several other children geometry attribute nodes. It is generally best to use
geometry attributes nodes that are not directly attached to a scene object as alternate
parents. One way to create and edit them is through the 3Delight Relationship Editor .
It is possible to mix both the scene inheritance and the "altParent" connections inheri-
tance. For instance, if a new "Shading Rate" attribute is created at the root of the scene, all
objects under it -including "rocks"- would inherit it. Note that combining both "altParent"
and scene structure inheritance can potentially complicate things and make scene structure
less maintainable.
The following sections details every attribute in their respective categories. While it is
possible to add a entire attribute category to an attribute node, there is nothing wrong with
adding only the needed attributes in a category.
3.5.3 General
This panel controls the color, opacity and “sidedness” of attached object.
‘Color’ This attribute specifies the surface color (Cs) of the attached objects. This
color can be overridden by the attached shader; shaders translated from Maya
Hypershade shaders will usually multiply their base shader color with Cs. This
means that a single hypershade shader can have a white base color and be
assigned to multiple objects; each object can defined their own surface color
value so they all have the same shading look but a unique color. Photons will
only use this color and ignore both types of shaders. The default color color is
white (‘1.0, 1.0, 1.0’).
‘Opacity’ This attribute specifies the surface opacity (Os) of the attached objects. Darker
values are less opaque. This color can be overridden by the attached shader.
The default opacity is completely opaque (‘1.0, 1.0, 1.0’).
‘Double Sided’
This attribute controls if only the object’s front side (the side pointed by the
direction of the normal) is visible, or if both the front and back sides are visible.
When this attribute is on, the object is visible on both sides. This attribute is
on by default.
‘Double Shaded’
When this attribute is on, each surface is shaded twice: once with the normals in
their usual direction and once with the normals reversed. This allows thickness
to be given to a surface with displacement or to avoid shading artifacts where
a transparent surface changes orientation. This attribute is off by default.
Chapter 3: The User Interface 20
‘Reverse Orientation’
If the surface is one sided and this attribute is turned on, its orientation will be
reversed. This attribute is off by default and has no effect when the "Double
Sided" attribute is turned on.
3.5.4 Quality
This panel controls how finely this geometry will be tessellated and how surface derivatives
will be computed.
‘Motion Factor’
This attribute specifies how the shading rate of an object increases when moving
rapidly. Since a fast moving object will be heavily blurred, it makes sense to
use a coarser shading rate in that case. The same can be said about an object
that is out of focus due to the chosen depth of field. The default setting of ‘1.0’
is is a good quality versus performance compromise.
‘Focus Factor’
This attribute specifies how the shading rate increase as an object gets blurred
by depth of field. The default setting of ‘1.0’ is a good quality versus perfor-
mance compromise.
‘Smooth Derivatives’
‘Centered Derivatives’
Enables smooth and centered derivatives, respectively. By default, these two
attributes are on; more details about these two parameters can be found in
3Delight User’s Manual.
Chapter 3: The User Interface 21
3.5.5 Visibility
‘Matte Object’
When this attribute is on, the attached objects act as a matte holdout. Matte
objects are not shaded and behave as if they were completely opaque, hiding
any objects behind them, but appear in the image as transparent black pixels.
This attribute is off by default.
‘Composite Objects Behind’
When this attribute is off, the attached objects, even if semi or completely
transparent, will mask all objects behind them. This attribute is on by default.
‘Visible To Camera’
If this attribute is turned on, the attached objects is visible to the camera. By
default, this attribute is on. Note that turning this attribute off will simply
make the attached objects invisible to the camera; they will still be exported
to RIB.
‘Transmission Rays (shadows)’
This attribute specifies the visibility of the object relative to ray traced shadow
rays, or transmission rays. Possible values are:
‘Invisible’
The object is not visible to shadow rays. This is the most efficient
option, but of course no ray traced shadows are possible. This is
the default value.
‘Opaque’ The object is visible to shadow rays and is considered to be com-
pletely opaque. This option gives good performance since no shader
evaluation is necessary for shadow rays. This value should be pre-
ferred when ray traced shadows are desired, the object is completely
opaque and the surface shader does no displacement or opacity com-
putation.
Chapter 3: The User Interface 22
‘Primitive Opacity’
The object is visible to shadow rays and its opacity is constant
and defined by the "Opacity" attribute in the geometry attribute
node (see [Opacity], page 19). This is also an efficient option and
should be preferred when the surface shader does no displacement
or opacity computation.
‘Shader Opacity’
The most expensive shadow mode: the renderer will evaluate sur-
face’s opacity using the attached shader. This option is recom-
mended only when when the objects’ opacity is not constant over
their surface (an example would be an opacity modulated by a tex-
ture map), or when the surface shader displaces the surface.
‘Invisible’
The object is not visible to ray traced specular rays. This is the
most efficient option, but of course no ray traced reflections or
refractions are possible. This is the default value.
‘Primitive Color’
The object is visible to ray traced specular rays; these rays will be
affected by the object’s "Color" and "Opacity" attributes in a ge-
ometry attribute node (see [Color], page 19 and [Opacity], page 19).
This is also an efficient option and should be preferred when reflec-
tion and refraction can be approximated by a constant color and
opacity.
‘Shader Color’
The most expensive shadow mode: the renderer will evaluate sur-
face’s opacity using the attached shader to determine the color and
opacity that will affect ray traced specular rays. Note that using
this value will produce identical results to what the outdated ""Vis-
ible to Reflections"" attribute was produced when it was turned on.
‘Invisible’
The object is not visible to diffuse ray. This is the most efficient
option, but of course no occlusion computation is possible. This is
the default value.
‘Opaque’ The object is visible to ray traced diffuse rays; it is considered fully
opaque and white.
‘Visible To Photons’
When this attribute is on, the attached objects surfaces will interact with pho-
tons according to the selected "Shading Model" (see Section 3.5.9 [Geometry
Attribute Node Global Illumination], page 26). This attribute is on by default.
3.5.6 Lighting
‘Illumination From’
This attribute controls how the attached objects are illuminated. When ‘<light
linker>’ is selected, the objects are illuminated by lights linked to them. When
Maya object sets are defined in the scene, they will also be listed in this option
menu; assigning this attribute to a set will illuminate attached objects with the
light sources contained in the set. By default, this attribute is set to ‘<light
linker>’.
Chapter 3: The User Interface 24
3.5.7 Raytracing
‘Raytrace Displacements’
When this attribute is checked, it enables ray tracing of true geometric displace-
ments. The default is to ray-trace displacements as bump maps (a displaced
surface appears bump mapped in a mirror reflection). Enabling this feature
makes ray tracing slower and forces 3delight to use more memory so this
option should be used with care.
‘Raytrace Bias’
Specifies a bias for rays starting point to avoid potentially erroneous intersec-
tions with emitting surface. The default value is ‘0.01’.
‘Trace subset’
This attribute is used to select one or several Maya object sets that is used to
narrow down what objects are visible to ray traced rays. This feature can be
useful when a scene is using referenced objects that already have their "Trans-
mission" attribute correctly set, but only part of these objects are needed to
be visible to ray traced rays in this specific scene. The "Trace subset" option
menu has the following values available:
‘All Objects’
All objects whose "Transmission" and "Visible To Reflections" at-
tributes have been properly set will be visible to ray traced rays.
This is the default.
‘Transformation Blur’
This attribute controls if the attached objects are subject to transformation
blur. Refer to Section 3.9.3.4 [Render Pass Motion Blur], page 63 for more
information about motion blur. The available values are:
‘Deformation Blur’
This attribute controls if the attached objects are subject to deformation blur.
Refer to Section 3.9.3.4 [Render Pass Motion Blur], page 63 for more informa-
tion about motion blur. The available values are:
‘Inherit’ The attached objects will be deformation blurred only if the "De-
formation Blur" attribute is turned on in the render pass node used
for rendering. This is the default.
3.5.10 Displacement
‘Displacement Bound’
This attribute specifies the displacement bound for the attached objects, which
is the amount by which the bounding box of each object should be increased
to include the displaced surfaces. Failure to provide the renderer with a decent
value will result in shading artifacts (when the value is too small) or inefficiency
(when the value is too large). When the displacement bound is too small,
3Delight issues an error message stating by how much the value is too small;
it is recommended to use this information to assign a reasonable bound. The
default value is ‘0.0’, which is fine only if the surfaces are not displaced.
‘Bound Space’
This attribute defines in which space the "Displacement Bound" parameter is
defined. The default space is ‘shader’.
‘Micropolygons in U’
This attribute forces 3delight to use a certain number of micro-polygons on
the width of each curve. The default value is ‘1’, which is the same as disabling
"Hair Dicing".
3.5.12 Geometry
The attributes in this category and its subcategories have a direct effect on how the objects
in Maya are translated to RenderMan primitives. For this reason, they have no effect on
Chapter 3: The User Interface 29
the geometry imported in the scene by a ‘RIB Archive Node’, and they will not be affected
by the "Ignored Archived Geometry Attributes"
‘Output Geometry’
When this attribute is off, the attributes of the "Geometry Attribute Node"
will be output but not the geometry of the objects that are attached to it. By
default, this attribute is on.
‘Output Faceid’
Turning on this attribute will produce a primitive variable named "faceid" that
define one id number per face of the primitive. This variable can be used
with the Edge Detection feature of a display to produce a wireframe outline
of the primitive simply by setting the "Detected Variable" attribute to ‘float
faceid’. See [Edge Detection], page 74 for details.
Chapter 3: The User Interface 30
3.5.12.1 Polygons
color set. Additionally, a float array is also exported; its name consists of
the color set name with ‘ alpha’ appended to it. It contains ‘0’s for vertices
where the color set is not defined, and ‘1’s were it is defined. This attribute is
off by default. See Section 5.4.3 [Exporting Per-Vertex Attributes on Polygon
Meshes], page 131 for an example on how to use this.
‘Poly As Subd’
When this attribute is checked, 3Delight for Maya will consider this polygonal
geometry as being a smooth subdivision surface. If this attribute is off, the
polygon mesh will be considered as just that, a polygon mesh. This attribute
is ignored when the attached object is not a polygonal geometry, and it is off
by default.
‘Smooth UVs’
High quality rendering of textured subdivision surfaces cannot be accomplished
without properly interpolated texture coordinates. This control enables pre-
cisely that. The following three values are offered:
‘No’ No smoothing is performed. This will not lead to high quality
results but has the advantage of not stretching texture coordinates
over face boundaries.
‘Partial’ Will ask 3Delight to perform some work to minimize UV distortion
on the surface. Seams are left untouched. This is the default.
‘Full’ Will use more advanced algorithms to minimize distortion of UV
coordinates at texture seams. This will usually yield better results
but might cause some textures to look misplaced. It is best to try
it to see what it does.
note: This also controls the interpolation of vertex colors and other quan-
tities that are attached to geometry’s vertices.
‘Export Hard Edges (for Poly as Subd)’
If the attached object is made of polygonal geometry that contains hard edges,
setting this attribute to on will export the hard edges. The effect of this at-
tribute is similar to the "Keep Hard Edges" attribute of a "Maya Subdiv Proxy"
node. This attribute is ignored if the "Poly As Subd" attribute is turned off (it
is off by default).
‘Export Creases (for Poly As Subd)’
If the attached object is made of polygonal geometry and is connected to a sub-
division proxy containing creases, turning this attribute on will export creases
(creases on edges and vertices are exported). This attribute is ignored if the
"Poly As Subd" is turned off (it is off by default).
‘Interpolate Boundary’
When this attribute is on, boundary edges and vertices are infinitely sharp.
This attribute is on by default.
‘Round Edges’
When this attribute is on, it will round the edges of the attached polygon mesh.
The resulting primitive is a subdivision surface, regardless of the value of any
Chapter 3: The User Interface 32
it is off, the width is expressed in object space. In other words, turning on this
attribute means that the wireframe width will remain constant even when the
object or the camera is moving. This attribute is on by default.
‘Wireframe Width’
This attribute defines the width or the wireframe. Its value is interpreted in
pixels or in object space units depending on what the "Raster Space Wireframe"
attribute is set to. This attribute is set to ‘1.0’ by default.
3.5.12.3 NURBS
3.5.12.4 Curves
This panel contains options to control Maya Curves rendering.
‘Start Width’
‘End Width’
If "Output Maya Curves" is checked, specifies the width of the curves at their
roots and tips, respectively.
Chapter 3: The User Interface 34
3.5.12.5 Particles
‘Inherit’ The render type set in the particle shape will be used. This is the
default.
‘Points’ The particle system will be rendered as points, overriding the render
type set in the attached particle shape.
Chapter 3: The User Interface 35
‘Spheres’ The particle system will be rendered as spheres, overriding the ren-
der type set in the attached particle shape.
‘Sprites’ The particle system will be rendered as sprites, overriding the ren-
der type set in the attached particle shape.
‘Streak’ The particle system will be rendered as streaks, overriding the ren-
der type set in the attached particle shape.
‘Blobby’ The particle system will be rendered as blobbies, overriding the
render type set in the attached particle shape.
‘Disk’ The particle system will be rendered as disks, overriding the render
type set in the attached particle shape.
‘Particle Size Space’
This attribute is used to specify the space in which the size of the particles is
expressed. Available values are:
‘Raster Space’
The particle size will be taken as pixels. The particle size will
remain the same, even if the distance between the camera and the
particle system changes.
‘Object Space’
The particle size is expressed in the object space. Scale transforms
affecting the particle system will influence the particle size. This is
the default.
‘World Space’
The particle size is expressed in world space.
‘Particle Size Override’
When this attribute exists, it defines the size of the particles, overriding what
is defined in the attached particle system shape. This can be useful when the
particle size needs to be expressed in object space or world space, since the
particle shape "Point Size" attribute has a minimum of 1, which can be too
large for size in object or world space.
‘Paticle Size Scale’
This attribute specifies a scaling facotr that is applied to per particle or per
system size value. The default scale factor is ‘1.0’.
‘Render As Volumes In DSMs’
Particles rendered into a deep shadow map will appear as flat objects. Thus,
when viewed from a different location than the light, the half closer to the
light will not be shadowed while the other half will have self-shadowing. When
this attribute is on, particles will be exported with a thickness equivalent to the
width, height or radius or the particle, which should generally be enough to work
around the shadowing problem. Note that this only has effect when rendering
deep shadow maps, and only when the "Volume Interpretation" attribute is set
to ‘continuous’. See [Light Attribute Volume Interpretation], page 49.
Chapter 3: The User Interface 36
This panel is irrelevant if the attached object is not a particle shape or a nCloth shape.
Refer to Section 5.4.4 [Exporting Particle Attributes], page 133 for an example on how to
use this. By default, all particle systems are exported with the following primitive variables:
‘colorRed’
‘colorGreen’
‘colorBlue’
‘rgbPP’
‘opacity’
‘opacityPP’
‘incandescence’
‘incandescencePP’
Chapter 3: The User Interface 37
‘Subsurface Group’
This attribute specifies a group name. Objects that have the same group name
will belong to the same subsurface group. If the object that will undergo the
subsurface simulation consists of several separate models, each of these models
should be attached to a "Geometry Attribute Node" and this attribute should
be assigned the same value in all of these nodes. Even if a model is closed
and thus would be alone in its group, it is still required to specify a group
name here. This attribute is empty by default. Leaving this attribute empty
effectively turns off subsurface scattering.
‘Reduced Absorption’
This attribute specifies the reduced absorption coefficients. Its default value is
‘0.002 0.004 0.007’.
‘Reduced Scattering’
This attribute specified the reduced scattering coefficients. Its default value is
‘2.190 2.620 3.00’.
‘Refraction Index’
This attribute specifies the refraction index of the simulated material. It is set
to ‘1.5’ by default.
‘Coefficient Scale’
The values for subsurface scattering use a millimetre scale. This attribute
specifies the scale to apply these parameters when the objects are not exported
in millimetres. The default value for this attribute is ‘0.1’, since 3Delight for
Maya exports the objects in centimetres.
Chapter 3: The User Interface 41
• bool
• long, long2, long3
• float, float2, float3 (color or non-color)
• double, double2, double3
Chapter 3: The User Interface 44
The presence of a geometry modifier attribute in an object will override any identical
attribute in attached "Geometry Attribute Node".
Once a shading attribute is added to the object, the gadgets to control its value are
displayed in a separate 3Delight Shading Attributes frame layout, which appears at the
bottom of the Attribute Editor .
‘Blur’ Angle in radians that define a sampling cone. Larger values prodduce smoother
results but may require a higher number of samples.
‘Noise Amplitude’
Amplitude of noise applied to the reflection.
‘Noise Frequency’
Frequency of noise applied to the reflection.
Chapter 3: The User Interface 47
Light attribute nodes are created empty. Attributes can be added and removed by using
the Add / Remove Attributes button. hLeft-Clicki on this button brings up the Add / Remove
Attributes Window , which is better suited for multiple attribute addition or removal (see
Section 3.4 [The Add / Remove Attributes Window], page 14). hRight-Clicki 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.
off. Refer to Section 5.5.5 [Automatic File Output Control], page 143. Note
that a decent default file name is automatically generated when the "Generate
Shadow Maps" toggle is turned on while the shadow map name is left empty.
‘Shadow Map Resolution’
This attribute specifies the image resolution for the shadow map. The default
resolution is 512x512.
‘Shadow Map Shading Rate’
This attribute specifies the "Shading Rate" to be used for the rendering of
this shadow map. The default value for this attribute is ‘1.0’. Note that the
shading rate value entered here is not a multiplier of render pass’ shading rate;
it is used “as is”. Refer to Section 3.9.3.3 [Render Pass Quality], page 61 for
more information about the shading rate.
‘Shadow Map Type’
It is highly recommended to read the discussion about shadow map types that
be found in 3Delight User’s Manual; it details the pros and cons of each type.
The available shadow map types are:
‘normal’ Select this value to compute depth map shadows. This is the default
value and should be the preferred type since it is faster to compute.
‘Volume Interpretation’
This attribute is only available when "Shadow Map Type" is set to ‘deep’. The
available values are:
‘Discrete’
This value should be used to compute shadows cast by solid objects.
Chapter 3: The User Interface 50
‘Continuous’
This value should be preferred for computing shadows cast by par-
ticipating media (fog, clouds, smoke, etc.)
‘Distance Inside’
‘Shadow Map Pixel Samples’
This attribute specifies in how many sub-samples each pixel will be subdivided
for the shadow map rendering. The default is 2x2.
‘Generate First Frame Only’
If selected, 3Delight For Maya will only render the shadow map on the first
frame of animation. This is a good choice when the objects that cast shadows
are not animated. It is recommended to avoid inserting a ‘#’ in the "Shadow
Map Name" attribute (or to check the "Add Frame Ext" attribute of the light
node when the "Shadow Map Name" is left empty) when this option is turned
on. By default, this attribute is set to off.
‘Generate With Motion Blur’
When this attribute is on, the shadow map will be rendered using the same
shutter opening and closing times as the camera used for rendering the frame.
This will produce motion-blurred objects in the shadow map, provided that at
least one object has at least one of the transformation blur or deformation blur
options turned on. Since depth shadow maps do not contain any transparency
information, they are not recommended for creating proper motion blurred
shadows. The motion blurred portions of the shadow map will produce grainy
shadows; however it is possible to blur these grainy parts to some extent using
the light source shader’s "shadow blur" or "shadow filter size" attributes. Deep
shadow maps are a better choice when motion blurred shadows are needed;
however a moving, motion blurred, self-shadowing object will only be properly
shadowed if the deep shadow map is not motion blurred. Refer to Section 3.5.8
[Geometry Attribute Node Motion Blur], page 25 and Section 3.9.3.4 [Render
Pass Motion Blur], page 63 for details on the motion blur options.
‘Generate Cube Shadow Map’
If this light attribute is attached to a point light, you may want to generate a
shadow map for each direction (since point lights illuminate in every direction).
Enabling this toggle will force 3Delight for Maya to generate an aggregated
shadow map that contain six shadow maps. This option is off by default.
‘Shadow Camera’
This attribute specifies what camera will be used to render the shadow map.
When no camera is specified, the light source attached to this attribute node
will be used to position the camera used for the shadow map rendering; in this
case the camera’s angle of view is defined by the light’s cone angle (if the light
source is a spotlight). By default, no camera is selected.
‘Near Clipping Plane’
This attribute defines the near clipping plane for the shadow map rendering.
The default value is ‘0.001’.
Chapter 3: The User Interface 51
3.8.5 Category
‘Key Light’
This attribute can be used to differentiate some light sources from the others
by tagging them as key lights. Key lights have specific AOVs that can be
used to render a specific component of their contribution to the image’s overall
appearance, isolating their contribution form the effect of the other light sources
of the scene. Refer to Section 3.9.3.5 [Render Pass Displays], page 65 for more
information on these specific AOVs.
‘Category’
This attribute can be used to define categories to which the attached lights
belong. Categories are used in shaders to do computations on a subset (or
category) of the scene’s light sources. This attribute is empty by default.
‘Transformation Blur’
This attribute controls if the camera used for rendering the shadow map will
have transformation blur applied to it or not. This camera is either explicitly
specified, or it is derived from the attached light’s position and orientation (see
[shadow camera attribute], page 50). Note that this attribute is ignored unless
the "Generate With Motion Blur" attribute is turned on (see [generate with
motion blur attribute], page 50). The available options are:
‘Inherit’ Transformation blur will be applied to the shadow map camera ac-
cording to the "Transformation Blur" attribute of the render pass.
The number of samples is determined by the "Transformation Sam-
ples" of the render pass. This value has no effect if "Generate With
Motion Blur" is turned off.
Chapter 3: The User Interface 53
‘Samples’ This attribute sets the number of samples to use when sampling the area light.
Larger values take longer to render but give smoother results. The default is
16. This attribute has no effect if the attached light shape is not an area light.
‘Sampling Strategy’
This attribute controls how the attached area lights are rendered. The two
possible values are:
‘Faster’ In this mode, specular highlights will not follow the shape of the
area light1 , only shadows will be rendered correctly.
‘Better’ In this mode, both the specular highlights and the shadows are
rendered correctly. This setting is recommended when accurate
specular highlights are important.
1
They will appear as highlights from a punctual light source.
Chapter 3: The User Interface 54
• Have multiple rendering quality levels. It is usual to have a render pass with settings
for a draft render and another one for high quality renders
• Split rendering of different objects in the scene (such as foreground and background
objects) between different passes. In this case, a render pass is equivalent to the
rendering of a layer which might be composited in a compositing software later in the
pipeline
• Make a render output a different set of output variables. A rendering could for example
output surface normals for later processing1
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 Section 3.9.2.6 [Saving a
Render Pass as a Template], page 57.
1
Although 3delight is able to output many variables in a single render using multiple displays as shown
in Section 3.9.3.5 [Render Pass Displays], page 65.
Chapter 3: The User Interface 56
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.
The Duplicate menu contains the list of all defined render passes in the scene.
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 Section 5.5.5 [Automatic File Output Control], page 143 for
details.
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], page 60) 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.
Chapter 3: The User Interface 60
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 Section 3.9.3.5 [Render
Pass Displays], page 65.
for RIB archives are available in the RIB Archives section. Refer
to Section 3.9.3.9 [Render Pass RIB Archives], page 84 for more
details on these options, or to the Section 5.3 [RIB Archives Guide-
lines], page 125 for examples on how to use this option. See also
Section 5.5.4 [File Path Expressions], page 141 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 auto-
matically generated. Refer to Section 5.5.4 [File Path Expressions], page 141
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.
‘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 Section 3.16 [The Preferences Window], page 107.
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.
Chapter 3: The User Interface 62
‘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 Chapter 5 [Rendering Guidelines],
page 119.
‘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.
Chapter 3: The User Interface 63
‘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.
Chapter 3: The User Interface 64
‘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 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.
‘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.
‘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 cam-
era 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.
2
These parameters will respect the value set for ‘Shutter Angle’ in Maya’s camera properties.
Chapter 3: The User Interface 65
3.9.3.5 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).
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.
‘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 pack-
age, must be installed. This display driver only works in ‘32-bits
float’; refer to [Bit Depth], page 72.
‘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], page 72.
‘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],
page 72. It is usually desirable to set the ‘Output Variable’ to ‘z’.
Refer to [Output Variable], page 68.
‘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], page 72.
‘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.
Chapter 3: The User Interface 69
The following AOVs are defined for scene elements shaded using Maya’s Hyper-
shade. 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 ren-
dered 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 ren-
dered 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 ren-
dered image, producing a reflection render pass RGB image.
‘refraction’
This variable outputs the refraction shading component of the ren-
dered 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 vari-
able 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 im-
age.
‘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 iden-
tical 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.
Chapter 3: The User Interface 70
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], page 52.
‘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 envi-
ronment reflections produced by the ‘Fast Image Based Lighting’
and ‘Full Global Illumination’ effects of the render pass. See
[Global Illumination Effect], page 78.
‘surface color’
This variable outputs the base surface color without taking any il-
lumination, 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], page 78). The
‘mia_amb_occlusion’ shading node also puts its results in this
variable.
‘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
Section 3.9.3.7 [Render Pass Global Illumination], page 78.
‘indirect diffuse’
This variable contains the color bleeding component computed by
the ‘Full Global Illumination’ effect of the render pass. See
[Global Illumination Effect], page 78.
Chapter 3: The User Interface 72
‘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], page 78).
‘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], page 78).
‘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.
‘Custom...’
All images are rendered internally in 32-bits float format. Quantiza-
tion 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 pos-
sible 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
Chapter 3: The User Interface 73
Some display drivers have specific requirements as to what bit depths are supported.
Refer to [Display Driver], page 66.
Advanced
‘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.
‘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".
‘Pixel Filter’
‘Filter Width’
These two attributes are identical to the "Pixel Filter" and "Pixel Filter Width"
in Section 3.9.3.3 [Render Pass Quality], page 61.
‘Exclusive Output’
When this toggle is off, and if the display’s output variable (see [Output Vari-
able], page 68) is set to an arbitrary output variable, objects that do not out-
put 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], page 68) 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], page 74).
Edge Detection
Chapter 3: The User Interface 75
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’.
‘Continuous’
This value should be preferred for computing shadows cast by par-
ticipating media (fog, clouds, smoke, etc.)
‘Distance Inside’
3.9.3.7 Global Illumination
This sections will let you render ambient occlusion, image-based lighting and color bleed-
ing 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 spe-
cific 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 ef-
fects can be rendered to the beauty image, and they also can be output to separate output
variables.
[Indirect Diffuse Output Variable], page 71). Setting this attribute to 0 will
produce an image based lighting effect with directional shadows.
‘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’.
Chapter 3: The User Interface 81
Environment
nate system" is not set to ‘<None>’ and only for the ‘Fast Image Based’ and
‘Full Global Illumination’ effects.
‘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 Section 5.1 [Understanding
Collections], page 119 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. Select-
ing 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
Chapter 3: The User Interface 84
in Maya. When using the batch render or command line rendering, leaving this
attribute set to ‘<current>’ will render all renderable layers.
‘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
Chapter 3: The User Interface 85
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.
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 Section 3.11 [The RIB Archive Node], page 97.
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.
Chapter 3: The User Interface 87
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.
Chapter 3: The User Interface 88
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], page 87). 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.
When these objects are animated, it is recommended to add the frame number
to the filename; see Section 5.5.4 [File Path Expressions], page 141 for details.
‘Browse for RIB File button’
This button, drawn as a folder, brings up a file browser to specify a RIB file-
name.
‘View RIB button’
This button, drawn as a magnifying glass, will open the fragment’s RIB file in
a viewing application. See Section 3.16 [The Preferences Window], page 107
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.
• The ‘@’ symbol specifies the default path. Default paths for each resource are settable
through the configuration file or through environment variables (refer to 3Delight User’s
Manual for more information about both configuration file and default environment
variables). Environment variables override any value set in the configuration file.
• The ‘&’ symbol specifies the previous path list.
• A word starting with a ‘$’ and followed by uppercase letters (e.g. $HOME) is considered
as an environment variable and is replaced by its value at render time.
• The ‘~’ symbol, when placed at the beginning of a path, is equivalent to $HOME.
For example, the following would specify a valid search path for textures.
@:$HOME/textures:$PROJECT/textures
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.
Chapter 3: The User Interface 90
3.9.3.13 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.
Chapter 3: The User Interface 91
‘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 3.9.3.7 [Render Pass Global Illu-
mination], page 78.
‘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.
Chapter 3: The User Interface 92
‘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.
‘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 Ren-
derMan 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 de-
fined 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 trans-
lated 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 atmo-
sphere) shaders. When this attribute is on, the traditional algorithm is used,
Chapter 3: The User Interface 93
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 cor-
rectly with this attribute turned on. Please refer to the 3Delight User’s Manual
for more details about the ‘standardatmosphere’ render option.
3delight has a unique feature that improves performance when rendering over net-
worked environments3 : the renderer can cache textures that are located on the network to
the local hard drive for faster data access. A complete discussion about network caching
advantages is discussed in 3Delight User’s Manual.
3
Only available on linux and mac os x.
Chapter 3: The User Interface 94
3.9.3.15 Statistics
4
Statistics will be written as a TIFF tag.
Chapter 3: The User Interface 95
Since all rendering options are inside render pass nodes, the render settings offer a
few gadgets to select which render pass will be used when a rendering is launched. The
attributes of the selected render pass are displayed right after, just like they are in the
Attribute Editor . Refer to Section 3.9.3 [Render Pass Attributes], page 57 for details about
these attributes.
By default, ‘<default>’ is assigned as the selected render pass. This setting creates a
empty render pass node that is deleted right after the rendering process completes. The
same default attribute values as when a full render pass is created are used for rendering,
except for the following modifications:
• when the render process is launched by the Render Current Frame menu option, the
"Display Driver" of the Primary Display set to ‘maya render view’. This also applies
if the Selected Render Pass does not contain any displays.
• when the render process is launched by the Render Current Frame menu option, the
render camera will be specified by Maya (and usually is the camera of the most recently
selected vscene viewport). This also applies if the Selected Render Pass does not contain
a "Camera" attribute.
• when the rendering is launched used the Batch Render menu option, the "Display
Driver" of the Primary Display is set to ‘tiff’ and the "Image Filename" of the Pri-
mary Display is set to create a tiff file whose name contains the scene name, the frame
number and the ‘.tif’ extension. This file will be created in a ‘3delight/images’
folder located under the current project directory. This will also apply if the Selected
Render Pass does not contain any displays.
Chapter 3: The User Interface 97
In 3Delight for Maya, RIB archives can be read into a scene by the RIB archive node,
while archive files can be written by setting the "Output Mode" of a render pass to ‘RIB
Archive’ (see Section 3.9.3.2 [Render Pass Output], page 60). Both nodes can be connected
together to allow automatic archiving of selected scene elements. Refer to Section 5.3 [RIB
Archives Guidelines], page 125 for examples on all these options.
default, the option menu is set to ‘<none>’. There are two buttons to the right
of this option menu:
Texture button
Used to create a new render pass node. This new node will be
connected to the RIB archive node. It will also have its "Render
Mode" attribute set to ‘RIB Archive’. Its "RIB Filename" will
have a default filename based on the RIB archive node that it is
connected to.
AE button
Used to show the connected render pass in the Attribute Editor .
‘Archive Read Mode’
This attribute controls how the archive reading will happen when rendering.
The following values are available:
‘Delayed’ This value will have the renderer read the archive only when the
space included in its bounding box is visible to the camera. This
is the most efficient option as the archive will only be read when
necessary. To work properly, a decent bounding box needs to be
defined, which is always the case when the archive has been created
by a render pas. Refer to Section 5.3.2 [Reading a RIB Archive],
page 125 for more details about this.
‘Immediate’
This value will have the renderer read the archive file as soon as it
encounters the directive, meaning that the file will be read regard-
less of whether the archive is visible to the camera or not. This
option should be used when the bounding box attributes should be
ignored.
‘Ignore Rib File Bbox’
When this attribute is on, any bounding box information contained in the RIB
archive file is ignored. The Bbox Min and BboxMax attributes are unlocked
and can be modified.
‘Bbox Min’ This attribute lists the minimum point in x, y and z for the archive bounding
box.
‘Bbox Max’ This attribute lists the maximum point in x, y and z for the archive bounding
box.
‘Bbox Scale’
This attribute specifies scale factors to resize the archive bounding box in the
x, y and z directions.
Chapter 3: The User Interface 99
The RenderMan Code node is a utility Hypershade node provided by 3Delight for Maya
that allows insertion of RenderMan Shading Language code in the Hypershade network.
This means that it is possible to provide any Maya Hypershade node the result of any
RenderMan Shading Language computation.
To create a RenderMan Code node, simply click on its icon, which is located in the
General Utility section of the node list in the Hypershade.
Refer to the following rendering guidelines for examples on how this node can be used:
• Section 5.4.2 [Using Attributes to Export Primitive Variables], page 129
• Section 5.4.3 [Exporting Per-Vertex Attributes on Polygon Meshes], page 131
• Section 5.4.4 [Exporting Particle Attributes], page 133
‘Shading Parameters’
This attribute lists the parameters for the node. This attribute will define node
plugs and shader parameters for the node. Once defined, the Parameters panel
will list the input and output plugs. To edit this attribute, click on the Edit in
Text Editor button next to it. The parameters need to be declared each on its
own line. The following parameters can be defined:
‘type name ’
This will define an input plug of type type and name it name. type
can be one of the following:
• float
• float2 Used for arrays of 2 floats
• float3 Used for arrays of 3 floats
• string
name is a string that defines the name of the plug.
‘output type name ’
Prepending ‘output’ to a plug definition defines an output plug.
See [input plug definition], page 100 for details about the type and
the name.
‘shader_input rsl_type name ’
This keyword is not used to define a plug for the node, but instead
it will define a shader input parameter (i.e. a parameter that can be
fed a value through the RiSurface call). rsl type is any legal type
in the RenderMan Shading Language. When a parameter value is
expected to change during the object shading, it is recommended to
prepend varying to the type name. The variable name is specified
by name.
‘shader_output rsl_type name ’
This keyword is used to define a shader arbitrary output variable
(AOV). rsl type is any legal type in the RenderMan Shading Lan-
guage. The variable name is specified by name.
By default, this attribute contains a comment block that summarizes its usage.
‘Shading Code’
This attribute specifies the RenderMan Shading Language code that will be in-
serted in the shading network. To edit this attribute, click on the Edit in Text
Editor button next to it. The code specified by this attribute will be put in a
function where all parameters defined by the ‘Shading Parameters’ attribute
will be available. Additionally, standard variables such as P and N can be ac-
cessed with an external declaration. 3Delight for Maya also defines the variables
float ss and float tt when translating Hypershade shading networks; these
two variables hold the texture coordinates generated and manipulated by the
various Hypershade nodes. By default, this attribute contains a comment block
that summarizes its usage.
Chapter 3: The User Interface 101
‘Parameters’
The content of this panel is generated based on what is assigned to the "Shading
Parameters" attribute. It will list all the input and output plugs defined for
this node, with gadgets relevant for the plug type.
Chapter 3: The User Interface 102
3.13.2 Drawing
‘Texture Opacity’
Sets the opacity of the dome’s texture. If the texture has an alpha channel,
the alpha values are multiplied by this value. This attribute is set to 0.75 by
default.
‘Texture Resolution’
This attribute controls the resolution of the preview copy of the texture dis-
played in the scene view.
‘Texture is HDRI’
This attribute indicates to 3Delight For Maya that the selected dome texture
should be treated as high dynamic range image. When this attribute is on,
texture values are compressed in the visible range, which helps viewing high
dynamic range images (HDRI). For low dynamic range (regular) textures, it is
best to set this attribute to off, which is the default.
Chapter 3: The User Interface 104
up by the ‘Select closed objects’ button. The items selected here will be
subtracted from the items selected via the ‘Select closed objects’ button.
note: The ‘Difference’ operator is only defined when two set of objects
are available, contrary to the ‘Union’ and ‘Intersection’ operators that
are defined with a single set of objects. This explains the need for a second
object selector.
Chapter 3: The User Interface 107
It is possible to define which application will be used to visualize the following file types:
‘RIB’ This application will be launched to view RIB files. The default application is
WordPad on Windows and TextEdit on Mac OSX. There is no default appli-
cation on Linux.
‘Log’ This application will be launched to view rendering log files. The default appli-
cation is WordPad on Windows and Console on Mac OSX. There is no default
application on Linux.
‘Image’ This application will be launched to view images. The default application is
i-display on all platforms.
‘Shadowmap’
This application will be launched to view shadow maps. The default application
is i-display on all platforms.
Chapter 3: The User Interface 108
‘Photonmap’
This application will be launched to view photon maps. The default application
is ptcview on all platforms.
‘Statistics’
This application will be launched to view statistics output by the rendering
process. The default application is Internet Explorer on Windows, Safari on
Mac OSX and Firefox on Linux.
3.16.3 Shaders
Shader Preview
The options presented in this tab affect the shader nodes preview swatch visible when a
shader node is displayed in the attribute editor . The shader preview can also be launched
in i-display via the Preview Shaders contextual menu option in the 3Delight Relationship
Editor
‘Primitive’
This attribute determines the geometry that is rendered when previewing a
shader. The available values are:
‘Sphere’ The shader will be applied to a sphere. This is the default.
‘Teapot’ The shader will be applied to a teapot.
‘Custom’ The shader will by applied to the RIB file specified in the "Primitive
RIB Archive".
Chapter 3: The User Interface 109
Shader Nodes
‘Hide Attributes’
Shader nodes with a lot of parameters tend to display slowly in the attribute
editor . This attribute specifies the number of shader parameters over which
3Delight for Maya will automatically set all shader parameter attributes as
hidden. Hidden attributes are ignored by all Maya editors; they will still be
displayed in the attribute editor but not in any other maya editor. Hidden
attributes speed up the attribute editor refreshes quite a bit. It is possible to
hide or unhide attributes on a per-shader basis by selecting the ‘Hide Shader
Attributes’ toggle in the contextual menu shown when right-clicking on a
shader node in the 3Delight Relationship Editor or inside the Attribute Editor
while it is displaying a shader node.
Chapter 4: The Render Command Line Interface 110
4.1 Overview
3Delight renders can be launched using Maya’s command line renderer. 3Delight For Maya
has command line parameters to control just about every aspect of the rendering process.
The following command gives a list of the available command line parameters specific to
the 3Delight For Maya plug-in:
Issuing the Render command with only the ‘-r 3delight’ option will render the renderd
pass that is selected in the 3Delight Render Settings when the scene was saved. If no
render pass was selected, a default render pass will be created for rendering, with the same
parameters as the default ones used for batch rendering. Refer to Section 3.10 [The 3Delight
Render Settings], page 95.
4.2 Options
Just about all render pass attributes used for rendering can be set with the command line
interface. The available parameters are listed below. Refer to Section 3.9 [The Render
Pass], page 55 for more information about the effect of each render pass attribute.
‘General options’
‘-3dfmshave <boolean>’
Load or unload the 3dfmShave plugin.
‘Render Pass selection options’
Since all options that change the render pass attributes operate on the cur-
rently selected render pass, this option should be specified right after the ‘-r
3delight’ option.
‘-rp <string>’
Select <string> as the render pass node used for rendering. If the
specified node does not exists, the selected render pass will remain
unchanged.
‘Render Pass Camera options’
The following options control the attributes grouped under the render pass
Camera panel:
‘-cam <string>’
Select <string> as the camera to be rendered.
‘-x <int>’ Set the rendered image width.
‘-y <int>’ Set the rendered image height.
‘-resm <int>’
Specify the resolution multiplier. The following values are available:
‘0’ Full resolution.
Chapter 4: The Render Command Line Interface 111
‘-tmb <boolean>’
Toggle the transformation blur on or off.
‘-tmbs <int>’
Set the number of samples for transformation blur.
‘-dmb <boolean>’
Toggle the deformation blur on or off.
‘-dmbs <int>’
Set the number of samples for deformation blur.
‘-mbp <int>’
Set the motion blur position. The following values are available:
‘0’ End on frame
‘1’ Centered on frame
‘2’ Start on frame
‘-soe <float>’
Define the shutter opening efficiency.
‘-sce <float>’
Define the shutter closing efficiency.
‘-sa <float>’
Set the shutter angle for motion blur. <float> should be between 1
and 306.
‘Render Pass Primary Display options’
The following options control the attributes grouped under the render pass
Primary Display panel:
‘-rpd <boolean>’
Toggle the rendering of the primary display on or off.
‘-img <string>’
Specify the image filename of the primary display.
‘-of <string>’
Specify the primary display output file format (i.e. the display
driver to use). Note that when this option is used, there is no
need to also use the ‘-pdd’ option. The following values are avail-
able: framebuffer, idisplay, tiff, iff, exr, cineon, zfile, bmp, epx, psd,
radiance, shadowmap, texture and null.
‘-pdd <int>’
Specify the primary display driver to use. Note that when this
option is used, there is no need to also use the ‘-of’ option. The
following values are available:
‘0’ Framebuffer
‘1’ i-display
Chapter 4: The Render Command Line Interface 114
‘-pdqdit <float>’
Set the dither value for quantization. Only relevant when setting
the primary display bit depth to custom quantize. See [-pdbd],
page 114.
‘Render Pass Secondary Display options’
The following options control the attributes grouped under the render pass
Secondary Display panel:
‘-rsd <boolean>’
Toggle the rendering of the secondary displays on or off.
‘Render Pass Shadow Maps options’
The following options control the attributes grouped under the render pass
Shadow Maps panel:
‘-rsm <boolean>’
Toggle the shadow map rendering on or off.
‘-dssm <boolean>’
Controls if the displacement shaders are used in the shadow map
renderings.
‘-sssm <boolean>’
Controls if the surface shaders are used in the shadow map render-
ings.
‘-assm <boolean>’
Controls if the atmosphere shaders are used in the shadow map
renderings.
‘-issm <boolean>’
Controls if the interior shaders are used in the shadow map render-
ings.
‘-ztr <float>’
Set the red value for the z threshold.
‘-ztg <float>’
Set the green value for the z threshold.
‘-ztb <float>’
Set the blue value for the z threshold.
‘Render Pass Photon Maps options’
The following options control the attributes grouped under the render pass
‘Photon Maps’ panel:
‘-rpm <boolean>’
Toggle the rendering of the photon maps on or off.
‘-nbp <int>’
Set the number of photons.
‘-gpm <string>’
Specify the global photon map to use.
Chapter 4: The Render Command Line Interface 116
‘-cpm <string>’
Specify the caustic map to use.
‘Render Pass Render Sets options’
The following options control the attributes grouped under the render pass
‘Render Sets’ panel:
‘-sc <string>’
Specify the shader collection to render. Specify an empty string to
use no shader collections.
‘-ors <string>’
Specify the object set to render. Specify an empty string to render
all visible objects.
‘-lrs <string>’
Specify the light set to render. Specify an empty string to render
all visible lights.
‘-cprs <string>’
Specify the clipping plane set to render. Specify an empty string
to render all visible clipping planes.
‘-lr <boolean|name(s)>’
‘-rl <boolean|name(s)>’
Specify the Maya render layer to render. It is possible to specify
multiple layer names, as long as they are separated by a space and
the list is surrounded by double quotes. If this parameter is set to
‘on’, ‘true’ or ‘1’, all renderable layers will be rendered. If an empty
string, ‘off’, ‘false’ or ‘0’ is specified, the ‘defaultRenderLayer’
(or masterLayer) will be used. When this parameter is not specified,
all renderable layers will be rendered, unless the selected render pass
specifies which layer is to be rendered with its "Layer To Render"
attribute. In this case, only this layer will be rendered, provided it
is renderable. If it is not renderable, nothing will be rendered.
‘Render Pass RIB Archives options’
The following options control the attributes grouped under the render pass RIB
Archives panel:
‘-arl <int>’
Specify how to archive lighting. The following values are available:
‘0’ No Lighting.
‘1’ Light Linking.
‘Light Sources & Light Linking’
‘arw <int>’
Set the archive write mode. The following values are available:
‘0’ Reuse existing archive.
‘1’ Overwrite existing archive.
Chapter 4: The Render Command Line Interface 117
‘-grar <boolean>’
Generate RIB archives toggle.
‘-iao <boolean>’
Ignore archived objects toggle.
‘-art <boolean>’
Archive transforms toggle.
‘-cgt <boolean>’
Concatenate geo transforms toggle.
‘-args <boolean>’
Archive geo shaders toggle.
‘-args <boolean>’
Archive geo attributes toggle.
‘Render Pass Search Flags options’
The following options control the attributes grouped under the render pass
Search Flags panel:
‘-shp <string>’
Specify the shaders search path.
‘-txp <string>’
Specify the textures search path.
‘-prp <string>’
Specify the procedural search path.
‘Render Pass MEL Scripts options’
The following options control the attributes grouped under the render pass
MEL Scripts panel:
‘-preRender <string>’
MEL script executed before rendering.
‘-postRender <string>’
MEL script executed after rendering.
‘-preFrame <string>’
MEL script executed before each frame is rendered.
‘-postFrame <string>’
MEL script executed after each frame is rendered.
‘-postOption <string>’
MEL script executed after the RiOptions are output.
‘-preWorld <string>’
MEL script executed before RiWorldBegin.
‘Render Pass Advanced options’
The following options control the attributes grouped under the render pass
Advanced panel:
Chapter 4: The Render Command Line Interface 118
‘-bsx <int>’
Set the bucket size in X.
‘-bsy <int>’
Set the bucket size in Y.
‘-gs <int>’
Define the grid size.
‘-txm <int>’
Set the size of the texture memory cache, in megabytes.
‘-es <int>’
Define the eye splits.
‘-otr <float>’
Set the red value of the opacity threshold.
‘-otg <float>’
Set the green value of the opacity threshold.
‘-otb <float>’
Set the blue value of the opacity threshold.
‘-cpus <int>’
Define the number of cpus to use.
‘-tms <boolean>’
Toggle the translation of Maya shaders on or off.
‘-ums <boolean>’
Toggle the use of Maya shaders on or off.
‘Render Pass Network Cache options’
The following options control the attributes grouped under the render pass
Network Cache panel:
‘-unc <boolean>’
Toggle the use of network cache on or off.
‘-ncdir <string>’
Specify the network cache directory.
‘-ncs <int>’
Specify the network cache size.
‘Render Pass Statistics options’
The following options control the attributes grouped under the render pass
Statistics panel:
‘-prog <bool>’
Turn on or of the progress indication of the currently rendered
display.
‘-statl <int>’
Set the statistics level.
‘-statf <string>’
Define the statistics file.
Chapter 5: Rendering Guidelines 119
5 Rendering Guidelines
Rendering the first pass will give you the specular highlights and rendering the second
pass gives you the ambient occlusion. This working scheme frees you from writing big
shaders with built-in context sensitive code (which often gets messy) and encourages you
to write re-usable, simpler shaders.
2. Create a render pass node by using the Add Render Pass item in the 3Delight menu
and hit the Render button it displays in the Attribute Editor . Or, use an existing
render pass node and make sure its "Render Shadow Maps" attribute in the Shadow
Maps panel is checked.
Note that the same procedure can be used to create depth map shadows. Simply set the
"Shadow Map Type" attribute to ‘normal’.
1
In the Depth Map Shadow Attributes panel located in the Shadows panel.
Chapter 5: Rendering Guidelines 121
note: Most RenderMan light sources have a quadratic falloff and you might need to
increase the RenderMan shader node attribute that controls the light intensity in order
to see the light
If the selected light shader node is able to use a shadow map, the following extra steps
will produce shadowing:
1. Select a light node that has been assigned a RenderMan shader node.
2. In the shader assigned panel, create a new light attribute node by clicking the texture
button on the right of the Attribs option menu, then click the AE button to display
its attributes in the Attribute Editor .
3. Turn on the "Generate Shadow Maps" attribute;
4. Set a "Shadow Map Name", using the browser brought up by clicking on the Folder
button.
5. Double-click on the shadow map name file path and copy it.
6. In the shader assigned panel, click on the AE button next to the Light option menu;
7. Paste the file path in the RenderMan shader attribute that specifies the shadow map.
8. Make sure the "Render Shadow Maps" toggle of the render pass used to render is
turned on. Then start the render.
It might be convenient to connect some of the RenderMan shader node attributes, such
as the cone angle, to the light source for easier manipulation. The following is an example
on how to do this with the spotlight shader that is packaged with 3Delight.
1. Create a spot light. This example assumes that it is named spotlightShape1.
2. Pop up the shader assignment panel and create a new light shader node by clicking the
texture button on the right of the Light option menu, then click the AE button to pop
up the Shader Selector .
3. In the shader selector, make sure the "Directory" is set to ‘$DELIGHT/shaders’. Find
the spotlight shader in the list and double-click on it.
4. Select the created light shader node and click the ‘Select’ button.
5. Back in the shader assignment panel, note that the newly created shader node is now
the selected entry of the Light option menu. Click the AE button on the right of that
option menu to edit the shader node attributes.
6. The node name is displayed at the top of the Attribute Editor , in the delightShader
text field. Rename it to ‘dl_spotlight1’
7. Right-click the ‘coneangle’ attribute and select Create New Expression...
8. In the Expression section of the Expression Editor, type in the following expression:
spotlight1.coneangle = deg_to_rad(spotLightShape1.coneAngle / 2 +
abs(spotLightShape1.penumbraAngle))
and then click the Create button.
9. Right-click the conedeltaangle attribute and select Create New Expression...
10. In the Expression section of the Expression Editor, type in the following expression:
spotlight1.conedeltaangle = deg_to_rad(abs(spotLightShape1.penumbraAngle))
and then click the Create button.
Chapter 5: Rendering Guidelines 122
11. In the shader assignment panel, create a new light attribute node by clicking the texture
button on the right of the Attribs option menu, then click the AE button to display
its attributes in the Attribute Editor .
12. Turn on the "Generate Shadow Maps" attribute;
13. Set the "Shadow Map Name", using the browser brought up by clicking on the Folder
button.
14. Open Maya’s Connection Editor.
15. Select the shape spotLightShape1 and click the Reload left button of the Connection
Editor.
16. In the shader assignment panel, right-click the Light option menu and select Select
Shader(s). Then, click the Reload Right button of the Connection Editor.
17. The following connections can be established:
• spotlightShape1.color -> dl_spotligth1.lightcolor
• spotlightShape1.intensity -> dl_spotlight1.intensity
• spotlightShape1.dropoff -> dl_spotlight1.decay
18. Back in the shader assignment panel, right-click on the Attribs option menu and select
Select attrib node(s).
19. In the Connection Editor , click the Reload Left button.
20. Create the following connection: delightAttribs1.shadowMapName ->
dl_spotlight1->shadowmap.
21. Assign the beamdistribution attribute of the dl_spotlight1 shader node to ‘0.0’ if
you want an effect closer to the Maya spot light.
22. Make sure the "Render Shadow Maps" toggle of the render pass used to render is
turned on. Then start the render.
"Use Mid Dist" attribute of the light node usually takes care of this problem. If the
light has a light attribute node attached to it, then select ‘midpoint’ for its "Shadow
Depth Filter" attribute.
• The "Bias" attribute of the light shader can also be adjusted to avoid the self-shadowing
problem. The default Maya light node ‘Bias’ value of ‘0.001’ is not very good for
3Delight and will create bias artifacts most of the time. A better value to begin with
is ‘0.2’.
• Any light shader that can use a depth map shadow can use deep shadow maps with-
out any modifications. This includes ‘Maya’ Hypershade light shaders. Refer to Sec-
tion 5.2.3 [Deep Shadow Maps With Maya Lights], page 120.
• Unfiltered shadows are usually undesirable and not supported by 3Delight; when using
Hypershade-shaded lights, setting the "Filter Size" to ‘0’ will produce the same result
as setting it to ‘1’. Maya seems to limit the "Filter Size" attribute to 20 (larger values
have no effect) while 3Delight has no such limits.
• If the light source moves or is lighting animated objects, it is recommended to check the
"Add Frame Ext" attribute of the light node or to add the current frame number in the
‘Shadow Map Name’ attribute of the light attribute node. See Section 5.5.4 [File Path
Expressions], page 141 for details on how it is possible to construct paths containing
dynamically expanded tokens.
• When re-rendering several times the same frame, it is often unnecessary to re-render
shadow maps. Shadow maps need to be recomputed only if contained objects have
moved or altered, objects have been added or removed, or if the light direction or cone
angle has changed. In nearly all other cases re-rendering is not necessary. There are
several ways to avoid useless shadow maps re-renders:
- If you do not use light attribute nodes, you can set the "Disk Based Dmaps" light
attribute to "Reuse Existing Dmap(s)".
- If you use a light attribute node and the shadow objects are the same from one
frame to another, you should turn on the "Generate First Frame Only" attribute
(see Section 3.8.2 [Light Attribute Node Shadow Maps], page 47).
- If you do not need any shadow maps to be rendered again, turn of the "Render
Shadow Maps" attribute of your render pass (see Section 3.9.3.6 [Render Pass
Shadow Maps], page 76.
- You can also create render pass nodes that will render only shadow maps by de-
selecting "Render Primary Display" and "Render Secondary Displays" attributes
of your render pass node. You could create Maya sets consisting of a few related
lights and create a render pass that would render only these shadow maps. This
way it is easy to re-render only a few shadow maps and use a render pass that
does not render any shadow maps to render the displays. Refer to Section 3.9 [The
Render Pass], page 55.
• By default the objects lit by a light and the objects that cast shadows for a light are
the same and are defined by the light linking. When using shadow maps, it is possible
to have an object not lit by a light and still cast shadows. You simply need to create
a Maya set that includes only the objects that cast shadows and specify that set in
the "Shadow Objects" attribute of an attached light attribute node. Reversely, you
can define a Maya set of lights that will illuminate an object and specify this set in
Chapter 5: Rendering Guidelines 124
a geometry attribute node attached to this object. The object will still appear in the
shadow maps of the lights it is light-linked to.
Chapter 5: Rendering Guidelines 125
2. In the Attribute Editor , set the "RIB Filename" attribute to refer to the archive file.
3. If the bounding box information is found in the file, the "Archive Read Mode" will be
set to ‘Delayed’. This is usually desirable since the archive file will only be read when
the space it occupies is visible to the camera when rendering.
4. If the bounding box information is not found in the file, the "Archive Read Mode" will
be set to ‘Immediate’. In this mode, the archive file is always read regardless of what
is visible to the camera when rendering. It is possible to enter manually a bounding
box using the "Bbox Min" and "Bbox Max" fields, and set the "Archive Read Mode"
to ‘Delayed’ if desired.
‘Casts Shadows’
For shadow map renderings, if this attribute in off, the object will not be part
of the shadow map rendering. In regular display renderings, if this attribute is
on, the effect is identical to adding a "Transmission Rays" visibility attribute
and setting it to ‘Opaque’, which enables ray traced shadows. Note that if there
is a geometry attributes node attached to the object that has a "Transmission
Rays" attribute, the "Casts Shadows" render stat will be ignored. Refer to
[Transmission Rays], page 21 for more details.
‘Receive Shadows’
This attribute controls if the object will receive shadows or not. The object must
be shaded using Maya’s Hypershade. There is no related geometry attribute
node attribute for this render stat.
‘Motion Blur’
This render stat is equivalent to the geometry attribute node "Transformation
Blur" and "Deformation Blur" attributes. If either one is defined in a geometry
attribute node attached to the object, the "Motion Blur" render stat is ignored.
Turning on this render stat is identical to setting both "Transformation Blur"
and "Deformation Blur" to ‘inherit’. Turning off this attribute is identical to
setting both "Transformation Blur" and "Deformation Blur" to ‘off’. Refer
to [Transformation Blur], page 25 and [Deformation Blur], page 25 for more
details.
‘Primary Visibility’
When rendering a display, this render stat is identical to the "Visible To Cam-
era" geometry attribute node attribute. If the later is defined in a geometry
attribute node attached to the object, the "Primary Visibility" render stat is
ignored. Refer to [Visible To Camera], page 21 for more details.
‘Visible In Reflections’
This render stat controls if the objet is visible in reflections on other objects;
this is only effective for reflections on objects shaded using Maya’s Hypershade.
This render stat is a refinement on top of the "Specular Rays" geometry at-
tribute node attribute, which controls object visibility in both reflections and
refractions. For this render stat to be effective, a geometry attribute node must
be attached to the object; it must contain the "Specular Rays" attribute and
this attribute must be set to a value different than ‘Invisible’. See [Specular
Rays], page 22.
Chapter 5: Rendering Guidelines 129
‘Visible In Refractions’
This render stat controls if the objet is visible in refractions in other objects;
this is only effective for refractions on objects shaded using Maya’s Hypershade.
This render stat is a refinement on top of the "Specular Rays" geometry at-
tribute node attribute, which controls object visibility in both reflections and
refractions. For this render stat to be effective, a geometry attribute node must
be attached to the object; it must contain the "Specular Rays" attribute and
this attribute must be set to a value different than ‘Invisible’. See [Specular
Rays], page 22.
‘Double Sided’
This render stat behaviour is identical to the "Double Sided" geometry attribute
node attribute. If the later is defined in a geometry attribute node attached to
the object, the "Double Sided" render stat is ignored. Refer to [Double Sided],
page 19.
‘Opposite’
This render stat behaviour is identical to the "Reverse Orientation" geometry
attribute node attribute. If the later is defined in a geometry attribute node
attached to the object, the "Opposite" render stat is ignored. Refer to [Reverse
Orientation], page 19.
It is possible to export one value for the whole object, or one value per face of the object
(except for NURBS). Simple attributes are exported as ‘constant’ (one value for the whole
object). Arrays, such as vectorArray, doubleArray or pointArray, and multi attributes
are exported as ‘uniform’ (one value per face) as long as there are at least as many values
in the attribute as there are faces on the object. string attributes are supported but only
as a ‘constant’ primitive variable.
The following example shows how to export a single color attribute with a NURBS and
per-face colors for a polygon mesh:
1. Create a NURBS sphere and name its shape ‘sphere’.
2. Add a color attribute to the sphere:
3. There should now be a ‘Delight Surface Color’ attribute showing in the attribute
editor, in the ‘Extra Attributes’ section, for the object ‘sphere’. Set the color as
desired.
4. Create a polygon cube and name its shape "cube".
5. Add a multi-attribute containing 6 colors, one for each face of the cube:
addAttr -multi -uac -at "float3" -ln "delightFaceColor" "cube";
addAttr -at "float" -ln "delightFaceColorR" -parent "delightFaceColor" "cube";
addAttr -at "float" -ln "delightFaceColorG" -parent "delightFaceColor" "cube";
addAttr -at "float" -ln "delightFaceColorB" -parent "delightFaceColor" "cube";
6. In the attribute editor there should now be, under Extra Attributes, a Delight Face
Color panel that contains 6 colors. Edit the colors as desired.
7. Pop up the Hypershade Editor .
8. Create a RenderMan Code node (listed in the General Utilities section).
9. In the Attribute Editor , click on the Edit in Text Editor button to the right of the
"Shading Parameters" text field.
10. In the text editor, append the following code, which specifies that the shader that will
be created will receive the "FaceColor" color in parameter and will have an output
plug named o_outColor
shader_input color FaceColor
output color o_outColor
11. Click on the Edit in Text Editor button to the right of the "Shading Code" text field.
12. In the text editor, append the following code, which simply assigns the "FaceColor"
attribute received in parameter to the output plug:
o_outColor = FaceColor;
13. Back in the Hypershade Editor , create a surface shader node.. This node will make
obvious the color assignment because we will have it do a flat shading regardless of
lighting.
14. Connect the o_outColor plug of the RenderMan Code node to the outColor plug of
the surface shader..
15. Select both the cube and the sphere.
16. Back in the Hypershade Editor , right-click the surface shader node and select Assign
Material to Selection.
17. Create a render pass node and hit Render .
the variable name. This allows vertex variables to be exported for some primitives. It also
allows the exact desired type to be obtained from any maya type. For example, to output
a ‘vertex color mycolor’ variable:
addAttr -dt "doubleArray" -ln "delightVertexColormycolor" "pCubeShape1";
setAttr "pCubeShape1.delightVertexColormycolor" -type "doubleArray" 24 0.3 0.4 0.5
0.1 0.5 0.3 0.5 0.8 0.1 0.4 0.7 0.8 0.7 0.3 0.9 0.2 0.4 0.7 0.8 0.5 0.7 0.6 0.2 0.9;
Note that there are three values for each color and that this allows outputting color
variables without having to build a proper color attribute. This system currently supports
uniform, constant, and vertex classes with float, color, point, vector and normal
types.
• The second line defines an input parameter for the alpha channel of the surface-
Color color set. Note that the RGB data is exported to a variable named identically
to the color set, while the alpha channel is exported to a variable that has _alpha
appended to the color set name.
• The third line defines a color input plug for the RenderMan Code node.
• Finally, the last line defines an output plug in the same fashion.
14. Click on the Text Editor button next to the "Shading Code" text field and append the
following lines in the text editor:
outColor = mix(defaultColor, surfaceColor, surfaceColor_alpha);
This line of code simply assign to the outColor plug a mixture of the colors
surfaceColor and defaultColor based on the alpha channel of the surfaceColor
color set.
15. Back in the Hypershade editor, connect the outColor plug of the RenderMan Code
node to the color input plug of the Blinn node.
16. Create a 2D Texture node, such as Fractal, and connect its color output plug to the
defaultColor input plug of the RenderMan Code node.
17. Create a Displacement node.
18. Create a new RenderMan Code node.
19. Select the new RenderMan Code node and bring up the Attribute Editor .
20. Click on the Text Editor button next to the "Shading Parameters" text field.
21. In the text editor, append the following lines:
shader_input varying float displacementColor_alpha
output float displacement
These lines defines the following:
• The first line defines a float parameter that varies for each vertex. It will auto-
matically receive the alpha channel of the displacementColor color set.
• The second line simply defines a float output plug.
22. Click on the Text Editor button next to the "Shading Code" text field.
23. In the text editor, append the following line:
displacement = 2 * displacementColor_alpha;
This line simply assigns to the displacement output plug two times the alpha chan-
nel of the displacementColor color set. Note that you can increase or decrease the
multiplier value to make the displacement more or less obvious.
24. Connect the displacement output plug of the RenderMan code node to the
Displacement input plug of the Displacement node.
25. Connect the displacement output plug of the Displacement node to the
displacementShader plug of the shading group connected to your surface node.
26. Assign the material you just created to your polygon shape.
27. Because we are doing displacement, we need to specify a displacement bound. Bring up
the shader assignment panel by selecting its entry in the 3Delight menu.
28. Make sure your polygon shape is selected.
Chapter 5: Rendering Guidelines 133
29. In the shader assignment panel, create a geometry attribute node by clicking on the
texture button next to the Attribs option menu.
30. Click on the AE button to edit this node in the Attribute Editor .
31. In the Displacement panel, assign a value for the "Displacement Bound" attribute.
The value should be as high as the maximum possible displacement value, so it is safe
to assign here the same value as the multiplier used in the RenderMan Code above (in
this example, the multiplier is ‘2’).
32. Create a Render Pass and render your masterpiece.
note: If the goal is simply to render particles colored as defined by "rgbPP" attribute, it is
simpler to use the "Par Particle Color as Surface Color" attribute. See [Per Particle Color
as Surface Color], page 36.
1. Prepare any scene that contains a light source and a particle system that has per-
particle color. A complete example of such system is detailed in the Maya documenta-
tion; refer to the Dynamics -> Particles -> Rendering particles -> Set particle attributes
with a ramp texture section. At the end of this section, there is a Ramp example where
detailed steps are provided to create a particle system where particle color changes
according to the distance from the origin.
2. Select the particle system and attach a geometry attribute node to it using the shader
assignment panel..
3. In the Attribute Editor , go into the Geometry panel. Unfold the Particles panel. Add
rgbPP to the list of exported particle system attributes by selecting it in the list on the
left and then click on the Add button. This is all that is needed to export the rgbPP
particle attribute.
4. Now let’s use that rgbPP to shade the particles. Pop up the Hypershade editor.
5. In the Hypershade Graph menu, select Graph Materials on Selected Objects to see what
is attached to your particle system.
6. Create a RenderMan Code node, which is available in the General Utilities section.
7. Select the RenderMan Code and bring up the Attribute Editor .
8. Click on the Edit in Text Editor button on the right of the Shading Parameters text
field.
9. In the Text Editor window, append the following code:
• The shader will need to have an input parameter to receive automatically the
rgbPP attribute, so declare the following:
shader_input varying color rgbPP
• The RenderMan Code node needs an output plug to pass this color on, so declare
the following:
Chapter 5: Rendering Guidelines 134
for($curr_tex in $textures_to_process)
{
string $curr_file = $dir + $curr_tex;
string $curr_tdl = DL_convertTextureName($curr_file, 1);
print("Converted " + $curr_file + " to: " + $curr_tdl + "\n");
}
}
So if the original image sequence begins with ‘smoke_1.iff’ in IFF format in the
‘~/Images/’ directory, one can call the above procedure to produce a tdl version of the
complete image sequence by invoking:
convertTextures("~/Images/smoke_*.iff");
The tdl files will be produced in the 3Delight Textures folder (see [3delight textures],
page 143).
Chapter 5: Rendering Guidelines 135
2. Create an Hyershade shading network that contains a ‘file’ 2D texture node. Set the
"Image Name" attribute to frame 1 of the tdl texture sequence produced in the previous
step. Turn on the "Use Image Sequence" attribute. Assign this shading network to
the particle shape.
3. Select the particle system shape and make sure the "Particle Render Type" is set to
‘Sprite’.
4. The particle system needs to have a "spriteNumPP" attribute. If none exist, click the
‘General’ button of the ‘Add Dynamic Attribute’, then select spriteNumPP in the list
displayed in the Particle tab and click Add .
5. Set the "spriteNumPP" initial values as desired. For instance, if the image sequence
contains 10 images, each sprtie can be assigned a random image by defining an expres-
sion similar to:
particleShape1.spriteNumPP = rand(1, 10);
6. If the sprites must change texture from frame to frame, it is possible to define how the
"spriteNumPP" attribute will change for each frame by defining a ‘Runtime before
dynamics’ expression for this attribute. For instance, the following expression will
have a sprite use the next image in the sequence as a texutre for each frame, and loop
through a 10-frames image sequence:
particleShape1.spriteNumPP = 1 + ((particleShape1.spriteNumPP + 1) % 9);
7. If the "spriteNumPP" is not garanteed to only use values for which a texture is defined
in the image sequence, add a "SpriteCycleLength" float attribute (not per-particle) to
the particle system shape and set it to the number of textures in the image sequence.
The shader will automatically wrap frame values so they are constrined between 1 and
the value defined in "SpriteCycleLength". Note that these two attributes must begin
with a capital ”S“ as they are special Maya attributes and will be listed under the
Spirte Attributes section of the attribute editor .
8. If desired, add a "SpriteAnimation" bool attribute (not per-particle) to the particle
system shape. It can be used to turn off the per-sprite texturing.
9. Using the assignment panel or the 3Delight relationship editor , create a geometry at-
tributes node and assign it to the particle system shape.
10. In this geometry attribute node, add the "Particle System Variable" attribute, listed
under ‘Geometry -> Particles’.
11. In the Particle System Variable, select "spriteNumPP" in the right-hand side column
and click Add . Also add the SpriteCycleLenght and the SpriteAnimation attributes if
they have been defined in the previous steps.
12. It is recommended to use a particle disk cache when rendering with motion blur or if
the expressions driving the above attributes can produce different results when a frame
is rendered multiple times (like ‘rand()’).
• You can convert the Hair or PaintFX to regular geometry, such as NURBS or polygons.
This will fix both issues, as the created geometric objects will be properly light-linked
and will have an associated hypershade shading group.
• By default, geometric objects that have no Hypershade shading group nor RenderMan
shader node attached to them are rendered using the defaultSurface shader, which
does not take into account any lighting. So, for the Paint FX or Hair to be correctly
lit:
- Select the Paint FX or Hair object.
- Attach a RenderMan surface shader of your choice to it using the shader assignment
panel.
- Select all lights that are lighting the PaintFX or Hair object, and create a Maya
set containing them.
- Select the Paint FX or Hair object.
- In the shader assignment panel, click on the texture button on the right side of the
Attribs option menu to create a new geometry attribute node.
- Click on the AE button next to the texture button to edit the geometry attributes.
- In the Lighting panel of the attached geometry attributes node, select the object
set you just created instead of ‘<light linker>’.
• And for the Paint FX or Hair object to properly cast shadows using shadow maps, the
following should be done for each light source:
• Select all objects that are required to cast shadows for a light source and create a
Maya set containing them.
• Select the light node.
• In the shader assignment panel, click on the texture button on the right side of the
Attribs option menu to create a new light attribute node.
• Click on the AE button next to the texture button to edit the light attribute node.
• In the Shadow Objects panel, select the object set you just created instead of
‘<light linker>’.
• FurFeedback nodes have the "Visible In Reflections" and "Visible In Refractions" ren-
der stats attributes turned off by default. Since almost all other Maya objects have
these attributes turned on by default, it is easy to forget to turn on these attributes and
wonder why Maya Fur isn’t reflected or refracted at all. See [Visible In Reflections],
page 128 and [Visible In Refractions], page 128.
The benefits of using the Shave and a Haircut support embedded in the 3Delight for
Maya plugin are:
• The "voxels" attribute in the Shave Globals RenderMan section can be enabled to
reduce memory usage when rendering.
This method is used when the 3dfm shave plugin is not loaded in Maya.
• No extra current time changes to support deformation blur on shave hair nodes.
• Possible to use more than two samples for shave hair deformation blur.
This method is used when the 3dfm shave plugin is loaded in Maya.
Figure 5.1: List of all primitive variables for Shave hair shapes.
When turning on "Enable Voxels" option, consider either turning on the "Use Full
Paths" attribute, or adding the path to the 3Delight Fur Files project setting to the render
pass’ "Archive Path" attribute. See Section 3.9.3.11 [Render Pass Search Paths], page 88
for details. When the "Enable Voxels" option is enabled, Shave and a Haircut may attempt
to create illegal filenames if the shave hair shape name is long, so it is recommended that
shave hair shape names are made unique and short.
1
Only output when 3dfm shave is not loaded.
Chapter 5: Rendering Guidelines 139
a desired light source. Finally, select this new object set in the light attributes node’s
"Shadow Objects" attribute.
• Assign the Shave and a Haircut node to an Hypershade shading group. This can be
done by assigning an Hypershade surface shader to the Shave and a Haircut node, or
by issuing the following MEL command once the that node is selected:
to 3Delight’s texture file3 , and then use this converted file for rendering. It is possible to
prepare the texture file manually in order to avoid this automatic conversion completely by
using 3Delight’s tdlmake utility. The prepared texture file should have the ‘.tdl’ extension.
It can then be used directly in an Hypershade node such as the File 2D texture node. Refer
to the 3Delight User’s Manual for more information about the tdlmake utility.
important: It is recommended to use the ‘-preview’ option of tdlmake; doing so will
create an embedded thumbnail that Maya can display as a texture preview image.
‘<project>’
This string will be replaced with the path to the current Maya project directory.
‘<pass>’ This string will be replaced with the name of the render pass node used for
rendering.
‘<shape_name>’
This string will be replaced with the long name of the attached shape. This tag
can currently only be used in light attributes nodes.
‘<scene>’ This string will be replaced with the name of the scene.
‘<ext>’ This string will be replaced with the file extension. File extensions are expanded
for RIB files, shadow map files, and any file output by a display driver.
‘<camera>’
This string will be replaced with the name of the camera shape being used for
rendering.
‘<fragment_set>’
This string will be replaced with the name of the object set used by the RIB
fragment being output. It is valid only in render pass rib fragment filename
attributes.
‘<output_variable>’
This string will be replaced with the name of the variable being output in the
display. It is valid only in render pass display filename attributes.
Chapter 5: Rendering Guidelines 143
It is possible to prepend all of the 3Delight for Maya project directories that produce
temporary files with a path assigned to the 3DFM OUTPUT PATH environment variable.
Note that this variable needs to be defined before Maya is launched and does not apply to
the templates project setting.
3Delight Textures
Any node in an Hypershade network that uses a texture file name not ending
with the ‘.tdl’ extension will undergo a texture conversion process in order to
speed up texture lookup during rendering. This conversion produces a 3Delight
texture file that is stored under the directory specified in the 3Delight Textures
project setting. If the 3DFM TEXTURES PATH environment variable is
defined, its value will be used (and thus will override the directory specified in
the 3Delight Textures project setting). It is possible to prepare texture files in
order to avoid this conversion as explained in Section 5.5.3 [Textures In The
Hypershade], page 140.
3Delight Fur Files
3Delight for Maya needs to generate a geometry file for each Fur Feedback
node visible in the scene. These files are saved under the folder specified in
the 3Delight Fur Files project setting. If the 3DFM FURFILES PATH envi-
ronment variable is defined, its value will be used (and thus will override the
directory specified in the 3Delight Fur Files project setting). This project set-
ting is also used to store RIB file produced by the Shave and a Haircut plugin
in some cases. Refer to Section 5.4.8 [Shave and a Haircut Tips], page 137.
3Delight Templates
This project setting specifies the folder where render pass templates will
be saved. 3Delight for Maya will also look up this directory and list the
render pass templates it contains in the Add Render Pass menu. If the
3DFM TEMPLATES PATH environment variable is defined, its value will be
used (and thus will override the directory specified in the 3Delight Templates
project setting). Note that template files are created on-demand only and
are not affected by the 3DFM OUTPUT PATH environment variable. See
Section 3.9.2 [Managing Render Passes], page 55.
Chapter 5: Rendering Guidelines 145
6 MEL Binding
The following MEL bindings are implemented in 3Delight For Maya. Help on every com-
mand can be obtained in Maya’s script editor by typing help RiCommand; or by looking up
the corresponding ‘.mel’ in the ‘$DELIGHT/maya/scripts’ directory.
Options
RiOption
RiPixelSamples
RiPixelFilter
RiShutter
RiProjection
RiImager
RiHider
RiDisplay
RiClipping
RiClippingPlane
RiCropWindow
RiQuantize
RiScreenWindow
RiDepthOfField
RiPerspective
RiFormat
RiProjection
Attributes
RiAttribute
RiColor
RiOpacity
RiSides
RiShadingRate
RiMultiplyShadingRate
RiMatte
RiSurface
RiDisplacement
RiAtmosphere
RiInterior
RiExterior
RiLightSource
RiAreaLightSource
RiIlluminate
RiReverseOrientation
RiResource
Chapter 6: MEL Binding 148
Transforms
RiIdentity
RiCoordinateSystem
RiScale
RiTranslate
RiTransform
RiRotate
Structure
RiBegin
RiEnd
RiWorldBegin
RiWorldEnd
RiAttributeBegin
RiAttributeEnd
RiMotionBegin
RiMotionEnd
RiTransformBegin
RiTransformEnd
RiArchiveBegin
RiArchiveEnd
RiObjectBegin
RiObjectEnd
RiObjectInstance
RiDeclare
RiIfBegin
RiElseIf
RiElse
RiIfEnd
Archives
RiReadArchive
RiProcDelayedReadArchive (through RiProcedural)
RiArchiveRecord
Texture Creation
RiMakeShadow
RiMakeTexture
RiMakeCubeFaceEnvironment
RiMakeLatLongEnvironment
RiMakeBrickMap
Chapter 6: MEL Binding 149
Others
RiProcedural (RiProcDelayedReadArchive, RiProcRunProgram, RiProcDynamicLoad)
Chapter 7: Developer’s Corner 150
7 Developer’s Corner
Grouping definition is done using shader annotations in the shader’s RenderMan shad-
ing language source file1 . The grouping information will be used to create frame layouts
containing the specified shader parameters’ gadgets in the Attribute Editor . The supported
annotation syntax is:
#pragma annotation "grouping" "<group>/[<subgroup>/...]<parameter name>;"
As an example, the following annotation will create a frame layout labeled ‘Hair Color’
and put the ‘tipcolor’ parameter gadgets in it.
#pragma annotation "grouping" "hairColor/tipcolor;"
It is possible to define any number of frame layout levels; for instance:
#pragma annotation "grouping" "hair/hairColor/tipcolor;"
would create a ‘Hair’ frame layout, then create a ‘Hair Color’ frame layout inside the
‘Hair’ frame layout, and finally insert the ‘tipcolor’ gadgets there.
The parameters will appear in the order they are annotated. Parameters that have no
annotations will end up in the usual ‘Shader Parameters’ and ‘Output Parameters’ frame
layouts.
It is possible to generate pragma statements from macros by using the Pragma operator.
For example, this is equivalent to the above pragma:
#define MY_PRAGMA \
_Pragma( "annotation \"grouping\" \"hairColor/tipcolor;\"" )
Performing string substitution on the operator’s string parameter requires some advanced
macro tricks which are explained in 3Delight’s User’s Manual.
‘floatfield’
A numeric text field that supports floating point values.
‘floatslider’
A float text field with a slider. Supported only for the float shader
parameter type. It is recommended to also supply the ‘min’ and
‘max’ annotations as the default range is from 0 to 1.
‘intfield’
A numeric text field that supports integer values.
‘intslider’
A integer text field with a slider. Supported only for the float
shader parameter type. It is recommended to also supply the ‘min’
and ‘max’ annotations as the default range is from 0 to 1.
‘textfield’
A simple text field. Supported only for the string shader parameter
type.
‘inputfile’
A text field with a browse button and a view button. Supported
only for the string shader parameter type.
‘optionmenu:menuitem1<=value1>:...’
An option menu that offers specified menu items. Supported only
for string and float parameter types. For the string parameter type,
the default value of each menu item is the menu item string itself.
For the float parameter type, the first menu item has a default value
of 0, the second has a default value of 1, and so on. For example:
"gadgettype=optionmenu:zero:one:fifty=50:fifty-one;"
‘checkbox’
A checkbox. Supported only for the float shader parameter type.
‘colorslider’
A color slider. Supported only for the color shader parameter type.
‘label=<label text>’
Specifies a label for the gadget. When no label annotation is supplied, the
gadget’s label is the parameter name itself.
‘hide=<true/false>’
When true, no gadget is generated for that parameter.
‘disable=<true/false>’
When true, the gadget is generated for the parameter, but will be disabled
(insensitive).
‘min=<value>’
‘max=<value>’
Specify min and max values for the attribute. These values are used at attribute
creation time so Maya will enforce these limits even for incoming connections,
scripted setAttr commands, etc.
Chapter 7: Developer’s Corner 155
‘hint=<hint text>’
Specify a gadget annotation that appears when the mouse pointer is left over
the gadget for a little while.
surface annotationTestShader(
float floatenum=0;
string stringenum="item 2";
float floatParam = 2;)
{
}
‘string $light_handle’
The handle of the light source assigned to the shader. An empty
string is passed when the shader node is assigned to something else
than a light source shape.
• The shader node type can be unregistered by passing the node type string to DSN_
removeCustomShaderNodeType.
• Define a cache command, responsible for taken snapshots of the object’s geometry and
outputting it.
• Register the node type and the associated cache command.
• Specify if the custom node is used as an object or an inline archive.
Each custom node type must define a command that will be invoked when caching the
scene and when the object should be output to RIB. The command can have any name and
must support the following syntax:
Chapter 7: Developer’s Corner 157
MSyntax syntax;
syntax.addFlag("-st", "-sampleTime", MSyntax::kDouble);
syntax.addFlag("-a", "-addstep");
syntax.addFlag("-r", "-remove");
syntax.addFlag("-e", "-emit");
syntax.addFlag("-f", "-flush");
syntax.addFlag("-c", "-contains");
syntax.addFlag("-l", "-list");
syntax.setObjectType(MSyntax::kSelectionList, 0, 1);
The cache command may be invoked by 3Delight for Maya in the following forms:
cache_command -addStep -sampleTime <double> <shape>
The command is expected to keep a sample of the specified object at the current
time, which is passed via the -sampleTime flag; the command can assume that
Maya’s current time is already set to this value when it is called. The command
should store a combination of the object’s name, topology, sample time. No
return value is expected.
cache_command -list
Return the names of the shapes that have been cached by this command in a
string array.
cache_command -flush
Clear all cached data. No return value is expected.
cache_command -contains <shape>
Returns true if the specified object has been cached, regardless of the sample
time. Returns false otherwise.
cache_command -remove <shape>
Removes the specified object from the cache. No return value is expected.
cache_command -emit <shape>
Issues the Ri calls that will go inside the ObjectBegin/End or ArchiveBe-
gin/End block for the specified object. If the object can be deformation blurred,
it should produce the proper motion blocks. No return value is expected.
specified plugin name is loaded. If the plugin is not loaded, any nodes of
the related type will be ignored from the rendering. Setting the plugin
name to an empty string will avoid any plugin verification.
‘string $cache_commands[]’
The names of the cache commands. Nodes of type ‘$node_type[x]’ will
be cached using the string value specified at index ‘x’ of this array.
‘string $not_used[]’
This parameter is not used currently.
8 Limitations
3Delight for Maya tries to closely replicate Maya behaviour when rendering. There are
however some features which are not yet supported or have some restrictions on how they
can be used.
Cameras
• In the Film Back section, the following attributes are not supported: Film Translate,
Film Roll Pivot, Film Roll Value, Film Roll Order.
• In the Environment section, the following attribute is not supported: Image Plane.
Particles
• The following render types are not supported: MultiPoint, MultiStreak, Numeric,
Cloud, Tube.
Fur
• Fur applied on subdivision surfaces is not supported.
Hypershade
• The layeredShader node will only produce correct arbitrary output variables if the
following conditions are met:
• The transparency of the layers is not set directly but rather connected to each
shader’s transparency output.
• There is only one layeredShader node in the network.
• The only surface shaders in the network are the ones connected to the
layeredShader node.
• The Compositing Flag attribute is set to Layer Shaders.
• In order to use the bump2d node in Tangent Space Normals or Objet Space Normals
mode, an extra connection must be added. Create a bumpNormal attribute of type
vector on the bump2d node and connect the desired normal (e.g. texture) to it. This is
needed to avoid fetching the normal from whatever node is connected on the bumpValue
input, which is unreliable and not flexible.
• The following nodes are not supported: hairTubeShader, envSky, movie, water. Nodes
in the Volumetric section are also not supported.
List of Figures 161
List of Figures
Figure 3.1: The 3Delight Relationship Editor in two-pane mode. . . . . . . . . . . . . . . . . . . . . 5
Figure 3.2: List of all operations available to all panes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 3.3: List of all operations in the Show menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 3.4: List of all operations in the Edit menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 3.5: List of all actions available through the contextual menu of the attribute
pane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 3.6: The 3Delight Relationship Editor in three-pane mode. . . . . . . . . . . . . . . . . . . . 9
Figure 3.7: List of all actions available through the contextual menu of the collection
as passes pane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 3.8: The Assignment Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 3.9: The Shader Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 3.10: The Add / Remove Attributes Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 3.11: An empty Geometry Atrtibute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 3.12: The General attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figure 3.13: The Quality attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 3.14: The Visibility attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 3.15: The Lighting attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 3.16: The Raytracing attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 3.17: The Motion Blur attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 3.18: The Global Illumination Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 3.19: The Displacement attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 3.20: The Culling And Dicing attribute panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 3.21: The Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 3.22: The Polygons Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 3.23: The Polygons Geometry Wireframe attribute panel . . . . . . . . . . . . . . . . . . . 32
Figure 3.24: The NURBS Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 3.25: The Curves Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 3.26: The Particles Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 3.27: The Maya Fur Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 3.28: The Reference Geometry panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 3.29: The Subsurface Scattering panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 3.30: The MEL Scripts panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 3.31: The RIB Archive panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 3.32: The Reflection shading attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 3.33: An empty Light Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 3.34: The Shadow Maps attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 3.35: The Shadow Objects attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 3.36: The Photon Maps Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 3.37: The Category Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 3.38: The Motion Blur Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 3.39: The Area Light Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 3.40: The Light MEL Scripts attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 3.41: An empty Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 3.42: The Camera panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 3.43: The Output panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
List of Figures 162
Concept Index
camera space normal render pass . . . . . . . . . . . . . . 71 deep shadow maps, volume interpretation . . . . . . 77
camera visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 deformation blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
camera, dicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 deformation motion blur samples, render pass . . 64
camera, file paths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 deformation motion blur, render pass . . . . . . . . . . 64
camera, shadow map . . . . . . . . . . . . . . . . . . . . . . . . . . 50 depth filter, average, shadow map . . . . . . . . . . . . . . 49
casts shadows render stat . . . . . . . . . . . . . . . . . . . . . 128 depth filter, average, shadow maps . . . . . . . . . . . . . 77
category, light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 depth filter, max, shadow map . . . . . . . . . . . . . . . . . 49
centered derivatives, quality . . . . . . . . . . . . . . . . . . . 20 depth filter, max, shadow maps . . . . . . . . . . . . . . . . 77
cineon display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 depth filter, midpoint, shadow map . . . . . . . . . . . . 49
clipping plane, far, shadow map . . . . . . . . . . . . . . . . 50 depth filter, midpoint, shadow maps . . . . . . . . . . . 77
clipping plane, near, shadow map . . . . . . . . . . . . . . 50 depth filter, min, shadow map . . . . . . . . . . . . . . . . . 49
clipping planes, render sets . . . . . . . . . . . . . . . . . . . . 83 depth filter, min, shadow maps . . . . . . . . . . . . . . . . 77
close, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . 13 depth filter, shadow map . . . . . . . . . . . . . . . . . . . . . . 49
clump id, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 depth filter, shadow maps . . . . . . . . . . . . . . . . . . . . . . 77
coefficient scale, subsurface scattering . . . . . . . . . . 40 depth of field, focus factor . . . . . . . . . . . . . . . . . . . . . 20
color bleeding intensity, render pass . . . . . . . . . . . . 79 depth of field, motion factor . . . . . . . . . . . . . . . . . . . 20
color bleeding output variable . . . . . . . . . . . . . . . . . . 71 depth, luminance, render pass. . . . . . . . . . . . . . . . . . 70
color no shadow render pass . . . . . . . . . . . . . . . . . . . 71 dicing camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 dicing, hair, micropolygons in U . . . . . . . . . . . . . . . 28
color, surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 dicing, raster oriented . . . . . . . . . . . . . . . . . . . . . . . . . 28
command line rendering . . . . . . . . . . . . . . . . . . . . . . 110 difference, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
composite objects behind, visibility . . . . . . . . . . . . 21 diffuse intensity no shadow render pass. . . . . . . . . 69
compressed RIB output, render pass . . . . . . . . . . . 61 diffuse intensity render pass . . . . . . . . . . . . . . . . . . . . 69
compressed rib, rib fragments . . . . . . . . . . . . . . . . . . 87 diffuse no shadow render pass . . . . . . . . . . . . . . . . . . 69
compute alpha, display . . . . . . . . . . . . . . . . . . . . . . . . 74 diffuse render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
constructive solid geometry . . . . . . . . . . . . . . . . . . . 105 diffuse, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
coordinate system, cylinder . . . . . . . . . . . . . . . . . . . 102 directory, fur files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
coordinate system, dome. . . . . . . . . . . . . . . . . . . . . . 102 directory, shader selector . . . . . . . . . . . . . . . . . . . . . . 13
coordinate system, draw method . . . . . . . . . . . . . . 102 directory, shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
coordinate system, plane. . . . . . . . . . . . . . . . . . . . . . 102 directory, shadow maps . . . . . . . . . . . . . . . . . . . . . . . 143
coordinate system, sphere . . . . . . . . . . . . . . . . . . . . 102 directory, templates . . . . . . . . . . . . . . . . . . . . . . . . . . 144
coordinate system, texture filename . . . . . . . . . . . 102 directory, textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
coordinate system, texture opacity . . . . . . . 102, 103 displacement bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
coordinate system, texture resolution . . . . . . . . . 103 displacement bound space . . . . . . . . . . . . . . . . . . . . . 27
creating a render pass . . . . . . . . . . . . . . . . . . . . . . . . . 55 displacement, raytracing . . . . . . . . . . . . . . . . . . . . . . . 24
crop window, render pass . . . . . . . . . . . . . . . . . . . . . . 59 display AOV, rgb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 display AOV, z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
csg node, difference . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 display driver, bmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
csg node, intersection . . . . . . . . . . . . . . . . . . . . . . . . . 105 display driver, cineon . . . . . . . . . . . . . . . . . . . . . . . . . . 67
csg node, operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 display driver, deep shadow map . . . . . . . . . . . . . . . 68
csg node, select objects . . . . . . . . . . . . . . . . . . . . . . . 105 display driver, dsm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
csg node, union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 display driver, eps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
cube shadow map, generate . . . . . . . . . . . . . . . . . . . . 50 display driver, exr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
culling, backfacing surfaces . . . . . . . . . . . . . . . . . . . . 28 display driver, framebuffer . . . . . . . . . . . . . . . . . . . . . 67
culling, hidden surfaces . . . . . . . . . . . . . . . . . . . . . . . . 28 display driver, i-display . . . . . . . . . . . . . . . . . . . . . . . . 67
current frame number, file paths . . . . . . . . . . . . . . 141 display driver, iff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
cylinder, coordinate system . . . . . . . . . . . . . . . . . . . 102 display driver, maya render view . . . . . . . . . . . . . . . 67
display driver, null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
display driver, png . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
D display driver, psd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
deep shadow map, display driver . . . . . . . . . . . . . . . 68 display driver, render pass . . . . . . . . . . . . . . . . . . . . . 66
deep shadow map, volume interpretation . . . . . . . 49 display driver, shadow map . . . . . . . . . . . . . . . . . . . . 67
deep shadow map, volume interpretation, display driver, texture . . . . . . . . . . . . . . . . . . . . . . . . . 67
continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 77 display driver, tiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
deep shadow map, volume interpretation, discrete display mode, render pass. . . . . . . . . . . . . . . . . . . . . . 68
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 77 display subset, display, render pass . . . . . . . . . . . . . 73
deep shadow map, volume interpretation, distance display, add, render pass . . . . . . . . . . . . . . . . . . . . . . . 66
inside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50, 78 display, bit depth, render pass . . . . . . . . . . . . . . . . . 72
Concept Index 165
M
mac os x, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
N
matte object, visibility . . . . . . . . . . . . . . . . . . . . . . . . . 21 name filter, shader selector. . . . . . . . . . . . . . . . . . . . . 13
max distance, global illumination, render pass . . 80 nCloth, render as particles . . . . . . . . . . . . . . . . . . . . . 35
max error, irradiance . . . . . . . . . . . . . . . . . . . . . . . . . . 27 near clipping plane, shadow map . . . . . . . . . . . . . . . 50
maya curves, end width . . . . . . . . . . . . . . . . . . . . . . . . 33 network cache, directory . . . . . . . . . . . . . . . . . . . . . . . 93
maya curves, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 network cache, size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
maya curves, start width . . . . . . . . . . . . . . . . . . . . . . . 33 normalize nurbs basis . . . . . . . . . . . . . . . . . . . . . . . . . . 33
maya fur, animation problem . . . . . . . . . . . . . . . . . 136 Nref, output, reference geometry . . . . . . . . . . . . . . . 39
maya fur, not reflected. . . . . . . . . . . . . . . . . . . . . . . . 136 null display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
maya fur, not refracted . . . . . . . . . . . . . . . . . . . . . . . 136 nurbs, normalize basis . . . . . . . . . . . . . . . . . . . . . . . . . 33
maya fur, output base ambient color . . . . . . . . . . . 38
maya fur, output base color . . . . . . . . . . . . . . . . . . . . 37
maya fur, output clump id . . . . . . . . . . . . . . . . . . . . . 39 O
maya fur, output hair id . . . . . . . . . . . . . . . . . . . . . . . 38 object set, rib fragment, render pass . . . . . . . . . . . 88
maya fur, output hair length . . . . . . . . . . . . . . . . . . . 39 objects in shadow map. . . . . . . . . . . . . . . . . . . . . . . . . 51
maya fur, output hair tip point . . . . . . . . . . . . . . . . 39 objects to render, render sets . . . . . . . . . . . . . . . . . . 83
maya fur, output specular color . . . . . . . . . . . . . . . . 38 occlusion render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 71
maya fur, output specular sharpness . . . . . . . . . . . 38 occlusion, global illumination, render pass . . . . . . 78
maya fur, output surface color . . . . . . . . . . . . . . . . . 37 occlusion, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
maya fur, output surface normal . . . . . . . . . . . . . . . 38 opacity threshold, shadow maps . . . . . . . . . . . . . . . . 77
maya fur, output surface opacity . . . . . . . . . . . . . . . 37 opacity, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
maya fur, output surface point . . . . . . . . . . . . . . . . . 38 opacity, surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
maya fur, output surface u . . . . . . . . . . . . . . . . . . . . . 38 openexr display driver . . . . . . . . . . . . . . . . . . . . . . . . . 67
maya fur, output surface v . . . . . . . . . . . . . . . . . . . . . 38 operation, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
maya fur, output tip ambient color . . . . . . . . . . . . . 38 opposite render stat . . . . . . . . . . . . . . . . . . . . . . . . . . 129
maya fur, output tip color . . . . . . . . . . . . . . . . . . . . . 37 options, command line . . . . . . . . . . . . . . . . . . . . . . . . 110
maya fur, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Maya hair, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 output all uvsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Maya Paint FX, tips . . . . . . . . . . . . . . . . . . . . . . . . . . 135 output maya curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
maya render view display driver. . . . . . . . . . . . . . . . 67 output Nref, reference geometry. . . . . . . . . . . . . . . . 39
MEL command, file paths . . . . . . . . . . . . . . . . . . . . 141 output Pref, reference geometry . . . . . . . . . . . . . . . . 39
MEL script, light pre render . . . . . . . . . . . . . . . . . . . 54 output progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
MEL script, post geometry . . . . . . . . . . . . . . . . . . . . 41 output render mode, render pass . . . . . . . . . . . . . . . 60
MEL script, pre geometry . . . . . . . . . . . . . . . . . . . . . 41 output variable, display, render pass . . . . . . . . . . . 68
MEL script, shadow map post render . . . . . . . . . . 54 output variable, file paths . . . . . . . . . . . . . . . . . . . . 142
motion blur and visibility . . . . . . . . . . . . . . . . . . . . . 139 output variables, a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
motion blur position, render pass . . . . . . . . . . . . . . 64 output variables, ambient . . . . . . . . . . . . . . . . . . . . . . 69
motion blur render stat . . . . . . . . . . . . . . . . . . . . . . . 128 output variables, camera space normal . . . . . . . . . 71
motion blur, camera, render pass . . . . . . . . . . . . . . 63 output variables, color bleeding . . . . . . . . . . . . . . . . 71
Concept Index 168
volume interpretation, deep shadow map, distance wireframe, polygon mesh, raster space . . . . . . . . . 32
inside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50, 78 wireframe, width, polygon mesh . . . . . . . . . . . . . . . 33
volume interpretation, deep shadow maps . . . . . . 77 write mode, rib fragments . . . . . . . . . . . . . . . . . . . . . 87
volume shading rate, advanced . . . . . . . . . . . . . . . . . 93 write photon maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
write, rib fragment, render pass . . . . . . . . . . . . . . . . 88
W
white point, render pass . . . . . . . . . . . . . . . . . . . . . . . 80
windows, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Z
wireframe, polygon mesh . . . . . . . . . . . . . . . . . . . . . . 32 zthreshold, shadow maps . . . . . . . . . . . . . . . . . . . . . . 77