Você está na página 1de 179

3Delight For Maya 5.

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

3 The User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


3.1 The 3Delight Relationship Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 All Available Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 The Three-Pane Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.3 Performance Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 The Assignment Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1 Assignment Panel Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 Assignment Panel Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 The Shader Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 The Add / Remove Attributes Window . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 The Geometry Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.2 Attribute Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.2.1 Scene Hierarchy Attribute Inheritance . . . . . . . . . . . . . . . 16
3.5.2.2 Custom Hierarchy Attribute Inheritance . . . . . . . . . . . . . 17
3.5.2.3 Inheritance Precedence List . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5.3 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5.4 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5.5 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5.6 Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5.7 Raytracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.8 Motion Blur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.9 Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.10 Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.11 Culling And Dicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.12 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.12.1 Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.12.2 Polygons Wireframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5.12.3 NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5.12.4 Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5.12.5 Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.12.6 Maya Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.13 Reference Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.14 Subsurface Scattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.15 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5.16 RIB Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
iii

3.5.17 User Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42


3.6 The Geometry Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.2 The 3Delight Geometry Modifiers Menu . . . . . . . . . . . . . . . . . . 44
3.6.3 Geometry Modifiers Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.7 The Shading Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7.2 The 3Delight Shading Attributes Menu . . . . . . . . . . . . . . . . . . . 45
3.7.3 Reflection Shading Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 The Light Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8.2 Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8.3 Shadow Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.8.4 Photon Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.8.5 Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.8.6 Motion Blur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.8.7 Area Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8.8 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.9 The Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9.2 Managing Render Passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9.2.1 Creating a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9.2.2 Inheriting Another Render Pass Attributes. . . . . . . . . . . 56
3.9.2.3 Rendering a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.9.2.4 Selecting a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9.2.5 Duplicating a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9.2.6 Saving a Render Pass as a Template . . . . . . . . . . . . . . . . . 57
3.9.3 Render Pass Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9.3.1 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9.3.2 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.9.3.3 Quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.9.3.4 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.9.3.5 Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.9.3.6 Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.9.3.7 Global Illumination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.9.3.8 Render Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.9.3.9 RIB Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.9.3.10 RIB Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.9.3.11 Search Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.9.3.12 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.9.3.13 Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.9.3.14 Network Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.9.3.15 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.10 The 3Delight Render Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.11 The RIB Archive Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.11.2 RIB Archive Node User Interface . . . . . . . . . . . . . . . . . . . . . . . . 97
3.12 The RenderMan Code Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
iv

3.12.1 RenderMan Code Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


3.12.2 RenderMan Code User Interface . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.13 The Coordinate System Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.13.2 Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.14 The Clipping Plane Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.15 The CSG Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.15.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.16 The Preferences Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.16.2 File Viewing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.16.3 Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4 The Render Command Line Interface . . . . . . 110


4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5 Rendering Guidelines . . . . . . . . . . . . . . . . . . . . . . . . 119


5.1 Understanding Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2 Lighting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2.1 Depth Map Shadows With Maya Lights . . . . . . . . . . . . . . . . . 119
5.2.2 Ray Traced Shadows With Maya Lights . . . . . . . . . . . . . . . . . 120
5.2.3 Deep Shadow Maps With Maya Lights . . . . . . . . . . . . . . . . . . 120
5.2.4 Lighting and Shadowing With RenderMan Light Shaders
........................................................... 120
5.2.5 Shadow Map Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.3 RIB Archives Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.3.1 Writing a RIB Archive using a Render Pass . . . . . . . . . . . . . 125
5.3.2 Reading a RIB Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.3.3 Rendering while Archiving Scene Elements . . . . . . . . . . . . . . 126
5.3.4 Miscellaneous RIB Archives tips . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.4 Geometry Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.4.1 Maya Render Stats and Geometry Attribute Nodes . . . . . . 128
5.4.2 Using Attributes to Export Primitive Variables . . . . . . . . . . 129
5.4.3 Exporting Per-Vertex Attributes on Polygon Meshes . . . . . 131
5.4.4 Exporting Particle Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.4.5 Rendering Sprites with Distinct Textures . . . . . . . . . . . . . . . . 134
5.4.6 Maya Hair and Paint FX Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4.7 Maya Fur Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.4.8 Shave and a Haircut Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.4.9 Miscellaneous Geometry Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.5 Miscellaneous Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.1 Dynamics Animation Rendering . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.2 Using Atmosphere Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.3 Textures In The Hypershade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.4 File Path Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.5.5 Automatic File Output Control . . . . . . . . . . . . . . . . . . . . . . . . . 143
v

5.5.6 Hypershade translation quirks . . . . . . . . . . . . . . . . . . . . . . . . . . . 145


5.6 A Few Words About Fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

6 MEL Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

7 Developer’s Corner . . . . . . . . . . . . . . . . . . . . . . . . . . 150


7.1 General User Defined MEL Procedures . . . . . . . . . . . . . . . . . . . . . . . 150
7.2 Procedures Related To MEL Script Attributes . . . . . . . . . . . . . . . . 150
7.3 Customizing Render Pass Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4 Customizing Geometry Attribute Nodes . . . . . . . . . . . . . . . . . . . . . . 152
7.5 Customizing Shader Nodes User Interface . . . . . . . . . . . . . . . . . . . . 152
7.5.1 Attribute Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.5.2 Defining Shader Parameter Gadgets . . . . . . . . . . . . . . . . . . . . . 153
7.6 Defining Custom Shader Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.7 Defining Custom Hypershade Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.8 Rendering Custom Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.8.1 Rendering Custom Geometry Nodes . . . . . . . . . . . . . . . . . . . . . 156
7.8.2 Rendering Custom Light Nodes . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Concept Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163


1
Chapter 1: Installation 2

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.

Main Features and Components


In a nutshell, 3Delight for Maya offers the following features and components:
Pass oriented rendering
A render pass contains (among other things) options defining the objects and
light being rendered, the rendering quality and the type of output produced.
Render passes add flexibility on top of the standard Maya layers. See Section 3.9
[The Render Pass], page 55.
Hypershade shading network translation
3Delight for Maya automatically translates Hypershade materials into Render-
Man shaders, so scenes that work in Maya will work the same when using
3Delight For Maya.
RenderMan Shader Nodes
It is always possible to assign RenderMan shaders to scene elements. Assign-
ment is done through the Assignment Panel while the Attribute Editor is used
to edit the shader parameters. RenderMan shaders override Hypershade mate-
rials.
Shader and Attribute Collections
This feature enables the selection of a certain group of shaders or attributes
depending on the pass being rendered. This adds flexibility to more advanced
pipelines. Other packages also offer a per-pass assignment strategy but this ad-
ditional indirection level let more advanced users easily manage pass-dependant
connections. See Section 5.1 [Understanding Collections], page 119.
Geometry Attribute Nodes
These nodes are used to set various parameters that are specific to 3Delight,
Examples are ray tracing attributes and motion blur attributes. See Section 3.5
[The Geometry Attribute Node], page 16.
Light Attribute Nodes
3Delight For Maya honours all Maya light parameters and it provides its own
attributes to set specific parameters. For example, the shadow map type (either
Chapter 2: Overview 4

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

3 The User Interface

3.1 The 3Delight Relationship Editor


The 3Delight Relationship Editor is a central piece of UI in 3Delight For Maya as it connects
3DFM’s shaders and attributes to Maya’s scene elements. The 3Delight Relationship Editor
is meant to work and feel exactly as any Maya relationship editor so that users can rapidly
understand the various possible operations. The editor is similar in spirit to the Light
Linker as it has two operational modes: object-centric and attribute or shader-centric.
Each operational mode is well suited for a set of specific tasks. For example, to assign an
attribute to some objects, one could do the following in attribute-centric mode:
• hLeft-clicki on the attribute in the left pane of the editor to select it.
• hLeft-clicki on the objects in the right pane to perform the connection.
To do the same in object-centric mode:
• Select the objects on the left by hShift-Left-Clicki.
• Assign the attribute on by hLeft-Clicki in the right panel.

Figure 3.1: The 3Delight Relationship Editor in two-pane mode.


As a rule of thumb, attribute and shader-centric mode is better suited to perform various
operations on 3DFM’s nodes without risking to alter the assignments. Possible operations
include: selection, showing node in the AE, renaming, etc.

In general, the editor shows connections in the following manner:


Chapter 3: The User Interface 6

attribute and shader-centric


If an attribute is selected in the left pane, the editor highlights all connected ob-
jects in the right pane. Selecting more than one attribute will show connections
that are common to all the selected attributes.

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.

3.1.1 All Available Operations


This sections lists all the available operations in each pane. The more advanced three-pane
mode is described in Section 3.1.2 [The Three-Pane Mode], page 8. Figure 3.2 lists actions
that are common to all panes.

Mouse Action Description


hDouble-clicki on node’s name Rename node
hDouble-clicki on node’s icon Shows the node in the AE. Doesn’t modify current se-
lection. Also possible through the contextual menu as
described in Figure 3.5.
hLeft-clicki on empty space in pane Clears the highlighted nodes. Doesn’t affect current
Maya selection.

Figure 3.2: List of all operations available to all panes.

Object Pane Operations


Figure 3.3 lists all the actions available through the Show menu and Figure 3.4 lists all
actions available through the Edit menu.

Check List Item Description


Geometry Display Maya geometry nodes if checked.
Lights Display Maya light nodes if checked.
Cameras Display Maya camera nodes if checked.
Sets Display Maya sets if checked.

Figure 3.3: List of all operations in the Show menu.


Chapter 3: The User Interface 7

Menu Item Description


Highlight selected objects This replaces the currently highlighted objects in the
pane by the current selection in Maya. This is a very
handy feature: selecting an object in Maya and then
using this feature will show the connections to the ob-
ject (although single object view is very conveniently
accessible through the Assignment Panel as explained
in Section 3.2 [The Assignment Panel], page 10).
Select highlighted objects This replaces current Maya selection by highlighted ob-
jects in the pane.

Figure 3.4: List of all operations in the Edit menu.


Chapter 3: The User Interface 8

Attribute and Shader Pane Operations


Additionally to the actions described in Figure 3.2, a host of actions are available through
the contextual menu of the attribute pane. These are described in Figure 3.5.

Menu Item Description


Select This replaces current Maya selection by highlighted
nodes in the pane.
Show in AE Shows the node in the AE. Doesn’t modify current
Maya selection.
Duplicate Creates a copy of the highlighted node, retaining values,
expressions and connections on its attributes. Assign-
ments to scene objects are not duplicated.
Hide Shader Attributes Make the various shader parameters of the highlighted
nodes invisible in all editors except the AE, which
speeds up AE refreshes in some cases. Only active when
shaders are highlighted. Refer to [Hide Attributes Pref-
erences], page 109 for details.
Reload Shaders The shader node is updated to reflect the current con-
tent of the related compiled shader file. Object assign-
ments, attribute values, expressions and connections
are preserved when possible. Only active when shaders
are highlighted.
Replace Shader With File ... Upon selecting this item, the Shader Selector is brought
up and the selected file will replace the one that was
used by all highlighted shader nodes. The shader node
name is not changed. Object assignments are pre-
served. Attribute values, expressions and connections
are preserved when possible. Only active when shaders
are highlighted.
Preview Shaders Show a preview of the highlighted shaders in i-display.
Preview can be customized in the Preferences Window
Shaders. It is possible to select a surface shader, a
displacement shader and an imager shader; all will be
used at once when rendering the preview. Only active
when shaders are highlighted.
Delete Delete selected attribute or shader and disconnect all
connections.

Figure 3.5: List of all actions available through the contextual menu of the attribute
pane.

3.1.2 The Three-Pane Mode


The Relationship Editor can show a third pane to display and edit collection assignations.
Please refer to Section 5.1 [Understanding Collections], page 119 for more information about
collections. The third pane can be shown by clicking on the << button on the left side of
Chapter 3: The User Interface 9

the editor window. Similarly, clicking on the >> button will collapse the editor back to two
panes.

Figure 3.6: The 3Delight Relationship Editor in three-pane mode.

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.

Collections As Passes Mode


In this mode, the leftmost pane will list existing render passes. When one one of these passes
is highlighted, the other panes will display and edit assignments made for the selected pass’
"Shader collection" (see [Shader collection to render], page 83). Object level assignments
can be edited either by clearing the highlighted passes or by highlighting a pass whose
"Shader collection" attribute is set to ‘<None>’. The left pane’s Create menu is identical to
the Add Render Pass menu item of the 3Delight Maya menu (see Section 3.9.2.1 [Creating
a Render Pass], page 55). Additionally to the actions described in Figure 3.2, a few more
are available through the contextual menu of this pane. These are described in Figure 3.7.
Chapter 3: The User Interface 10

Menu Item Description


Select This replaces current Maya selection by highlighted
render pass in the pane.
Show in AE Shows the render pass in the AE. Doesn’t modify cur-
rent selection.
Assign Collection Presents the existing collections in a submenu; select-
ing one will set it as the "Shader collection" of the
highlighted render passes. The submenu also offers
a New Collection... item which creates a new collec-
tion, prompts for a collection name and set it as the
"Shader collection" of the highlighted render passes.
See [Shader collection to render], page 83.

Figure 3.7: List of all actions available through the contextual menu of the collection as
passes pane.

3.1.3 Performance Notes


The 3Delight Relationship Editor has been designed to perform very well with extremely
large scenes but there are some operations that could take significant time to complete with
long object lists. When working with a large scene, the following operations introduce a
delay due to Maya’s API:
• Modifying the name filter in the objects pane;
• Turning off one of ‘Geometry’, ‘Lights’ or ‘Cameras’ in the Objects pane Show menu.

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.

3.2 The Assignment Panel


3.2.1 Assignment Panel Overview
The assignment panel is a handy interface for inspecting and modifying shader and attribute
connections. This panel doesn’t provide more functionalities than the relationship editor (see
Section 3.1 [The 3Delight Relationship Editor], page 5) but it has a couple nice properties:
1. It is “dockable”.
2. It takes less screen estate.

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

Figure 3.8: The Assignment Panel

3.2.2 Assignment Panel Components


Follow additional explanations for each column in the panel:
Object assignments
This is the traditional object-level assignment scheme.
Collections assignments
Those are connection that are active on the collection level. They will be
activated if the rendered pass selects this collection. Please refer to Section 5.1
[Understanding Collections], page 119 for more information.
Override assignments
Override shaders are mainly useful for passes that need the same shader to
be attached on all geometry. Say you have an ambient occlusion pass, as in
the example above, with all objects having the same shader. Simply declare
a collection, assign an ambient occlusion shader to it and select the collection
in the "Render Sets" section of the render pass. No further shader assignment
is needed, when rendering the pass all objects will have the ambient occlusion
shader automatically attached to them.
Additionally:
• Clicking on the “texture” square near the shader will open the "Shader Selector" to
list shader files of the relevant type. Once a file is selected, a shader node is created
and assigned to the currently selected objects. See Section 3.3 [The Shader Selector],
page 12.
• Clicking on AE will show shaders parameter in Maya’s attribute editor. Some cus-
tomization of a given shader’s gadgets is possible; see [Shader Node Attribute Group-
ing], page 153.
• Attribute Nodes can be created and assigned in this panel.
• Other shader types (such as atmosphere and interior) can be shown in this panel by
enabling them in the "Show" menu.
Chapter 3: The User Interface 12

3.3 The Shader Selector


The shader selector presents RenderMan shader files. This dialog is brought up by some
operations in the 3Delight Relationship Editor or the Assignment Panel , such as creating
a shader node.

Figure 3.9: The Shader Selector


Chapter 3: The User Interface 13

‘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

3.4 The Add / Remove Attributes Window


Several nodes in 3Delight for Maya may have a varying number of attributes. Having only
the needed attributes reduces clutter in the Attribute Editor . For some types of node, this
also allows a given node to inherit attribute values from parent nodes. The Add / Remove
Attributes Windows is handy to do multiple attribute addition or removal. This dialog is
brought up by hLeft-clickingi on the Add / Remove Attributes button displayed in the Attribute
Editor for relevant 3Delight For Maya nodes.

Figure 3.10: The Add / Remove Attributes Window


Chapter 3: The User Interface 15

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

3.5 The Geometry Attribute Node


3.5.1 Overview
The ‘Geometry Attribute Node’ is used to specify various parameters for a given object,
such as the lights to use to light the attached objects, visibility to ray traced rays, and
various RenderMan related attributes. Geometry attribute nodes are created and assigned
inside the Shader Assignment Panel ; refer to Section 3.2 [The Assignment Panel], page 10.

Figure 3.11: An empty Geometry Atrtibute Node


When a geometry attribute node is first created, it contains no attributes at all. It is
an empty container where one can add just the relevant attributes. This avoids cluttering
the UI and allows attribute inheritance. 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.
Some of the attributes available in the ‘Geometry Attribute Node’ clash with the Maya
Render Stats attributes. The attributes defined in a ‘Geometry Attribute Node’ attached
to an object will override the related Maya Render Stat attribute. Refer to Section 5.4.1
[Maya Render Stats and Geometry Attribute Nodes], page 128 for more details.

3.5.2 Attribute Inheritance


Attributes contained in a given geometry attribute node can be inherited in two ways: from
one scene’s parent transform node (group) to all its descendants, and through traversal of
connections made on geometry attributes nodes’ ‘altParent’ attributes.

3.5.2.1 Scene Hierarchy Attribute Inheritance


It is possible to attach an attribute node to a transform node; its attributes will be inherited
by all its children nodes. Attributes closer to an object have higher precedence (an attribute
node can prevent inheriting its parent’s attributes if needed). As an example:
Chapter 3: The User Interface 17

--waterfront <-------- RayTraceVisibilityAttrs


|--rocks <-------- DisplacementAttrs
| |--rock1
| |--rock2
| |--rock3
|
|--trees
| |--tree1
| |--tree2 <--- InvisibleInReflectionsAttrs
In this scene, there is an attribute node named "RayTraceVisibilityAttrs" that contains
required attributes to make the objects visible to specular rays (like reflections) and trans-
mission rays (shadow rays). It is attached to the "waterfront" node, so all objects under it
will be visible in reflections and cast and receive raytraced shadows.

The rocks share a displacement shader, so the "DisplacementAttrs" attribute node is


used to specify their displacement bound. It is connected to the "rocks" transform. Each
rock object inherits the attributes from both "DisplacementAttrs" and "RayTraceVisibil-
ityAttrs".

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.

3.5.2.2 Custom Hierarchy Attribute Inheritance


Sometimes the scene is structured in such a way that logical top-down attribute inheri-
tance is not possible or complicated. For these particular cases one can create connections
between attribute nodes, using the "alternate parent" plug, to define their hierarchical
relationship. Attribute nodes connected this way have higher precedence than the scene
parent’s attributes.

Here is a variation of the previous sample scene:


--BgdSet
|--rocks <-------- DisplacementAttrs <-------+
| |--rock1 |
| |--rock2 |
| |--rock3 |
| |
|--trees <-------- RayTraceVisibilityAttrs --+
| |--tree1
| |--tree2
|
|-flowers
|-grass
|-waterSurface
Chapter 3: The User Interface 18

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.

3.5.2.3 Inheritance Precedence List


The attribute nodes priority is as follows, starting with the higher priority attributes nodes:
1. If one is defined, the collection’s override attributes node.
2. If there is an override attribute node defined and it has a geometry attributes node
connected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug
is then checked for a connection to a geometry attributes node and if one is found, it
is outputted, and so on.
3. If one is defined, the object’s collection attributes node;
4. If the object has a collection attributes node defined and it has a geometry attributes
node connected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’
plug is then checked for a connection to a geometry attributes node and if one is found,
it is outputted, and so on.
5. If one is defined, the object’s attributes node.
6. If the object has an attributes node defined and it has a geometry attributes node
connected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug
is then checked for a connection to a geometry attributes node and if one is found, it
is outputted, and so on.
7. If the object’s highest priority attribute (override, collection and object, in that order)
has its ‘Inherit DAG Parent Attributes’ toggle set to off, the geometry attributes
Chapter 3: The User Interface 19

output process ends. If the toggle is on or if no ‘Inherit DAG Parent Attributes’ is


found, the above six steps are repeated on the object’s immediate DAG parent.

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.

Figure 3.12: The General attribute panel

‘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.

Figure 3.13: The Quality attribute panel

‘Shading Rate Multiplier’


The shading rate used to shade objects attached to this node is determined by
multiplying the value of this attribute with the shading rate specified in the
‘Quality’ panel of the render pass (see Section 3.9.3.3 [Render Pass Quality],
page 61). For example, if this value is set to ‘2.0’ and the shading rate in the
render pass is ‘1.5’ then the effective shading rate for this object will be ‘3.0’.
The default value for this attribute is ‘1.0’.

‘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

Figure 3.14: The Visibility attribute panel

‘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.

‘Specular Rays (reflections)’


This attribute specifies the visibility of the object relative to specular ray traced
rays (both reflections and refractions). Objects shaded using Maya’s Hyper-
shade can further refine if they are visible in reflections and refractions using
the relevant "render stats"; see Section 5.4.1 [Maya Render Stats and Geometry
Attribute Nodes], page 128. Possible values are:

‘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.

‘Opaque’ The object is visible to ray traced specular rays; it is considered


fully opaque and white.

‘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.

‘Diffuse Rays (occlusion)’


This attribute specifies the visibility of the object relative to diffuse ray traced
rays, which are used to compute occlusion and other effects. Possible values
are:
Chapter 3: The User Interface 23

‘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.

‘Primitive Color & Opacity’


The object is visible to ray traced diffuse 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 & Opacity’


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 diffuse rays.

‘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

Figure 3.15: The Lighting attribute panel

‘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

Figure 3.16: The Raytracing attribute panel

‘Raytrace Motion Blur’


This attribute enables or disables motion blur for traced rays. For example, a
moving object as seen in a mirror will only show motion blur if this option is
enabled. By default, this attribute is off.

‘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.

‘Objects in selected sets’


Only objects in the selected Maya sets and whose "Transmission"
and "Visible To Reflections" attributes have been properly set will
be visible to ray traced rays. The "Select Sets" button can be used
to select the desired Maya sets to include.
Chapter 3: The User Interface 25

‘Objects not in selected sets’


Only objects that are not in the selected Maya sets and whose
"Transmission" and "Visible To Reflections" attributes have been
properly set will be visible to ray traced rays. The "Select Sets"
button can be used to select the desired Maya sets to exclude.

3.5.8 Motion Blur


This panel controls how the attached object reacts to motion blur.

Figure 3.17: The Motion Blur attribute panel

‘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:

‘Inherit’ The attached objects will be transformation blurred only if the


"Transformation Blur" attribute is turned on in the render pass
node used for rendering. This is the default.

‘On’ The attached objects will be transformation blurred, regardless of


the "Transformation Blur" setting in the render pass.

‘Off’ The attached objects will not be transformation blurred, regardless


of the "Transformation Blur" setting in the render pass.

‘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.

‘On’ The attached objects will be deformation blurred, regardless of the


"Deformation Blur" setting in the render pass.

‘Off’ The attached objects will not be deformation blurred, regardless of


the "Deformation Blur" setting in the render pass.
Chapter 3: The User Interface 26

3.5.9 Global Illumination

Figure 3.18: The Global Illumination Attribute Panel


‘Photon Color’
This attribute defines how the photons will receive their color and opacity. The
available choices are:
‘Primitive Color & Opacity’
The photons get their color from Cs and their opacity from Os.
It is possible to define these two attributes using the "Color" and
"Opacity" attributes, respectively (see [Color], page 19 and [Opac-
ity], page 19). This value should be preferred as it is faster to
compute.
‘Shader’ The photons get their color and opacity from the attached surface
shader. This is the default.
‘Shading Model’
This attribute determines how the attached objects surfaces will interact with
photons. Note that for photons to interact with surfaces you have to make
them visible to photons (they are by default) in the visibility attribute (see
Section 3.5.5 [Geometry Attribute Node Visibility], page 21). The available
shading models are:
‘Transparent’
There will be no interactions with photons. This is the default
value.
‘Matte’ This value generates a diffuse reflection and is fine for color bleeding
effects.
‘Chrome’ This value reflects all photons like a mirror. It also generate caus-
tics.
‘Glass’ This value will partly reflect photons, partly refract them. It also
generate caustics.
‘Water’ This value is similar to Glass but has a different refraction index.
For the Chrome and Matte models, reflected photons are colored by the Color
attribute (see [Color], page 19). For the Glass and Water models, only trans-
mitted photons are colored.
Chapter 3: The User Interface 27

‘Irradiance Shading Rate’


This attribute specifies the shading rate that should be used when computing
occlusion and indirect diffuse. The default shading rate is ‘4.0’.

‘Irradiance Max Error’


This attribute specifies the maximum difference that defines if an occlusion or
indirect diffuse computation can be interpolated or if it needs to be traced.
For instance, using a high value for "irradiance shading rate", a reasonable
value for "irradiance max error" and a high enough number of samples (set as
a shader parameter) can allow the renderer to interpolate occlusion values for
surfaces where the occlusion does not vary a lot. Carefully selecting values for
these three settings can significantly improve rendering speed for occlusion and
indirect diffuse computations. The default maximum error value is ‘0.1’.

3.5.10 Displacement

Figure 3.19: The Displacement attribute panel

‘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’.

3.5.11 Culling And Dicing


For more advanced users, this panel controls some more advanced visibility culling and
dicing parameters.
Chapter 3: The User Interface 28

Figure 3.20: The Culling And Dicing attribute panel

‘Cull Hidden Surfaces’


When this attribute is off, the attached objects that are in the viewing frustum
but completely hidden (behind another object) will still be rendered and shaded.
When this attribute is on, hidden objects will be dismissed. This is the default.
The only reason to this feature off is when “baking” expensive shaders. More
about baking in 3Delight User’s Manual.
‘Cull Backfacing Surfaces’
When this attribute is off, the one-sided attached objects that are in the viewing
frustum and backfacing will still be rendered and shaded. When this attribute
is on, one-sided, backfacing objects will be dismissed. This is the default. The
only reason to this feature off is when “baking” expensive shaders. More about
baking in 3Delight User’s Manual.
‘Raster Oriented Dicing’
This attributes enables enables or disables “raster oriented” tessellation. When
tessellation is raster oriented, 3delight considers the object as viewed from
the camera to compute the tessellation factors. This means that objects (or
parts of objects) facing the camera will be tessellated more densely than tilted
objects. By default, this attribute is on. A good reason to disable this feature
is when displaced surfaces loose detail at object edges. For the more advanced
users only.
‘Dicing Camera’
This attribute specifies the camera to be used to tessellate the attached objects.

‘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"

Figure 3.21: The Geometry attribute panel

‘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

Figure 3.22: The Polygons Geometry attribute panel


‘Use Current UVset’
When this attribute is on, the current UV set is exported as the ‘s, t’ primitive
variables; no other UV set will be exported. When it is off, the default UV set
will be exported as ‘s, t’ primitive variables; extra UV sets are exported as an
array of ‘u’ values named ‘uvsets_u’ and ‘v’ values named ‘uvsets_v’; the set
names are exported in a ‘uvsets_name’ string array. This attribute is off by
default, and is ignored when "Output All UVsets" is turned on.
‘Output All UVsets’
When this attribute is turned on, the UV sets are output as follows:
• The default UV set is output as ‘s, t’ primitive variables.
• Each other UV set is output as a float array bearing the same name as the
UV set being exported.
When this attribute is off, the behaviour defined by the "Use Current UVset"
attribute prevails. This attribute is off by default.
‘Output Vertex Color’
When this attribute is checked and the attached object is a polygon mesh, any
color sets it contains that defines per-vertex color will be exported to rendering.
Each color set will be exported as a color array bearing the same name as the
Chapter 3: The User Interface 31

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

"Poly As Subd" attribute. The rounding is controlled by a sharpness range and


an angle range. The sharpness value of a given angle is determined by a linear
interpolation between the start and end sharpness values. For instance, if the
"Start Angle" is set to 0 while the "End Angle" is set to 90, and the "Start
Sharpness" is set to 0.3 while the "End Sharpness" is set to 0.9, an angle of 45
degrees would be rounded with a sharpness of 0.6. Note that the angle between
faces sharing an edge that has been tagged as smooth will be considered as
having an angle of 0.
‘Start Angle’
This attribute defines the range of angles that will undergo edge rounding,
along with the "End Angle" attribute. It corresponds to the angle between the
normals of two adjacent faces on the polygon mesh, in degrees.
‘Start Sharpness’
This attribute defines the sharpness value associated with the "Start Angle".
Valid values are between 0 and 1, higher values producing sharper edges.
‘End Angle’
This attribute defines the range of angles that will undergo edge rounding,
along with the "Start Angle" attribute. It corresponds to the angle between
the normals of two adjacent faces on the polygon mesh, in degrees.
‘End Sharpness’
This attribute defines the sharpness value associated with the "End Angle".
Valid values are between 0 and 1, higher values producing sharper edges.

3.5.12.2 Polygons Wireframe

Figure 3.23: The Polygons Geometry Wireframe attribute panel


The attributes in this panel can be used to generate a wireframe on polygon mesh objects.
The edge detection feature of a display can be used to render unshaded wireframes instead;
see [Edge Detection], page 74 for details.
‘Output Wireframe’
When this attribute is on, curve primitives that follow the polygon edges are
output along with the mesh. These new primitives are shaded like the polygon
mesh. This attribute is off by default.
‘Raster Space Wireframe’
This attribute determines how the "Wireframe Width" attribute is interpreted.
When "Raster Space Wireframe" is on, the width is expressed in pixels. When
Chapter 3: The User Interface 33

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

Figure 3.24: The NURBS Geometry attribute panel

‘Normalize Nurbs Basis’


When this attribute is on, the UV range of any attached NURBS patch will be
brought back to a range between 0 and 1. This attribute is on by default.

3.5.12.4 Curves
This panel contains options to control Maya Curves rendering.

Figure 3.25: The Curves Geometry attribute panel

‘Output Maya Curves’


When checked, render Maya curves using 3delight. This is only meaningful
when this attribute is attached to a Maya curves geometry.

‘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

Figure 3.26: The Particles Geometry attribute panel

‘Particle Render Type’


This attribute can be used to override the render type set in the particle shape.
Available values are:

‘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

‘Render nCloth as Particles’


When this attribute is on, any attached nCloth shape will be rendered as a par-
ticle system. The nCloth shape’s "Thickness" and "Self Collide Width Scale"
attributes are used to compute the particle size. This attribute is off by default.

‘Per Particle Color as Surface Color’


When this attribute is on, the "rgbPP" particle system attribute will be output
in the surface color primitive variable (‘Cs’). Turning off this attribute will
output the "rgbPP" data as a ‘rgbPP’ primitive variable. See [Color], page 19
for more details on how Cs is used with hypershade shaders and photons. This
attribute is off by default.

‘Typical Particle System Attributes / variables’


This panel offers the possibility of exporting particle attributes as primitive
parameters, giving the opportunity to attached RenderMan shaders to use that
data for their computations. The selected attributes will be exported given that
they have been previously defined for the particle system. Here is an overview
on how to use the content of this panel:
• The left panel lists usual particle attributes. Select the ones that are to be
exported and click the "Add >>" button.
• The right panel lists attributes that will be exported. Selects the ones
that are not required to be exported anymore and click the "<< Remove"
button.
• Additionally, the text field at the bottom of the panel can be used to enter
custom particle attributes. Several attributes can be listed, as long as they
are separated by spaces.

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

3.5.12.6 Maya Fur

Figure 3.27: The Maya Fur Geometry attribute panel


This panel contains attributes relevant to Maya Fur rendering. They are effective when
attached to a FurFeedback node.

‘Output Surface Opacity’


When this attribute is on, a variable containing surface opacity values (Os)
will be defined in the fur primitive. One value is output per hair vertex. This
attribute is on by default.

‘Output Surface Color’


When this attribute is on, a variable containing per vertex surface color values
(Cs) will be defined in the fur primitive. One value is output per hair vertex.
This attribute is on by default.

‘Output Base Color’


When this attribute is on, a ‘uniform color basecolor’ variable containing
the hair strands base color values will be defined in the fur primitive. The base
color values are defined in the associated fur description node. One value is
output per hair. This attribute is on by default.
Chapter 3: The User Interface 38

‘Output Tip Color’


When this attribute is on, a ‘uniform color tipcolor’ variable containing the
hair strands tip color values will be defined in the fur primitive. The tip color
values are defined in the associated fur description node. One value is output
per hair. This attribute is on by default.
‘Output Base Ambient Color’
When this attribute is on, a ‘uniform color baseambientcolor’ variable con-
taining the hair strands base ambient color values will be defined in the fur
primitive. The base ambient color values are defined in the associated fur de-
scription node. One value is output per hair. This attribute is on by default.

‘Output Tip Ambient Color’


When this attribute is on, a ‘uniform color tipambientcolor’ variable con-
taining the hair strands tip color values will be defined in the fur primitive.
The tip ambient color values are defined in the associated fur description node.
One value is output per hair. This attribute is on by default.
‘Output Specular Color’
When this attribute is on, a ‘uniform color specularcolor’ variable contain-
ing the hair strands specular color values will be defined in the fur primitive.
The specular color values are defined in the associated fur description node.
One value is output per hair. This attribute is on by default.
‘Output Specular Sharpness’
When this attribute is on, a ‘uniform float sharpness’ variable containing
the hair strands specular sharpness values will be defined in the fur primitive.
The specular sharpness values are defined in the associated fur description node.
One value is output per hair. This attribute is on by default.
‘Output Surface Point’
When this attribute is on, a ‘uniform point surfacepoint’ variable containing
the surface point where the hair is rooted will be defined in the fur primitive.
The point is expressed in world space. One value is output per hair. This
attribute is off by default.
‘Output Surface Normal’
When this attribute is on, a ‘uniform normal surfacenormal’ variable con-
taining the surface normal where the hair is rooted will be defined in the fur
primitive. The normal is expressed in world space. One value is output per
hair. This attribute is on by default.
‘Output Surface U’
When this attribute is on, a ‘uniform float surfaceu’ variable containing the
surface U coordinate where the hair is rooted will be defined in the fur primitive.
One value is output per hair. This attribute is off by default.
‘Output Surface V’
When this attribute is on, a ‘uniform float surfacev’ variable containing the
surface V coordinate where the hair is rooted will be defined in the fur primitive.
One value is output per hair. This attribute is off by default.
Chapter 3: The User Interface 39

‘Output Hair Id’


When this attribute is on, a ‘uniform float hairid’ variable containing a
unique hair identifier will be defined in the fur primitive. One value is out-
put per hair. The identifier will be valid across multiple frames. This attribute
is off by default.
‘Output Hair Length’
When this attribute is on, a ‘uniform float hairlength’ variable containing
an approximation of the hair’s length will be defined in the fur primitive. One
value is output per hair. This attribute is off by default.
‘Output Hair Tip Point’
When this attribute is on, a ‘uniform point hairtippoint’ variable containing
the point of hair strand tip will be defined in the fur primitive. One value is
output per hair. The point is expressed in world space. This attribute is off by
default.
‘Output Clump Id’
When this attribute is on, a ‘uniform float clumpid’ variable containing an
identifier of the clump that attracts the hair strand will be defined in the fur
primitive. One value is output per hair. The identifier remains valid across
frames. When clumping is disabled, all clump identifiers will be set to 0. This
attribute is off by default.

3.5.13 Reference Geometry


If the Maya primitive has an attached reference geometry then 3Delight For Maya can
output it along with the rendered object. Reference geometry can be accessed in the shaders
using the Pref and NRef variables.

Figure 3.28: The Reference Geometry panel


‘Output Pref’
When this attribute is on, the geometry passed to 3delight will also con-
tain reference geometry that represents geometry before any deformation has
been applied to it. This geometry is accessible to any shader that declares the
varying point Pref parameter. This attribute is off by default.
‘Output Nref’
If checked, geometry passed to 3delight will also contain reference normals;
those are normals before any deformation has been applied. These undeformed
normals are accessible to shaders that declare the varying normal Nref pa-
rameter. This attribute is off by default.
Chapter 3: The User Interface 40

3.5.14 Subsurface Scattering

Figure 3.29: The Subsurface Scattering panel


The following attributes are needed for subsurface scattering simulations. Note that
the reduced absorption and reduced scattering coefficients and refraction index are usually
obtained from specialized literature. The 3Delight User’s Manual contains a discussion
about this topic and a reference to surface properties directly usable by 3Delight.

‘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

‘Subsurface Shading Rate’


This attribute specifies the shading rate used for the subsurface simulation. Its
default value is ‘1.0’.

3.5.15 MEL Scripts


The following attributes allow the user to call custom MEL scripts before and after the
attached object’s geometry is output. Two variables are automatically defined in the context
of these scripts execution:
‘string $render_pass’
This variable is assigned the current render pass node name.
‘string $shape_path’
This variable is assigned the current object shape path.
‘string $attribs_node’
This variable is assigned the current geometry attribute node name.

Figure 3.30: The MEL Scripts panel


‘Pre Geo MEL Script’
This attribute specify a MEL script that will be executed before the geometry is
exported. More precisely, this script is called after all attributes of this "Geom-
etry Attribute Node" are output and right before the geometry is instantiated.
If this attribute is attached to several objects, it will be called once for each
object. This attribute is empty by default.
‘Post Geo MEL Script’
This attribute specify a MEL script that will be executed after the geometry
is exported. More precisely, this script is called right after the geometry is
instantiated. If this attribute is attached to several objects, it will be called
once for each object. This attribute is empty by default.

3.5.16 RIB Archive


The following attributes allow the user to request that specific portions of an archive should
be ignored. These attributes are meant to be attached to a "RIB archive node". For
instance, they could be used to allow the same RIB archive to be used for a beauty pass
(using the various hypershade shaders it contains) and in an occlusion pass, where the
"Ignore Archived Surface Shaders" attribute would be turned on and an occlusion shader
would be attached to the "RIB archive node". Refer to Section 3.11 [The RIB Archive
Node], page 97.
Chapter 3: The User Interface 42

Figure 3.31: The RIB Archive panel


‘Ignore Archived Light Sources’
When this attribute is turned on, any light source in the archive will be disre-
garded. This attributes is off by default.
‘Ignore Archived Light Links’
When this attribute is on, the light linking information (illuminate statements)
in the archive will not be considered. This attribute is off by default.
‘Ignore Archived Transforms’
Turning on this attribute will ignore any transforms stored in the archive. This
attribute is off by default.
‘Ignore Archived Surface Shaders’
When this attribute is on, any surface shaders contained in the archive will be
ignored. This attribute is off by default.
‘Ignore Archived Displacement Shaders’
Turning on this attribute will disregard all displacement shaders contained in
the archive. This attribute is off by default.
‘Ignore Archived Geometry Attributes’
This attributes controls if the archived attributes that come from "geometry
attribute nodes" are ignored or not. Note that attributes in the ‘Geometry’
sections of the "geometry attribute node", such as "Poly As Subd" will retain
their effect regardless of this attribute. This attribute is off by default.

3.5.17 User Attributes


Each Geometry Attribute Node can define as many arbitrary user attributes as needed. For
each geometry attribute node, 3Delight for Maya will look for attributes whose name begin
with "user ". This prefix is removed from the name and the attribute is output to RIB
as a user attribute, along with its value. For instance, a ‘color float3’ attribute named
‘user_colorMultiplier’ will produce a RiAttribute ‘colorMultiplier’. The supported
attribute types are:
• string
Chapter 3: The User Interface 43

• bool
• long, long2, long3
• float, float2, float3 (color or non-color)
• double, double2, double3
Chapter 3: The User Interface 44

3.6 The Geometry Modifiers


3.6.1 Overview
Some of the attributes available in the "Geometry Attribute Node" affect the way geometric
objects are translated into RenderMan primitives. In some cases, it might be desirable to
tie these attributes to specific objects, while sharing other attributes across different object
types using a single geometry attribute node. For instance, several objects could share
the same subsurface attributes by attaching them to a single geometry attribute node, but
some of these objects would need to have ‘Poly As Subd’ attribute on, while others need
this attribute to be off. Using the Geometry Modifiers, it is possible to specify directly on
the object the attributes that affect how the geometry is output, which can make it easier
to share other attributes with common geometry attribute node.

The presence of a geometry modifier attribute in an object will override any identical
attribute in attached "Geometry Attribute Node".

3.6.2 The 3Delight Geometry Modifiers Menu


To add or remove geometry modifiers attributes on an object, that object must be displayed
in the Attribute Editor . In the Attribute Editor’s Attributes menu, a 3Delight Geometry
Modifiers submenu will list the available geometry modifiers. The list of modifiers varies
based on the type of the node begin displayed in the Attribute Editor ; only relevant at-
tributes are listed.

Presence of a given attribute is displayed in the 3Delight Geometry Modifiers submenu


by a checkbox or a checker mark next to the attribute name. Selecting a non-checked
item will add that attribute to the object, while selecting a checked item will remove that
attribute. Selecting the ‘All’ menu item will add all missing attributes, or remove them all
if they were already all present in the object.

3.6.3 Geometry Modifiers Controls


Once some geometry modifiers attribute is added to the object, the gadgets to control its
value are displayed in a separate 3Delight Geometry Modifiers frame layout, which appears
at the bottom of the Attribute Editor . The gadgets displayed there are identical to their
"Geometry Attribute Node" counterpart. Please refer to Section 3.5.12 [Geometry Attribute
Node Geometry], page 28 for details about the effect of the available geometry modifier
attributes.
Chapter 3: The User Interface 45

3.7 The Shading Attributes


3.7.1 Overview
3Delight for Maya offers extra parameters for Hypershade surface shader nodes to con-
trol certain aspects of the shading not covered by the node’s regular attributes. These
parameters are adjusted using extra shading attributes.

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 .

3.7.2 The 3Delight Shading Attributes Menu


To add or remove shading attributes on an Hypershade surface shader node, that shader
must be displayed in the Attribute Editor . In the Attribute Editor’s Attributes menu, a
3Delight Shading Attributes submenu will list the available category of attributes. The list
of modifiers varies based on the type of the node begin displayed in the Attribute Editor ;
only relevant attributes are listed.

Presence of a given attribute is displayed in the 3Delight Shading Attributes submenu by


a checkbox or a checker mark next to the attribute name. Selecting a non-checked item will
add that attribute to the object, while selecting a checked item will remove that attribute.
Selecting the ‘All’ menu item will add all missing attributes, or remove them all if they
were already all present in the object.

3.7.3 Reflection Shading Attributes

Figure 3.32: The Reflection shading attributes panel


The following attributes are offered for surface shaders that support reflections:
‘Max Distance’
The maximum distance to search for reflections. Using a value that excludes
large portions of the scene that cannot be reflected anyway will improve ren-
dering speed.
‘Samples’ Number of samples for the reflection. Higher sample counts produce smoother
reflections.
Chapter 3: The User Interface 46

‘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

3.8 The Light Attribute Node


3.8.1 Overview
The Light Attribute Node is used to specify parameters that are not contained in the light
shader. For instance, several light shaders can use shadow maps; the Light Attribute Node
can be used to generate these shadow maps. When there are no light attribute node attached
to a light, 3Delight for Maya will do its best to extract relevant parameters from the Maya
light node.

Figure 3.33: An empty Light Attribute Node

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.

3.8.2 Shadow Maps


This panel controls the shadow map generation for the attached light source.
Chapter 3: The User Interface 48

Figure 3.34: The Shadow Maps attribute panel


‘Generate Shadow Maps’
This attribute toggles on and off the generation of a shadow map for this par-
ticular light. It is set to off by default. Note that even if this attribute is on,
when the render pass used to render has its "Render Shadow Maps" attribute
unchecked, no shadow maps will be rendered. Refer to Section 3.9.3.6 [Render
Pass Shadow Maps], page 76.
‘Shadow Map Name’
This attribute specifies the filename of the shadow map and is empty by default.
It can be set to a relative or absolute path and contain tokens, as explained in
Section 5.5.4 [File Path Expressions], page 141. It can also be left empty, in
which case a shadow map name will be generated using each of the attached
light node’s "Shadow Map File Name", "Add Scene Name", "Add Light Name"
and "Add Frame Ext" attributes. This name generation will occur regardless
of the light node’s "Use Depth Map" or "Disk Based Dmaps" attributes. Using
this method (or using the ‘<shape_name>’ expression), a single "Light Attribute
Node" can be attached to several light sources and generate shadow maps for
each and everyone of them, as long as they can all share the same parameters
except for the file name. It is recommended to turn on the light node’s "Add
Frame Ext" attribute if the "Generate First Frame Only" attribute is turned
Chapter 3: The User Interface 49

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.

‘deep’ Select this value to compute deep shadow maps.


.
‘Shadow Map Depth Filter’
This attribute is only available when "Shadow Map Type" is set to ‘normal’.
The value selected here defines what depth filter is used when rendering the
shadow map. If some objects exhibits self-shadowing problems, adjust the
‘shadow bias’ value in the light shader (or the Maya light node if there are no
RenderMan shaders attached to the light), or choose a different ‘depth filter’
value. The available values are:
‘min’ This is the default value.
‘max’
‘average’
‘midpoint’
This value is a little slower to compute but is usually very good at
getting rid of the self-shadowing problems.

‘Volume Interpretation’
This attribute 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

‘Far Clipping Plane’


This attribute defines the far clipping plane for the shadow map rendering. The
default value is ‘10000.00’.

3.8.3 Shadow Objects

Figure 3.35: The Shadow Objects attribute panel


‘Shadow Objects’
This attribute defines what objects will be rendered in the shadow map. When
‘<light linker>’ is selected, only objects that are lit by the light this attribute
node is attached to will be rendered in the shadow map. This is the default.
This menu will also list all Maya object sets in the scene; when a set is selected,
only the objects it contains will be in the shadow map, regardless of the light
linking.

3.8.4 Photon Maps

Figure 3.36: The Photon Maps Light Attribute Panel


‘Emit Photons’
When this attribute is on, it enables the generation of photon maps for this light
source. Generally, only point lights and spot lights should enable this toggle.
Note that the total number of photons to trace into the scene is specified in
Section 3.9.3.7 [Render Pass Global Illumination], page 78: 3Delight for Maya
will automatically compute how much photons are needed per light, depending
on their intensity. This attribute is off by default.

3.8.5 Category

Figure 3.37: The Category Light Attribute Panel


Chapter 3: The User Interface 52

‘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.

3.8.6 Motion Blur

Figure 3.38: The Motion Blur Light Attribute Panel

‘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:

‘Off’ No transformation blur will be applied to the shadow map cam-


era, regardless of the render pass’ current "Transformation Blur"
settings. This is the default.

‘On’ Transformation blur will be applied to the shadow map camera,


even if the "Transformation Blur" attribute is turned off in the
render pass. The number of samples is determined by the "Trans-
formation Samples" of the render pass. This value has no effect if
"Generate With Motion Blur" is turned off.

‘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

3.8.7 Area Light

Figure 3.39: The Area Light Light Attribute Panel

‘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.

3.8.8 MEL Scripts


As for the render pass (Section 3.9.3.12 [Render Pass MEL Scripts], page 89), 3Delight
For Maya let you run MEL scripts before and after each shadow map. Two variables are
automatically defined in the context of these scripts execution:
‘string $shape_path’
This variable is assigned the current light shape path.
‘string $attribs_node’
This variable is assigned the current geometry attribute node name.

Figure 3.40: The Light MEL Scripts attribute panel

1
They will appear as highlights from a punctual light source.
Chapter 3: The User Interface 54

‘Pre Render MEL’


This attribute specify a MEL script that will be executed before the shadow
map is rendered. More precisely, the script will be executed just before the
FrameBegin RIB statement of the shadow map. This attribute is empty by
default.
‘Post Render MEL’
This attribute specify a MEL script that will be executed after the shadow map
is rendered. More precisely, the script will be executed just after the FrameEnd
RIB statement of the shadow map. This attribute is empty by default.
Chapter 3: The User Interface 55

3.9 The Render Pass


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

• 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

3.9.2 Managing Render Passes


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

3Delight -> Add Render Pass

The Add Render Pass menu contains a ‘Full’ entry and a ‘Basic’ entry. Selecting ‘Full’
creates a render pass with all available attributes. Selecting ‘Basic’ will create a render pass
containing only the more commonly used attributes. If render pass templates have been
defined, they are also listed in this menu. Selecting a template will create a new render pass
with identical settings as the ones contained in the template. See 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

Figure 3.41: An empty Render Pass


Attributes can be added and removed by using the Add / Remove Attributes button.
on this button brings up the Add / Remove Attributes Window , which is bet-
hLeft-Clicki
ter 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.

3.9.2.2 Inheriting Another Render Pass Attributes


A render pass can inherit attributes from a parent render pass. The parent-child relation is
defined through a connection on the child pass’ "parentRenderPass" message attribute. For
example, the following MEL commands will set ‘parentPass’ as the parent of ‘childPass’:
addAttr -at "message" -ln "parentRenderPass" "childPass";
DL_connectNodeToMessagePlug("parentPass", "childPass.parentRenderPass");
When looking for render pass attribute values, 3Delight for Maya starts by looking in the
render pass that is being rendered, and will then search this pass’ parents for the attribute
presence. If an attribute is not found, its default value will be used.

3.9.2.3 Rendering a Render Pass


Once a render pass is defined,it can be used to render the scene. To launch the rendering,
the following options are available:
The 3Delight menu
A rendering can be launched by selected the desired render pass in the following
Maya menu:
3Delight -> Render -> Pass Name
The Render menu contains a list of all render passes defined in the scene. The
first one displayed is always the render pass that was most recently rendered.
The Render Pass Render Button
When a render pass is displayed in the attribute editor , a rendering can be
launched simply by clicking on the big Render Button displayed at the top of
the attribute editor .
Chapter 3: The User Interface 57

The Maya Render Current Frame Button


The Maya Render Current Frame Menu Item
The Maya Batch Render Menu Item
If Maya’s current renderer setting is set to ‘3Delight’, selecting one of these
options will launch a rendering using the render pass selected in the 3Delight
render settings. Launching a rendering this way can have an impact on some
default values used for rendering. Refer to Section 3.10 [The 3Delight Render
Settings], page 95.

3.9.2.4 Selecting a Render Pass


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

3Delight -> Select Render Pass -> Pass Name

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

3.9.2.5 Duplicating a Render Pass


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

3Delight -> Duplicate Render Pass -> Pass Name

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

3.9.2.6 Saving a Render Pass as a Template


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

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

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

3.9.3 Render Pass Attributes


3.9.3.1 Camera
This section contains informations concerning the camera that will be used by this render
pass as well as animation rendering controls.
Chapter 3: The User Interface 58

Figure 3.42: The Camera panel


‘Camera Name’
This names the Maya camera that is used for this pass. At least one camera
should be defined in the scene. The default camera selected for rendering is
perspShape.
‘Use Resolution From Render Globals’
When this toggle is on, the "Resolution" and the "Pixel Aspect Ratio" at-
tributes will be assigned the same values as the ones set in Maya Render Globals.
This toggle is on by default.
‘Resolution’
The final resolution of the rendered image. By default it is connected to the
resolution specified in Maya Render Globals.
‘Multiplier’
This will multiply the resolution field. The available settings are ‘Full’, ‘Half’,
‘Quarter’ and ‘Eighth’. If the resolution is 1024x512 and this multiplier is set
to ‘Half’ then the actual output resolution will 512x256. The default value is
‘Full’.
‘Pixel Aspect Ratio’
The ratio of the height of a pixel to its width. Square pixels have a ratio of
1.0. Ratios smaller than 1 correspond to wide pixels, while ratios higher than 1
Chapter 3: The User Interface 59

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

The default bucket order is ‘horizontal’.


‘Use Imager Shader’
Enables or disables the use of image shaders. Imager shaders can be attached
to a camera via the Assignment Panel (see Section 3.2 [The Assignment Panel],
page 10). This toggle is on by default.

3.9.3.2 Output
3delight can render a frame (or a series of frames) directly or save the scene in RIB format
for later rendering. In the direct rendering case, 3delight uses information described in
the Displays panel to save or display the produced image. Refer to Section 3.9.3.5 [Render
Pass Displays], page 65.

Figure 3.43: The Output panel


‘Render Mode’
This option specify the kind of output to be produced when rendering this pass.
The available options are:
‘Render’ The renderer will produce the image as specified in the Displays
section. Refer to Section 3.9.3.5 [Render Pass Displays], page 65
for more details.
‘Save RIB’ The renderer will save the scene in RIB format, suitable for later
rendering. If the "animation" toggle is on and the file name remains
the same for a series of frame, the data of the current frame will
be concatenated to the existing file. See 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 to-
kens.
‘RIB Archive’
The scene will be saved in a RIB archive that can be read later in
other rendering. If the "animation" toggle is on and the file name
remains the same for a series of frame, the data of the current
frame will be concatenated to the existing file. Advanced options
Chapter 3: The User Interface 61

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

Figure 3.44: The Quality panel

‘Pixel Samples’
This option specifies in how many sub-samples each pixel will be subdivided.
A draft quality setting for this parameter is 4x4 and a higher quality setting
could be 6x6. Higher values might be needed if motion blur or depth of field
are to be rendered. The default value is 3x3.

‘Shading Rate’
Controls how finely the geometry is tessellated prior to shading. 3delight
adaptively tessellates each primitive into very tiny elements called micro-
polygons, those elements are then shaded and sampled. Usually, the size of one
such micro-polygon is one screen pixel and this corresponds to a shading rate of
1.0. A shading rate of 4.0 will produce micro-polygons that cover approximately
an area of 2x2 pixels and a shading rate of 0.5 will give two micro-polygons per
pixel. It is recommended to leave this parameter to its default value of 1.0 and
reasons why not doing so are explained in 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

‘Ray-trace Max Depth’


Specifies maximum ray-tracing depth when using ray tracing. The default is
only one bounce. Higher values lead to slower but more accurate results.

3.9.3.4 Motion Blur


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

Figure 3.45: The Motion Blur panel

‘Camera Blur’
When this toggle is on, the movement of the camera is taken into account when
computing the motion blur. By default this toggle is off.
‘Camera Blur Samples’
This attribute specifies the number of times the position and orientation of the
camera is sampled during the time interval that the shutter is opened.
‘Transformation Motion Blur’
When this toggle is on, objects that have animated geometric transformation
(translation, rotation or scale) will be blurred. By default, this toggle is off.
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 Motion Blur’


When this toggle is on, objects whose geometry is deforming (such as cloth
simulation geometry or animated fur) will be blurred. By default, this toggle
is off. Deformation motion blur should be enabled only when necessary since it
has a higher memory footprint.

‘Deformation Samples’
Specifies the number of times the geometry of the object is sampled for motion
blur during the time interval that the shutter is opened.

‘Motion Blur Position’


This controls the time at which camera’s shutter opens and closes relative to a
frame of animation. The following values are available2 :

‘end on frame’
Shutter closes at frame start and opens an interval before.

‘centered on frame’
The most usual choice. The shutter opens half an interval before
the frame and closes half an interval afterward. This is the default.

‘start on frame’
Shutter opens at frame start and closes an interval later. This
option should usually be preferred when the visibility of objects
changes during the sequence of frames to render.

‘Sample Motion Blur On Integer Frames’


Normally, the scene is sampled for motion between frames, requiring objects
to be properly animated between frames. Turn this attribute on when the
animation is only defined on frames. This attribute is only available when
setting "Motion Blur Position" to either ‘start on frame’ or ‘end on frame’. It
will force the number of samples for "Camera Blur Samples", "Transformation
Samples" and "Deformation Samples" to ‘2’. The scene will be sampled at (t-1,
t) or at (t, t+1), if "motion blur position" is set to ‘end on frame’ or ‘start on
frame’, respectively. This attribute is off by default.

‘Shutter Efficiency’
Sets how “efficient” the shutter of the camera is, at opening and closing times.
‘1.0’ (the default) is maximum efficiency, meaning that the shutter of the 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

‘Shutter Angle Scale’


A multiplier applied on the render camera’s "shutter angle". It can be used
to increase or decrease the motion blur effect without changing the camera’s
attributes. This attribute is set to ‘1.0’ by default.
‘Sample Motion’
Turn this attribute off to disable motion blur sampling while preserving dPdtime
vectors. This attribute is enabled by default.
‘Extreme Motion Depth Of Field’
Turn this attribute on to avoid artifacts caused by simultaneous use of depth
of field and motion blur. This will also render much slower, so leave this off
unless it is absolutely required. This attribute is off by default.

3.9.3.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).

Figure 3.46: The Displays panel


Each display is shown in its own panel. To add a display, either click on the Add Display
button, or select "Add Display" in the contextual popup menu that appears when right-
clicking almost everywhere in the Displays panel . This menu also offers options to expand
or collapse all display panels at once. To remove a display, click on its Remove Display
button, which appears as a trashcan. To duplicate a display, right-click anywhere above
the display to duplicate and select Duplicate Display menu option.
Chapter 3: The User Interface 66

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

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

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


‘Render toggle’
Controls if the display will be rendered or not. Since the first display in the
panel is considered the primary display, its Render toggle is tied to the Render
Primary toggle. For other displays, their Render toggle is acknowledged only
when Render Secondary is turned on.
‘Image Filename’
This control specifies the file name of the rendered image. When using a frame-
buffer display driver, this specifies a window title. By default, a file name
based on the scene name and render pass name is created. See 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.
‘Browse for Image File button’
This button, drawn as a folder, brings up a file browser to specify an image
filename.
‘View Image button’
This button, drawn as a magnifying glass, will open the display’s image file in a
viewing application. See Section 3.16 [The Preferences Window], page 107 for
details on how to specify which application should be launched.
The second row offers the following attributes:
‘Remove Display button’
This button, drawn as a trashcan, removes the display from the render pass.
‘Display Driver’
This options specified the type of the display driver, which is where your ren-
dered image will go. The following display drivers are available:
Chapter 3: The User Interface 67

‘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.

‘null’ The rendered image is discarded.


‘shadowmap’
The rendered image will be a depth map in TIFF format, suitable
to be used as a shadow map without the need of converting it with
tdlmake. It is recommended to set the "Bit Depth" to ‘32 bit
float’. Refer to [Bit Depth], page 72. It is usually desirable to set
the "Output Variable" to ‘z’. Refer to [Output Variable], page 68.
Chapter 3: The User Interface 68

‘texture’ The rendered image will be a mipmap TIFF, suitable to be used as


a texture map without the need of converting it with tdlmake.
‘dsm’ The rendered image will be a deep shadow map. The deep shadow
map display driver has several restrictions: the "Bit Depth" at-
tribute should be set to ‘32 bit float’, the "Output Variable"
should be set to ‘rgba’, the required "Pixel Filter" is ‘box’ and
the required "Filter Width" is ‘1 x 1’. The "resolution" must have
equal values in both width and height, and this value should be a
power of two.
Detailed information on each display driver is available in the 3Delight User’s
Manual. By default, ‘idisplay’ is the selected primary display driver.
‘Output Variable’
Indicates what variable will be output during this render. The most common
values are ‘rgba’ or ‘rgb’ for RGBA and RGB outputs respectively. You can
specify here any predefined output variable or arbitrary output variables that
your shaders are using. Inline declarations of arbitrary output variables are
allowed, meaning that it is permitted to preceded a variable name with its type
to declare it and specify it for the display mode all at once. Right-clicking
on the text field brings up a popup menu that lists available predefined out-
put variables. The available values that are relevant regardless of the shaders
assigned of to scene elements are:
‘[user specified]’
This item is selected when a custom variable name is typed in the
text field.
‘z [depth]’
For a given pixel, this variable outputs the distance between the
camera and the object visible at this pixel. It is recommended
to set the "Bit Depth" to ‘32-bit float’; refer to [Bit Depth],
page 72.
‘rgb [color]’
This variable outputs the color information of the rendered image.

‘a [alpha channel]’
This variable outputs the transparency information of the rendered
image.
‘Oi [3-channel alpha]’
This variable outputs the R, G and B transparency information of
the rendered image.
‘rgba [color + alpha]’
This variable outputs the color and transparency information of the
rendered image. This is also called a beauty render pass. This is
the default.
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

‘diffuse intensity no shadow’


This variable outputs a grayscale image representing the intensity
of the diffuse shading component without any attenuation made by
shadows. If there are no shadow-casting light sources, the result is
identical to the ‘diffuse intensity’ AOV.
‘key lights diffuse intensity’
The output of this AOV is similar to the ‘diffuse intensity’ AOV,
but will only take into account light sources that have a ‘key light’
attribute set to true. Refer to the [key light attribute], page 52.
‘key lights diffuse intensity no shadow’
This AOV output is similar to the ‘diffuse intensity no shadow’
AOV, but will only take into account light sources that have a ‘key
light’ attribute set to true. Any shadows cast by these key lights
will be ignored. If the key lights do not cast any shadows, the
result will be identical to what is produced by ‘key lights diffuse
intensity’ AOV. Refer to the [key light attribute], page 52.
‘luminance depth’
This variable produces an grayscale image based on the distance
between the camera and the objects; objects closest to the camera’s
near clipping plane will appear white while objects closest to the
camera’s far clipping plane will appear black. It is recommended
to adjust the camera’s clipping plane values to be as close to the
object to be rendered as possible.
‘specular no shadow’
This variable will produce am image of the specular color shading
component without taking any shadowing into account. If there
are no lights casting shadows, the output will be identical to the
‘specular’ AOV.
‘specular intensity’
The output of this AOV is a grayscale image of the intensity of the
specular shading component.
‘specular intensity no shadow’
This variable outputs a grayscale image of the intensity of the spec-
ular shading component, without taking into account any shadows.
If there are no lights that cast shadows, the output will be identical
to what is produced by the ‘specular intensity’ AOV.
‘key lights specular intensity’
This AOV produces a grayscale image of the intensity of the specu-
lar shading component, taking into account only light sources that
have a ‘key light’ attribute set to true. Refer to the [key light
attribute], page 52.
‘key lights specular intensity no shadow’
This variable outputs a grayscale image of the intensity of the spec-
ular shading component, taking into account only the light source
Chapter 3: The User Interface 71

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.

‘camera space normal’


This variable outputs the normal of the object in camera space.

‘facing ratio’
This variable outputs the facing ratio, similar to what is computed
for the ‘samplerInfo’ node’s ‘facingRatio’ output plug.

‘global illumination’
This variable contains the mixed colors of the various diffuse effects
computed by the "Global Illumination" render pass attributes. See
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.

‘16 bit integer’


The image will use 16 bits integer values for each component, with
values defined between 0 (black) and 65535 (white). This corre-
sponds to a quantization of 0, 65535, 0, 65535 for zero, one, min
and max, respectively, and a dither value of 0.5.

‘32 bit float’


The image will use 32 bits float values for each color component.
This corresponds to a quantization of 0, 0, 0, 0, and a dither value
of 0.

‘Custom...’
All images are rendered internally in 32-bits float format. 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

‘Other Custom entries’


The option menu will also list all custom bit depths defined for all
of the current render pass’ displays.

Some display drivers have specific requirements as to what bit depths are supported.
Refer to [Display Driver], page 66.

Advanced

Figure 3.47: The Advanced Displays panel


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

‘Display Subset’
This attribute is used to select one or several Maya sets that is used to narrow
down what objects will appear in the display. Set selection is made using
the 3Delight Set Selector window which is invoked by clicking on the Sets...
button. The "Display Subset" option menu specify how the selected sets will
be interpreted and has the following values available:

‘All Objects’
All visible objects will appear in the display, disregarding any sets
selection made in the 3Delight Set Selector . This is the default.

‘Objects in selected sets’


Only visible objects in the selected Maya sets will appear in the
display.
Chapter 3: The User Interface 74

‘Objects not in selected sets’


Only visible objects that are not in the selected Maya sets will
appear in the display. Put differently, all objects in the selected
sets will be excluded from the display.

‘Gain’ Specifies the gain. Each rendered pixel’s color will be multiplied by this value.

‘Gamma’ Specifies the gamma. Each rendered pixel’s color, once affected by "Gain", goes
through a power function whose exponent is 1 / "Gamma".

‘Override Pixel Filter’


Each display can have its own filter and filter width values. This toggle is
off by default, in which case the display will use the values specified in the
Section 3.9.3.3 [Render Pass Quality], page 61 section of the render pass. When
this toggle is on, these values are overridden with the values specified in the
following two attributes:

‘Pixel Filter’
‘Filter Width’
These two attributes are identical to the "Pixel Filter" and "Pixel Filter Width"
in Section 3.9.3.3 [Render Pass Quality], page 61.

‘Use Matte Attribute’


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, any matte attribute set
on objects will be ignored. This toggle is on by default. Refer to [Geometry
Attribute Matte Object], page 21.

‘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

Figure 3.48: The Edge Detection Panel


3DFM can perform outlining on any desired variable. This can be useful, for ex-
ample, when doing toon rendering or illustration. An example scene can be found in
‘$DELIGHT/example/maya/outlines’. It is also possible to render shaded wireframes on
polygon meshes; see [Polygons Wireframe], page 32.
‘Enable’ This attribute enables edge detection for this particular display. it is set to off
by default.
‘Detected Variables’
This attribute specifies on what variables the edge detection (outlining) will
run. Several variables can be specified, separated by a coma. For example,
setting this attribute to ‘N,z,Oi’ will run edge detection on normals, depth and
object contours. By default, this attribute is set to ‘Ci’, which is the color of
the light reflected by an object.
‘Threshold’
This attribute controls the sensitivity of the edge detection. The higher the
threshold the more sensitive the edge detection is. For example, when detecting
variations on ‘z’ (depth), a value of ‘0.1’ means that if there is a gap of ‘0.1’
between two surfaces (in the z direction) then an edge will be generated. This
attribute is set to ‘0.1’ by default.
‘Color’ This attribute defines the color of the generated outline. It is set to white by
default.
‘Filter Width’
This attribute defines the width of the generated outline. It is set to ‘0.2’ by
default. Values between ‘0’ and ‘1’ are allowed, producing very fine outlines. In
this case it is recommended to raise the "Pixel Samples" attribute (see [Pixel
Samples], page 62) in order to avoid anti-aliasing of the outlines.
Chapter 3: The User Interface 76

Next to this attribute, there is an option menu to determine how this width
should be interpreted. The possible values are:
‘Pixels’ The filter width is a number of pixels.
‘% of Frame Width’
The filter width is taken as a percentage of the image resolution in
X.
‘Depth Based Fadeout’
This attribute enables the edge thickness fadeout with depth. It is off by default.
‘Min Z’
‘Max Z’ These two attributes specify the depth range on which the fadeout will be
performed. By default, "Min Z" is set to ‘0.0’ and ‘Max Z’ is set to ‘1000.0’.
‘Min Filter Width’
The depth based fadeout will keep edges with a minimum width specified by
this attribute. Its default value is ‘1.0’.

3.9.3.6 Shadow Maps


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

Figure 3.49: The Shadow Maps panel


‘Render Shadow Maps’
This attribute controls wether the shadow maps will be rendered or not. Its
default value is on.
‘Use Displacement Shaders in Shadows’
This attribute controls if the displacement shaders are used in the shadow maps
rendering. By default this toggle is on. Note that turning this toggle off might
speed up shadow map rendering but produce incorrect shadows depending on
how much the geometry is displaced.
Chapter 3: The User Interface 77

‘Use Surface Shaders in Shadows’


This attribute controls if the surface shaders are used in the shadow maps
rendering. By default this toggle is off. It is recommended to turn on this
attribute only if some surface shaders are displacing the geometry or modifying
the opacity.
‘Use Atmosphere Shaders In Shadows’
This attribute controls if the atmosphere shaders are used in the shadow maps
rendering, and it is off by default. It is recommended to turn this option on
only if deep shadow maps are rendered.
‘Use Interior Shaders In Shadows’
This attribute controls if the atmosphere shaders are used in the shadow maps
rendering, and it is off by default. It is recommended to turn this option on
only if deep shadow maps are rendered.
‘Z Threshold’
Only objects with opacities greater than or equal to the ‘Z Threshold’ will ap-
pear in shadow maps. The default value is [1.0, 1.0, 1.0] which means that only
completely opaque objects are rendered into shadow maps. If this value is set to
[0.0, 0.0, 0.0] all objects will be included in the shadow map, even completely
transparent ones. Note that this parameter is only useful for depth shadow
maps as deep shadow maps correctly handle semi-opaque surfaces. For users
familiar with the RenderMan standard, this is the equivalent of the following
RiOption:
Option "limits" "zthreshold" [r g b]
‘Depth Filter’
This attribute offers the same control as the light attributes node’s "depth
filter" attribute. Note that setting the render pass’ depth filter attribute will
have no effect on any shadow maps except when a shadow map is produced by
one of the render pass’ display. In other words, if a render pass has no primary
nor secondary display that use the ‘shadowmap’ display driver, no shadow maps
will be affected by this attribute. The available values are:
‘min’ This is the default value.
‘max’
‘average’
‘midpoint’
This value is a little slower to compute but is usually very good at
getting rid of the self-shadowing problems.
‘Volume Interpretation’
This attribute will affect only deep shadow maps rendered in one of the displays
of the render pass node. Deep shadow maps defined in light attributes nodes
will not be affected by this parameter. The available values are:
‘Discrete’
This value should be used to compute shadows cast by solid objects.
Chapter 3: The User Interface 78

‘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.

Figure 3.50: The Global Illumination section

‘Effect’ The type of effect to render. The available effects are:


‘None’ No global illumination effect is rendered.
‘Occlusion’
Renders ambient occlusion. The effect can be adjusted using the
attributes in the “Occlusion and Color Bleeding” section. The oc-
clusion effect is rendered to ‘occlusion’ output variable (see [Oc-
clusion Output Variable], page 71), where unoccluded portions of
the images are rendered as the color specified by "white point" and
fully occluded portions are rendered as the "black point" color.
‘Fast Image Based Lighting’
Renders the scene with an environment lighting. The attributes
listed in the “Environment” section can be used to adjust the effect.
The environment lighting is rendered to ‘environment diffuse’
and ‘environment specular’ output variables (see [Environment
Diffuse Output Variable], page 71 and [Environment Reflection
Output Variable], page 71, respectively). The environment lighting
will not cast directional shadows. To render an image based lighting
effect with directional shadows, the ‘Full Global Illumination’
effect should be chosen instead. The sepcular effects can be fur-
Chapter 3: The User Interface 79

ther refined by adding some of the "3Delight Shading Attributes"


on the desired surface shaders (see Section 3.7 [The Shading At-
tributes], page 45). The environment specular effects will not be
seen if "Specularity" in the “Environment”section is set to 0.
‘Full Global Illumination’
Renders a combination of the ‘Occlusion’ and ‘Fast Image Based
Lighting’ effects, plus a color bleeding effect. Multi-bounce color
bleeding will automatically be computed if the "Render Photon
Maps" is set to ‘Always’ or ‘Automatic’ (see [Render Photon Maps],
page 82) and the "Number of Photons" is not null. The occlusion
effect is rendered to ‘occlusion’ output variable (see [Occlusion
Output Variable], page 71). Environment lighting is rendered to
the ‘environment diffuse’ and ‘environment specular’ output
variables (see [Environment Diffuse Output Variable], page 71 and
[Environment Reflection Output Variable], page 71, respectively).
The color bleeding effect is rendered to the ‘indirect diffuse’
output variable (see [Indirect Diffuse Output Variable], page 71).
‘Add To Final Mix’
When enabled, will add all of the computed components (occlusion, environ-
ment diffuse, color bleeding) to the final image. If unchecked, the beauty render
will not contain any global illumination color so that only the output variables
will contain the different elements; this is more useful in a layer-based pipeline.

Occlusion and Color Bleeding

Figure 3.51: The Global Illumination section


‘Color Bleeding Intensity’
A multiplier for the color bleeding effect. This attribute is available only when
the selected global illumination "effect" is ‘Full Global Illumination’. The
color bleeding effect is output to the ‘indirect diffuse’ output variable (see
Chapter 3: The User Interface 80

[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

Figure 3.52: The Environment section

‘Use Coordinate System’


The coordinate system to use for the currently selected effect. One can click
on the small checker on the right side to create such an environment system.
The environment map to be used should then be set in this coordinate system
node. See [Global Illumination Effect], page 78 for details about the effect of
the environment map for each global illumination effect.
‘Use As Background’
Turning on this attribute will put the texture specified in the coordinate sys-
tem as a background plate. This attribute is available only if "use coordinate
system" is not set to ‘<None>’.
‘Intensity’
The environment intensity. This attribute affects the intensity of the environ-
ment diffuse effect, environment specular effects and the background (when
"Use As Background" is enabled). This attribute is available only if "use coor-
dinate system" is not set to ‘<None>’ and only for the ‘Fast Image Based’ and
‘Full Global Illumination’ effects.
‘Color Gain’
A color that is multiplied by the environment color. This attribute is available
only if "use coordinate system" is not set to ‘<None>’ and only for the ‘Fast
Image Based’ and ‘Full Global Illumination’ effects.
‘Color Offset’
A color that is added to the environment color. This attribute is available only
if "use coordinate system" is not set to ‘<None>’ and only for the ‘Fast Image
Based’ and ‘Full Global Illumination’ effects.
‘Specularity’
This atribute controls the amount of environment specular highlights, reflec-
tions and refractions generated. This attribute is available only if "use coordi-
Chapter 3: The User Interface 82

nate system" is not set to ‘<None>’ and only for the ‘Fast Image Based’ and
‘Full Global Illumination’ effects.

Figure 3.53: The Photon Maps section

‘Render Photon Maps’


This attribute controls if photon maps are rendered. Possible values are:
‘Never’ No photon maps are rendered.
‘Always’ Photon maps are always rendered.
‘Automatic’
Photon Maps are automatically rendered only when [Global Illu-
mination Effect], page 78 is set to ‘Full Global Illumination’.
When the global illumination "effect" is set to ‘Full Global Illumination’,
setting this attribute to ‘Always’ or ‘Automatic’ will automatically enable multi-
bounce color bleeding. Light sources that must not cast photons should have a
light attribute node whose "Emit Photon" attribute has been turned off (see
Section 3.8.4 [Light Attribute Node Photon Maps], page 51). "Render Photon
Maps" is set to ‘Automatic’ by default.
‘Write photon maps’
When this attribute is enabled, the global and caustic photon maps are written
to the speicifed files. These files can then be reused in subsequent renderings
by specifying the file paths in "Global Photon Mpas" and / or "Caustic Photon
Maps" and setting "Render Photon Maps" to ‘Never’.
‘Global Photon Map’
‘Caustic Photon Map’
These two attributes specifies a global photon map, for effects such as final
gathering, and a caustic photon maps. 3DFM uses the one pass technique to
compute photon maps (maps are not saved to disk), so these two names are
needed only for shaders when calling the photonmap() and caustic() shadeops.
One could enter ‘global’ and ‘caustic’ in those fields. By default, these two
attributes are empty.
Chapter 3: The User Interface 83

3.9.3.8 Render Sets


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

Figure 3.54: The Render Sets panel

‘Shader Collection’
Use this attribute to specify what shader collection to use for this render pass.
By default, this attribute is set to ‘<none>’. Refer to 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.

3.9.3.9 RIB Archives


This section contains additional options to fine tune the output of RIB archives. Refer to
the Section 5.3 [RIB Archives Guidelines], page 125 for more details about the purpose of
a RIB Archive. The following attributes are only relevant when the render pass’ "Render
Mode" is set to ‘RIB Archive’. Refer to [Render Mode], page 60.

Figure 3.55: The RIB Archives panel

‘Archive Lighting’
This attribute will specify how lighting information is output in the RIB archive
file. The following options are available:
‘No Lighting’
No lighting information will be written in the RIB archive file. This
option is useful when the desired lighting will change from one scene
to another; it will allow objects in the archive to be lit by the light
sources linked to the RIB archive node used to insert this archive
in a given scene.
‘Light Linking’
The light linking information will be written in the RIB archive
file, but not the light sources themselves. This setting allows light
sources parameters (such as position, intensity, light color, etc.) to
be changed after the RIB archive file has been written and still see
these changes reflected in the archive content. However, the light
source names must remain unchanged in the scene where the RIB
archive is read back. If a RIB archive node is used to read the
archive file back in a scene, it should be linked to all of the light
Chapter 3: The User Interface 85

sources whose light linking information is archived to allow proper


handling of the light linking information the archive contains. Refer
to Section 3.11 [The RIB Archive Node], page 97.
‘Light Sources & Light Linking’
The light sources and light linking information is stored in the RIB
archive file. This is the default.
‘Archive Write Mode’
This attribute controls when the RIB archive file is written. The available
values are:
‘Reuse existing archive’
When this value is selected, 3Delight For Maya will check if
the archive file specified in the "RIB filename" attribute (see
Section 3.9.3.2 [Render Pass Output], page 60). If the file
exists, the only things done for each frame is to execute the
"Pre Frame MEL" and the "Post Frame MEL" scripts. Refer to
Section 3.9.3.12 [Render Pass MEL Scripts], page 89.
‘Overwrite existing archive’
When this value is selected, the file specified in the "RIB filename"
attribute (see [Render Mode], page 60) will be overwritten every
time a rendering is requested.
‘Generate RIB Archives’
When this attribute is on and the "Objects to Render" attribute in the Render
Sets section (see Section 3.9.3.8 [Render Pass Render Sets], page 83) contains a
RIB archive node that can be written, that node will be rendered automatically
before this render pass node is rendered. Note that only the frames specified
in this render pass’ Camera section (see Section 3.9.3.1 [Render Pass Camera],
page 57) will be rendered for the RIB archive nodes. Refer to Section 3.11 [The
RIB Archive Node], page 97. When this option is off, it will be assumed that
the required RIB archive file have been created previously. By default, this
attribute is on.
‘Ignore Archived Objects’
If this attribute is on, the objects defined in the Render Sets section of all RIB
archive nodes that are in this render pass’ render sets will be removed from the
list of objects to render, leaving only the archive to be read. Turn this option
off if you want to see both the objects and the archive that they are contained
in. By default this option is on.
The following options are only available if the render pass "Render Mode" is set to ‘RIB
Archive’ (see [Render Mode], page 60):
‘Archive Transforms’
This attribute controls whether the object transforms are output to the RIB
archive or not. It is on by default.
‘Concatenate Geo Transforms’
If this attribute is on, the transforms for geometric objects are output as rela-
tive transforms. Turn this option off to output absolute transforms, in which
Chapter 3: The User Interface 86

case the archived objects will always be positioned at their archived position,
regardless of the placement of the RIB archive node used to read the archive
back in a scene. This option is on by default.

‘Concatenate Lights Transforms’


If this attribute is on, the transforms for light sources are output as relative
transforms. Turn this option off to output absolute transforms, in which case
the archived light sources will always be positioned at their archived position,
regardless of the placement of the RIB archive node used to read the archive
back in a scene. This option is on by default.

‘Archive Geometry Shaders’


When this attribute is on, the shaders of geometric objects are archived. This
option is on by default.

‘Archive Geometry Attributes’


When this attribute is on, the attributes specified in a geometry attribute node
attached to any archived object will be output in the RIB archive file. Turn
it off to avoid outputting these attributes in the archive. This option is on by
default.

3.9.3.10 RIB Fragments


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

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

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

Figure 3.56: The RIB Fragments panel


Each fragment is shown in its own panel. To add a fragment, either click on the Add
RIB Fragment button, or select "Add RIB Fragment" in the contextual popup menu that
appears when right-clicking almost everywhere in the RIB Fragments panel . This menu
also offers options to expand or collapse all display panels at once, and turn on or off all
fragment’s "Use" or "Write" toggles. To remove a display, click on its Remove Display
button, which appears as a trashcan.

At the top of the RIB Fragments panel are a few general controls, followed by a list of
per-fragment panels. The general controls affect all RIB fragments, and are:
‘Binary Rib’
When this options is on, the RIB file will be saved in binary format, producing
a smaller file. Turn this option off to produce a text RIB file, which is bigger
but easier to edit. By default, this option is off.
‘Compressed Rib’
This option controls if the RIB file will be compressed, producing a smaller file.
By default this option is off.
‘Write Mode’
This attribute controls when a fragment file is written. The available values
are:
‘Reuse existing fragments’
When this value is selected, 3Delight For Maya will look for the
fragment file specified in the fragment’s "Filename" attribute. If
the file exists, then the fragment file is assumed to be up to date,
and that completes the geometry output for this fragment. If the
file does not exist, it will be created unless the fragment’s "Write"
attribute is turned off.
Chapter 3: The User Interface 88

‘Overwrite existing fragments’


When this value is selected, the file specified in the fragment’s "File-
name" attribute will be overwritten every time a rendering is re-
quested, unless the fragment’s "Write" attribute is turned off. This
is the default.
‘Add RIB Fragment’
Clicking on this button will create a new RIB fragment.

Each fragment has its own panel showing the attributes that are specific to that fragment.
‘Use’ When this attribute is off, the fragment is completely ignored and the objects
in its "Object Set" will be output as usual. This attribute is on by default.
Note that it is possible to change all fragments’ "Use" attribute at once using
the contextual popup menu’s ‘Use All’ and ‘Use None’ menu options.
‘Write’ Controls if the fragment file can be written. The condition in which a fragment
file is written is determined by the "Write Mode" (see [RIB fragments write
mode], 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.

3.9.3.11 Search Paths


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

• 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

Figure 3.57: The Search Paths panel


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

3.9.3.12 MEL Scripts


3Delight For Maya gives you the ability to execute MEL scripts at certain locations during
the rendering. This opens up the possibility of doing whatever tweaks required before each
rendering. Since 3delight comes with a set of MEL bindings for the RenderMan standard,
it also becomes possible to insert RenderMan commands anywhere during rendering (see
Chapter 6 [MEL Binding], page 147). This is the equivalent of “RIB Boxes” in other
packages but with the added flexibility of a scripting language. In addition to the MEL
scripts listed here, there are others available in geometry attribute nodes (see Section 3.5
[The Geometry Attribute Node], page 16) and in the light attribute nodes (see Section 3.8.8
[Light Attribute Node MEL Scripts], page 53).

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

Figure 3.58: The MEL Scripts panel

‘Pre Render MEL’


‘Post Render MEL’
Specify scripts to run before and after the rendering is finished, respectively.
Those scripts are guaranteed to run first and last. They are also executed
outside of any RiBegin/RiEnd block, so these scripts are not appropriate for
invoking RenderMan commands.

‘Pre Frame MEL’


‘Post Frame MEL’
Specify scripts to run before and after each frame, respectively. These two
scripts are the very first and last things executed for each frame; they are
called even before and after the RiBegin/RiEnd block, so these scripts are not
appropriate for invoking RenderMan commands.

‘Post Option MEL’


Specifies a script to execute after all RenderMan options have been issued, but
before the camera transforms. This can be used to override any option.

‘Pre World MEL’


Specifies a script to execute just before RiWorldBegin which is also right after
where the camera transforms are issued.

‘Post World MEL’


Specifies a script to execute right after RiWorldEnd (but before RiFrameEnd).

3.9.3.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

Figure 3.59: The Advanced panel

‘Hider’ This attribute specifies the type of hidden surface algorithm used. The available
options are:
‘hidden’ The hidden hider will be used. This is the default.
‘raytrace’
The raytrace hider will be used.
‘photon’ The photonmap hider will be used. Note that the maps specified in
the "Global Photon Map" and "Caustic Photon Map" attributes
will be written, regardless of the value of the "Write Photon Maps"
attribute. The "Number of Photons" attribute must be set to a
value greater than 0. see Section 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.

‘Volume Shading Rate’


This options controls the frequency of shading for interior shaders. It also
applies to atmosphere shaders if the "standardatmosphere" option is set to 0.
The default voume shading rate is 1.0.

3.9.3.14 Network Cache

Figure 3.60: The Network Cache panel

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.

‘Use Net Cache’


A toggle enabling or disabling the network cache. By default, this toggle is off.

‘Net Cache Dir’


Specifies the directory in which files will be cached. This directory should
be local to the machine that performs the render. A common choice is
‘/tmp/3delight’. By default, this attribute is empty.

‘Net Cache Size’


Specifies the size of the cache, in megabytes. The default size is 200 MB.

3
Only available on linux and mac os x.
Chapter 3: The User Interface 94

3.9.3.15 Statistics

Figure 3.61: The Statistics Panel


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

4
Statistics will be written as a TIFF tag.
Chapter 3: The User Interface 95

3.10 The 3Delight Render Settings


The 3Delight Render Settings are accessible in Maya’s Render Settings window once
‘3Delight’ is set as the current renderer. This is done by selecting ‘3Delight’ in the
Render using option menu of the Render Settings window.

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.

Figure 3.62: The 3Delight Render Settings


The Selected Render Pass option menu lists all render pass nodes currently in the scene.
The selected one will be used for all renderings launched using Render Current Frame or
Batch Render options of Maya’s Render menu. The texture button on the right of the
option menu creates a new render pass node and set it as the one being selected for the
"Selected Render Pass" attribute. The AE button next to the texture button can be used
to display the render pass node current selected for rendering in the Attribute Editor .
Chapter 3: The User Interface 96

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

3.11 The RIB Archive Node


3.11.1 Overview
A RIB Archive is a group of objects exported to a RIB file that is intended to be read back
into a scene later on. This approach offers various benefits: the scene can be made lighter
as several objects are replaced by a single node used to read the archive; the RIB generation
time and the disk space the files occupy can be decreased as common objects for all frames
can be put in files shared by all frames instead of being duplicated in each frame file, etc.

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.

3.11.2 RIB Archive Node User Interface


The RIB archive node is used to read existing archives in a scene. It also offers a convenient
interface to connect it to a render pass to allow RIB archive file creation and reading all at
once.

Figure 3.63: The RIB Archive panel


To create an RIB archive node use the Add RIB Archive item of the 3Delight menu. The
following RIB archive node attributes are available in the Attribute Editor :
‘Archive Pass’
This option menu lists render passes whose "Output Mode" have been set to
‘RIB Archive’ (see Section 3.9.3.2 [Render Pass Output], page 60). When a
render pass is selected in this menu, the RIB archive node is connected to that
render pass. The connected render pass will be used to create the RIB archive
file; it will also provide a bounding box (as soon as it is rendered) and a value
for the "RIB Filename" attribute of the RIB archive node. When a render pass
is connected, the "Archive Read Mode" is automatically set to ‘Delayed’. By
Chapter 3: The User Interface 98

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

3.12 The RenderMan Code Node


3.12.1 RenderMan Code Overview
To shade an object, it is possible to attach a RenderMan shader node to it, and it is also
possible to do nothing special, in which case 3Delight for Maya will translate the Hypershade
shading network attached to the object to a human readable RenderMan Shading Language
shader. Sometimes it is also nice to have a little bit of both; this is possible with the
RenderMan Code node.

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

3.12.2 RenderMan Code User Interface


When a RenderMan Code node is selected, the following gadgets are displayed in the At-
tribute Editor :

Figure 3.64: The RenderMan Code panel


Chapter 3: The User Interface 100

‘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 The Coordinate System Node


3.13.1 Overview
Coordinate system nodes are used to position and orient an axis system. This defines a
space that can then be passed as a parameter to shaders. For instance, a coordinate system
node can be used to orient the environment map used by a shader. While the coordinate
system is output to RIB, it is not a renderable object. The way it is drawn in the scene
view can be changed to allow better positioning; this appearance will not be visible in the
rendering.

3.13.2 Drawing

Figure 3.65: The Coordinate System Node Drawing Panel


This section presents the possible options that controls how the coordinate system node
is drawn in the scene view.
‘Draw Method’
This attribute controls the shape used to draw the coordinate system. Available
draw methods are:
‘Plane’ The node is drawn as a vertical 1 x 1 plane.
‘Sphere’ The node is drawn as a sphere with a radius of 1.
‘Cylinder’
The node is drawn as a cylinder with a radius of 1 and a height of
1.
‘Dome’ The node is drawn as a sphere that encloses everything in the
scene. The scene bounding sphere is computed every time the
"Draw Method" attribute is set to ‘Dome’. If this draw method is
selected, the following attributes become available: "Texture File-
name", "Texture Opacity" and "Texture is HDRI".
‘Texture Filename’
Specifies the file to be used as a texture for drawing the dome in the scene view.
The texture should be a file processed with 3Delight’s ‘tdlmake’ utility and will
be visible when the coordinate system node is drawn in ‘Smooth Shade’. This
attribute is empty by default.
Chapter 3: The User Interface 103

‘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

3.14 The Clipping Plane Node


The clipping plane node is used to define clipping planes. Objects, or part of objects,
beyond the plane are discarded by the renderer. Clipping planes can be grouped in sets,
and the set that should be used for rendering should be selected in the render pass node’s
"Clipping Planes" attribute. Refer to [Clipping planes to Render], page 83.
Chapter 3: The User Interface 105

3.15 The CSG Node


3.15.1 Overview
The CSG (Constructive Solid Geometry) Node is used to define how some objects are
combined together to form a solid. It operates on transforms, shapes and on other CSG
nodes. It is possible to define complex solids that result from multiple boolean operations
by selecting a CSG node as an operand of another CSG node.

3.15.2 User Interface

Figure 3.66: The CSG node panel


‘Operation’
This attribute specifies the type of boolean operation that will be applied to
the selected nodes. Available options are:
‘Union’ The resulting solid will be the union of the selected nodes. This is
the default.
‘Intersection’
The resulting solid will be the intersection of the selected nodes.
‘Difference’
The resulting solid will be the difference between the selected nodes.
‘Select closed objects’
This button brings up a selection window that lists geometric objects shapes,
transforms, CSG nodes and sets. Each selected item will be considered as a
single primitive for the CSG operation. It is not recommended to select both a
shape and a set that includes that shape.
‘Select closed objects to substract’
This button is only available when the "Operation" attribute is set to
‘Difference’. It brings up a selection window identical to the one brought
Chapter 3: The User Interface 106

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

3.16 The Preferences Window


3.16.1 Overview
The 3Delight preferences window contains settings that remains effective across all Maya
scenes.

3.16.2 File Viewing Applications

Figure 3.67: The File Viewing Applications Preferences

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

Figure 3.68: The Shaders Preferences

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

‘Primitive RIB archive’


This attribute specifies the path to a RIB archive that is assumed to contain the
geometry to be used for preview renders. This attribute is available only when
"Primitive" is set to ‘Custom’. The RIB file should contain geometry centered
at the origin that has no shaders. This attribute is empty by default.
‘Primitive Scale’
This attribute specifies the scaling factor to apply on the shader preview prim-
itive. It is set to ‘1.0’ by default.
‘Shading Rate’
This attribute specifies the shading rate to use for preview renders. It is set to
‘1.0’ by default.

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 The Render Command Line Interface

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:

Render -r 3delight -help

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

‘1’ One half of the specified resolution.


‘2’ One quarter of the specified resolution.
‘3’ One eighth of the specified resolution.
‘-par <float>’
Specify the pixel aspect ratio of the rendered image.
‘-an <boolean>’
Toggle the rendering of the specified frame sequence on or off.
‘-s <int>’ Set the first frame to render.
‘-e <int>’ Set the last frame to render.
‘-inc <int>’
Defines the frame increment.
‘-crop <boolean>’
Controls if the specified crop window is used for rendering.
‘-crminx <float>’
Set the top right corner position of the crop window in X.
‘-crminy <float>’
Set the top right corner position of the crop window in Y.
‘-crmaxx <float>’
Set the bottom left corner position of the crop window in X.
‘-crmaxy <float>’
Set the bottom left corner position of the crop window in Y.
‘-bo <int>’
Specify the bucket order to be used. The following values are avail-
able:
‘0’ Horizontal bucket order.
‘1’ Vertical bucket order.
‘2’ Zigzag bucket order.
‘3’ Spiral bucket order.
‘4’ Circle bucket order.
‘-is <boolean>’
Toggle the use of imager shaders attached to the specified camera.
‘Render Pass Output options’
The following options control the attributes grouped under the render pass
Output panel:
‘-rmode <int>’
Specify the render mode. The following values are available:
‘0’ Render
Chapter 4: The Render Command Line Interface 112

‘1’ Save RIB


‘2’ RIB Archive
‘-ribfile <string>’
Specify the RIB filename to create.
‘-ribbin <boolean>’
Toggle binary RIB output.
‘-ribcomp <boolean>’
Toggle compressed RIB output.
‘Render Pass Quality options’
The following options control the attributes grouped under the render pass
Quality panel:
‘-psx <int>’
Specify the pixel samples to use in X.
‘-psy <int>’
Specify the pixel samples to use in Y.
‘-sr <float>’
Define the shading rate to use.
‘-pft <int>’
Specify the pixel filter type. The following values are available:
‘0’ Box filter
‘1’ Triangle filter
‘2’ Gaussian filter
‘3’ Catmull-rom filter
‘4’ Bessel filter
‘5’ Sinc
‘-pfx <float>’
Set the pixel filter width in X.
‘-pfy <float>’
Set the pixel filter width in Y.
‘-rtmaxd <int>’
Specify the raytrace maximum depth.
‘Render Pass Motion Blur options’
The following options control the attributes grouped under the render pass’
Motion Blur panel:
‘-cmb <boolean>’
Toggle the camera blur on or off.
‘-cmbs <int>’
Set the number of samples for camera blur.
Chapter 4: The Render Command Line Interface 113

‘-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

‘2’ Maya Render View. This option is not recommended


in command line mode.
‘3’ tiff
‘4’ iff
‘5’ exr
‘6’ cineon
‘7’ zfile
‘8’ bmp
‘9’ eps
‘10’ psd
‘11’ radiance
‘12’ null
‘13’ shadowmap
‘14’ texture
‘-pdm <string>’
Specify the primary display mode.
‘-pdbd <int>’
Set the primary display bit depth. The following values are avail-
able:
‘0’ 8 bits int
‘1’ 16 bits int
‘2’ 32 bits float
‘3’ Custom Quantize
‘-pdqzero <int>’
Set the zero value for quantization. Only relevant when setting
the primary display bit depth to custom quantize. See [-pdbd],
page 114.
‘-pdqone <int>’
Set the one value for quantization. Only relevant when setting
the primary display bit depth to custom quantize. See [-pdbd],
page 114.
‘-pdqmin <int>’
Set the minimum value for quantization. Only relevant when set-
ting the primary display bit depth to custom quantize. See [-pdbd],
page 114.
‘-pdqmax <int>’
Set the maximum value for quantization. Only relevant when set-
ting the primary display bit depth to custom quantize. See [-pdbd],
page 114.
Chapter 4: The Render Command Line Interface 115

‘-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

5.1 Understanding Collections


Collections are a context sensitive shader and attribute assignment strategy, the context
being defined by a render pass. When 3Delight For Maya sends an object for rendering,
it goes through the following steps to decide what shader to use (same decision path is
followed for attributes):
1. If the rendered pass has a collection specified in "Render Set" (see Section 3.9.3.8 [Ren-
der Pass Render Sets], page 83) and the collection has a RenderMan shader specified
in "Override Shaders", use it.
2. If the render pass has a collection specified in "Render Set" and the object has a
RenderMan shader specified in "Collection Shaders" for the same collection, use it.
3. If the object has a RenderMan shader specified in "Object Shaders", use it.
4. Use Maya’s HyperShade network as the shader. This what will happen when rendering
a Maya scene that has no passes.
Collections are a powerful tool in multi-pass rendering. Say that you have a specular
and a diffuse pass, in the specular pass you want to use a Phong shader and in the diffuse
pass you want to perform some “ambient occlusion”. You can achieve this by following
these steps:
• Create two collections, one ‘specular’ and one ‘diffuse’. Collections can be created
by clicking on the “texture square” near the "Collections" line in the assignment panel
(first line in the panel, left hand side).
• Create two render passes: one choosing the ‘specular’ collections and the other one
choosing the ‘diffuse’ collection in the Render Sets section (see Section 3.9.3.8 [Render
Pass Render Sets], page 83).
• Using the assignment panel, assign a specular shader (such as ‘metal’) to your object
in the ‘specular’ collection and attach some ambient occlusion shader in the ‘diffuse’
collection

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.

5.2 Lighting Guidelines


5.2.1 Depth Map Shadows With Maya Lights
The same attributes that control depth shadow maps in Maya are acknowledged by 3Delight
for Maya:
1. In the ‘Depth Map Shadow Attribute’ panel of a light node, check the "Use Depth Map
Shadows" toggle.
Chapter 5: Rendering Guidelines 120

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.

5.2.2 Ray Traced Shadows With Maya Lights


In 3Delight for Maya, objects are visible to shadow rays by default so no extra steps are
required to render ray traced shadows. Maya’s default visibility attributes (Render Stats)
can be overridden if needed. For example, to disable shadow casting for a group of objects:
1. For each light casting ray traced shadows, enable its "Use Ray Trace Shadows" at-
tribute.
2. In 3Delight’s Relationship Editor , create a geometry attribute node and assign it to
the desired objects.
3. In the geometry attributes nodes, add a "Transmission" visibility attribute and set it
to ‘None’.

5.2.3 Deep Shadow Maps With Maya Lights


Here is a quick procedure to produce deep shadow maps:
1. In 3Delight’s relationship editor, create a light attribute and assign it to the light
source(s) for which deep shadow map generation is desired.
2. Display the attribute in the Attribute Editor .
3. Turn on the "Generate Shadow Maps" toggle.
4. Select ‘deep’ for the "Shadow Map Type".
5. Select 3Delight as the default renderer and render.
It is recommended that, in each light node, the "Bias" attribute1 is set to ‘0.2’.

Note that the same procedure can be used to create depth map shadows. Simply set the
"Shadow Map Type" attribute to ‘normal’.

5.2.4 Lighting and Shadowing With RenderMan Light Shaders


A RenderMan light shader node can be easily assigned to a Maya light using the following
steps:
1. Open 3Delight’s Relationship Editor .
2. Create a RenderMan light shader node.
3. Assign the RenderMan light shader to the maya light.
4. Show the RenderMan shader node in the Attribute Editor by clicking on the icon left
of the shader name and set the desired RenderMan shader parameters.
5. Assign relevant values for the various shader attributes. Note that by default, these
attributes are independent from the light node attributes.

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.

5.2.5 Shadow Map Tips


• When a light attribute node is attached to a light node, all options related to shadow
map generation (such as resolution) are retrieved in the light attribute node. The only
exception to this is the "Shadow Map Name" attribute when it’s left empty. Refer to
Section 3.8.2 [Light Attribute Node Shadow Maps], page 47.
• Even when a light attribute node is attached to a light node, any options related to
shadow map usage (such as shadow color, filter size and bias) is specified in the light
shader (RenderMan or Hypershade).
• The coverage of the shadow map is defined by the cone angle of the spot light. In
order to maximize the resolution of the shadows cast by objects, it is recommended to
adjust the cone angle of the light source so that it tightly surrounds the shadow-casting
objects.
• If there is not enough details in the shadow, first try to optimize the usage of the
shadow map by adjusting the coverage as suggested above. If this is not enough, try
increasing the shadow map resolution.
• If you get shadowing artifacts on an object, it might be caused by self-shadowing. For
depth shadow maps, using midpoint depth filtering usually helps getting rid of this
problem. If a light source has no light attribute node attached to it, turning on the
Chapter 5: Rendering Guidelines 123

"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

5.3 RIB Archives Guidelines


5.3.1 Writing a RIB Archive using a Render Pass
A RIB Archive is a RIB file that is not designed to be rendered by itself but to be included
in another RIB file. This way, it is possible for instance to share objects between frame
RIBs, saving disk space and RIB generation time.
A simple way to create a RIB Archive in 3Delight for Maya consists of the following
steps:
1. Create a subset of the scene elements that will be archived. This can be done in various
ways, such as putting these elements in a separate Maya render layer, or more simply,
by creating a Maya set that contains the elements to be archived.
2. Create a render pass. While this is purely optional, it is usually convenient to rename
the node to avoid confusion later with other render passes that will be used for image
rendering.
3. Set the "Render Mode" of the render pass (in the Output panel) to ‘RIB Archive’.
4. Set the "RIB Filename" attribute to the archive file name to be created. When archiving
animated objects, consider using ‘#’ or ‘@’ to insert the current frame number in your
filename. There are more sophisticated tokens also available to specify frame number;
see Section 5.5.4 [File Path Expressions], page 141 for details.
5. In the "Render Sets" panel, select the scene subset created at the first step. If a Maya
set was created and it contains objects and lights, remember to select the set in both
"Objects to Render" and "Lights to Render".
6. Render..
note: There are several advanced options in the RIB Archives panel that you might
want to consider. Refer to Section 3.9.3.9 [Render Pass RIB Archives], page 84 for
more information.

5.3.2 Reading a RIB Archive


Existing RIB Archive files can be read back into a scene using a RIB archive node. Once the
archive file is specified, 3Delight for Maya will look at its first few lines for a line specifying
the archive bounding box. The format of the line is the following:
# Bounds minX maxX minY maxY minZ maxZ
The bounding box information serves two purposes:
• The appearance of the RIB archive node in a scene view port is defined by these
dimensions;
• The bounding box information is required when using a delayed archive read directive,
since the renderer needs to know in what part of the space the reading will be necessary.
If the archive file does not provide the bounding box info, it is possible to enter a
bounding box manually, or simply dismiss it and avoid using the delayed archive reading
directive.

Here is a example showing how it is possible to read an archive in a scene:


1. Create a RIB archive node using the Add RIB Archive item in the 3Delight menu.
Chapter 5: Rendering Guidelines 126

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.

5.3.3 Rendering while Archiving Scene Elements


While the render pass node can create RIB archive and the RIB archive node can read them,
it is possible to connect them together so that scene elements can be archived when needed
and then the archive file created is used for rendering. Here is an example on how to do
this:
1. Create a subset of the scene elements that will be archived. This can be done in various
ways, such as putting these elements in a separate Maya render layer, or more simply,
by creating a Maya set that contains the elements to be archived.
2. Create a RIB archive node using the Add RIB Archive item in the 3Delight menu.
3. Rename this node to something more evocative of what it is going to read.
4. In the Attribute Editor , click on the Texture button on the right of the Archive Pass
option menu. This will create a render pass node, set its "Render Mode" to ‘RIB
Archive’, set its "RIB Filename" to a decent default value (based on the name of the
RIB archive node), and connect it to this RIB archive node.
5. Note that the "RIB Filename" attribute of the RIB archive node is now connected
to the created render pass. Also note that the "Archive Read Mode" is automatically
switched to ‘Delayed’. When the connected render pass will be rendered, the bounding
box of the archive will be automatically set.
6. Click on the AE button on the right of the Archive Pass option menu to edit the
attributes of the connected render pass.
7. While this is optional, it is recommended to rename this render pass to avoid confusion
with other similar nodes.
8. In the Render Sets panel, select the scene subset created at the first step. If a Maya
set was created and it contains objects and lights, remember to select the set in both
"Objects to Render" and "Lights to Render".
9. Configure the other rendering options to your liking. For instance, you might want to
modify the "RIB Filename" (in the Output panel) , or the "Archive Write Mode" (in
the RIB Archives panel). Refer to Section 3.9 [The Render Pass], page 55.
10. Create another render pass using the Add Render Pass menu. This pass will be used
to produce an image.
11. Click Render . The rendering process will first render the render passes connected to
any RIB archive nodes contained in the render set of the render pass whose Render
button was clicked. The archives are then used it in the image rendering.
Chapter 5: Rendering Guidelines 127

5.3.4 Miscellaneous RIB Archives tips


Here are few tips regarding the RIB archives:
• Using the RIB archive node, it is easy to add extra instances of objects while keeping
the scene very light by simply duplicating the node.
• When archived objects are still present in the scene, it is possible to either ignore them
completely for the rendering and only use the archive, or to keep the objects in the
scene and also include the archive. The later could be used to add an extra instance
of the objects in the scene, simply by moving the RIB archive node elsewhere in the
space. Control of the presence of the archived objects is done via the "Ignore Archived
Objects" attribute of the render pass used to render the image.
• If the RIB archive node might be moved to a different position from where the objects
were when archived, it is important to leave the "Concatenate Geo Transforms" at-
tribute to on, in the RIB Archives panel of the render pass used to create the archive.
If the archive contains light sources and it is desired that these are also moved, keep
the "Concatenate Light Transforms" set to on. Those two attributes are on by default.
• It is possible to avoid re-creating archive files; set the "Archive Write Mode" of the
render pass nodes that creates the archive to ‘Reuse Existing Archive’. Or, simply
have the rendering process assume that all the required files are there without checking
anything by turning off the "Generate RIB Archives" toggle of the render pass that
produces the image. Both of these options are in the RIB Archives panel, Advanced
sub-panel.
• When creating the RIB archive, Hypershade shaders for the content of the archive are
created when relevant. In order to keep shaders as efficient as possible, the generated
code will contain statements to output only the AOVs that are selected in the render
pass used for the rendering. So, if the RIB archive is going to be used in a scene
that will be rendered using some of the predefined AOVs, it is required to define the
same AOVs in the Displays section of the render pass used to create the archive. For
instance, if a scene is going to be rendered using the ‘ambient’ AOV and contains a
RIB archive node, the archived objects will render properly in the ‘ambient’ display
only if the ‘ambient’ AOV was defined in the render pass used to create the archive.
• It is possible to attach a geometry attribute node to a RIB archive node. If the archive
was created with the "Archive Geometry Attributes" toggle off, then the "Geometry
Attribute Node" attached to the RIB archive node will affect all of the content of the
archive. Even when the archive was created with the "Archive Geometry Attributes"
toggle on, it might still be useful to attach a geometry attribute node a RIB archive
node when the "Archive Read Mode" is set to ‘Delayed’. For instance, if a given
RIB archive node, whose "Archive Read Mode" is set to ‘Delayed’, does not set its
"Transmission" attribute to anything, its content will not be considered for ray traced
shadows. The same goes for other attributes, such as "Visible To Reflections" and
subsurface scattering attributes.
Chapter 5: Rendering Guidelines 128

5.4 Geometry Guidelines


5.4.1 Maya Render Stats and Geometry Attribute Nodes
3Delight for Maya supports Maya render stats attributes. Since these attributes overlap in
functionality some of the attributes available in the geometry attribute node, the later will
take precedence when defined. Here is a list of the supported render stats attributes and
their geometry attribute node attribute counterparts.

‘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.

5.4.2 Using Attributes to Export Primitive Variables


It is possible to create attributes on geometric objects that will be exported to rendering
by 3Delight for Maya. These attributes can be used to carry information to any shaders
attached to the object. 3Delight for Maya will look for attributes whose name begin with
‘delight’ and will export them without that prefix. For instance, if an attribute is named
‘delightmycolor’, it will be exported as ‘mycolor’.

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:

addAttr -uac -at "float3" -ln "delightSurfaceColor" "sphere";


addAttr -at "float" -ln "delightSurfaceColorR" -parent "delightSurfaceColor" "sphere";
addAttr -at "float" -ln "delightSurfaceColorG" -parent "delightSurfaceColor" "sphere";
addAttr -at "float" -ln "delightSurfaceColorB" -parent "delightSurfaceColor" "sphere";
setAttr "sphere.delightSurfaceColor" -type float3 0.0 0.0 0.0;
Chapter 5: Rendering Guidelines 130

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";

setAttr "cube.delightFaceColor[0]" -type "float3" 0 0 0;


setAttr "cube.delightFaceColor[1]" -type "float3" 0 0 0;
setAttr "cube.delightFaceColor[2]" -type "float3" 0 0 0;
setAttr "cube.delightFaceColor[3]" -type "float3" 0 0 0;
setAttr "cube.delightFaceColor[4]" -type "float3" 0 0 0;
setAttr "cube.delightFaceColor[5]" -type "float3" 0 0 0;

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 .

Vertex Primitive Variables


It is also possible to completely specify the type and class of the primitive variable to be
exported. This is done using a similar form with ‘delight’, the class, the type and then
Chapter 5: Rendering Guidelines 131

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.

5.4.3 Exporting Per-Vertex Attributes on Polygon Meshes


The following examples shows how to export vertex colors; additionally, the RenderMan
Code node will be used to visualize the color sets in a rendered image.
1. Create a polygon shape of your choice, and light it with a few spot lights.
2. Select the polygon shape and select the Polygons menu set.
3. In the Color menu, select Color Set Editor .
4. In the Color Set Editor , create 2 color sets using the New button.
5. Name a color set surfaceColor and name the other color set displacementColor.
6. Select the surfaceColor color set.
7. In the Color menu, select the Paint Vertex Color Tool item.
8. Paint the surface as you like, leaving some visible areas unpainted. Avoid using the
Flood button. You can try varying the opacity slider while painting in ‘RGBA’ mode.
9. Back in the Color Set Editor , select the displacementColor color set.
10. Since we are only going to use the alpha channel of this color set, use any color you
want, but make sure the Channels radio button is set to ‘RGBA’. The surface is going
to be displaced where you paint; you can adjust the "Opacity" slider and check the
"Accumulate opacity" checkbox if you want.
11. Bring up the Hypershade Editor and create a surface node, such as Blinn.
12. Create a RenderMan Code node (listed in the Utilities section) and then select the
RenderMan Code node and bring up the Attribute Editor .
13. Click on the Text Editor button next to the "Shading Parameters" text field and
append the following lines in the text editor:
shader_input varying color surfaceColor
shader_input varying float surfaceColor_alpha
color defaultColor
output color outColor
These lines defines the following:
• The first line defines a RGB color input parameter that varies for each vertex.
Since it is named identically to a color set that we will export, the painted colors
of that color set are passed automatically to it.
Chapter 5: Rendering Guidelines 132

• 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.

5.4.4 Exporting Particle Attributes


3Delight for Maya can export any particle attribute to rendering; these attributes are
accessible to custom RenderMan shaders. In order to illustrate how this is achieved, here
is an example that will use the rgbPP attribute to color rendered particles.

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

output color o_outParticleColor


• Click on the Apply button to apply the changes.
10. Click on the Edit in Text Editor button on the right of the "Shading Code" text field.
11. In the Text Editor window, append the following code, which simply assigns to the
output plug the per-particle color:
o_outParticleColor = rgbPP;
12. Click on the Apply button to apply your changes.
13. Back in the Hypershade Editor , connect the o outParticleColor plug of the RenderMan
Code node to the color input of the surface node that is connected to the surfaceShader
plug of the shading group attached to the particle system.
14. Select 3Delight as the default renderer and render.

5.4.5 Rendering Sprites with Distinct Textures


It is possible to render sprite particles so that each sprite has a distinct texture applied to
it. The texture of a given sprite can remain constant for all frames, or it can also change
from frame to frame. The general idea is to use a ‘file’ 2D texture node to define an image
sequence, and to control which image of that sequence will be applied to a specific sprite
via the "spriteNumPP" particle system attribute.

The general steps to set up per-sprite texturing are:


1. Prepare an texture sequence for use in a ‘file’ 2D texture node. It is required to
provide a tdl texture file sequence. 3Delight for Maya will accept a texture sequence
that contains zero-padded frame numbers, such as ‘smoke_001.tdl’. However it is rec-
ommended to use non-padded file names, such as ‘smoke_1.tdl’ so Maya can properly
display the textured spirtes in the scene view. The first image sequence is expected to
have the frme number 1. To convert a complete image sequence to tdl textures, a MEL
procedure like the following can be used:
proc
convertTextures(string $texture_files)
{
string $file = basename($texture_files, "");
string $dir = substring($texture_files, 1, size($texture_files) - size($file));

string $textures_to_process[] = ‘getFileList -filespec $texture_files‘;

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()’).

5.4.6 Maya Hair and Paint FX Tips


Maya Hair and PaintFX have no regular Hypershade shaders attached to them, nor are
they recognized by the light linker. There are several ways to get rid of these problems
depending on what is bothering you:
Chapter 5: Rendering Guidelines 136

• 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>’.

5.4.7 Maya Fur Tips


• Generally, it is recommended to distribute a given amount of hairs on several smaller
fur nodes instead of assigning the same amount of hairs to a single, larger object. The
smaller, lighter objects will render more efficiently.
• It is more efficient to lower the fur density than increasing the "baldness" attribute.
• If parts of a polygonal model need to be bald, it is recommended to exploit the fact that
UVs outside of the [0 - 1] range don’t receive any fur. This fact can be used with the
first tip on a polygonal model to create several fur nodes on one model. Simply define
as many UV sets as there will be fur nodes. Attach all fur descriptions to the model.
Finally, make sure each fur description node has its relevant "uvsetName[x]" attribute
connected to the correct "uvset[y].uvSetName" attribute of the polygonal model.
• When a polygonal model has some fur and is deformed, the UV set used for the fur
should contain no concave regions. The concavities can cause problems when deforma-
tion blur is rendered. Alternatively, the problem can be avoided by fixing the model’s
triangulation by using the Triangulate option of the Maya Mesh menu.
Chapter 5: Rendering Guidelines 137

• 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.

5.4.8 Shave and a Haircut Tips


Selecting an output method
To render Shave and a Haircut hair nodes, 3Delight for Maya offers two approaches. The
first one is included in the 3Delight for Maya plugin itself and asks the Shave and a Haircut
plugin to generate one RIB file per shave hair node. The second approach is to load the
3dfm shave plugin; this plugin interacts with the Shave and a Haircut plugin to retrieve
hair data and render them directly.

The benefits of using the Shave and a Haircut support embedded in the 3Delight for
Maya plugin are:

• No extra plugin to load.

• The "voxels" attribute in the Shave Globals RenderMan section can be enabled to
reduce memory usage when rendering.

• Requires less memory when caching the scene.

This method is used when the 3dfm shave plugin is not loaded in Maya.

The benefits of using the 3dfm shave plugin are:

• No extra RIB file needed to store hair data.

• 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.

Shave Hair Shapes Primitive Variables


With both rendering methods, the attributes in the Shave Globals RenderMan section
control what primitive variables are output. Opacity will also be affected by the value of
the "Tip Fade" attribute of each Shave shape. The available primitive variables are listed
in Figure 5.1.
Chapter 5: Rendering Guidelines 138

Shave Globals Attribute Primitive Variable


Export Normals uniform normal N Srf
Export Opacity varying color Os
Export Root/Tip Colors uniform color rootcolor, tipcolor
Export Vert Colors varying color Cs
Export W Coords varying float w
Export UVs uniform float s, t
Export Root Positions uniform point P Srf 1

Figure 5.1: List of all primitive variables for Shave hair shapes.

Using the Shave support embedded in 3Delight for Maya


When using the Shave and a Haircut support embedded in the 3Delight for Maya plugin,
all options offered in the RenderMan section of the Shave Globals are supported, except
the "Global RIB Text" attribute and the motion blur and shutter attributes. Motion blur
attributes are defined by the Render Pass node being used, except that the number of
samples for defomration blur is limited to two. The RIB files will be output in the directory
specified by the 3Delight Fur Files project setting. Refer to Section 5.5.5 [Automatic File
Output Control], page 143.

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.

Shading and Lighting


By default, Shave and a Haircut hair nodes are not assigned any Hypershade shading group,
excluding them from the light linking system. In 3Delight for Maya, 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.
Simply assigning a RenderMan surface shader node while rendering with the default Render
Pass values will make the lack of light links on the Shave and a Haircut node obvious since
it will appear black. Some possible solutions for this problem are:
• Create an object set containing all lights lighting the Shave and a Haircut node. Create
a geometry attributes node and attach it to the Shave and a Haircut node. Set the
"Illumination From" attribute of this geometry attributes node to the lights object set
that has just been created. Note that the Shave and a Haircut node will still not be
part of shadow maps; to fix this, select all objects that need to appear in the shadow
map and create an object set with them. Create a light attribute node and attach it to

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:

hyperShade -assign "initialShadingGroup";


Finally, a simple way to get hair shading similar to what is produced by the Maya
software renderer is to attach the Shave shader that is packaged with Shave and a Haircut
to the shave hair shape node. 3Delight comes with a pre-compiled version of this shader.

5.4.9 Miscellaneous Geometry Tips


• When rendering a frame sequence containing motion blurred objects whose visibility
change during the sequence, it is recommended to select a value for the "Motion Blur
Position" attribute of the render pass that will define a sampling interval where the
visibility will remain constant. For instance, if the visibility of some objects changes
precisely at time 2.0, "Motion Blur Position" should be set to ‘start on frame’ since
this is the only value that defines a sampling interval where the value of the visibility
attribute remains constant. The other possible values, ‘end on frame’ and ‘centered
on frame’, both will define a sampling interval that covers a time period before time
2.0.
Chapter 5: Rendering Guidelines 140

5.5 Miscellaneous Guidelines


5.5.1 Dynamics Animation Rendering
3Delight for Maya could change the current time while rendering in two cases: when ren-
dering a frame sequence (obviously) and when motion blur is enabled. If motion blur is
requested, the blurred objects need to be sampled a number1 of times during the frame’s
interval in order to detect the extent of their movement. This means that the current time
will move a number times to sample the movement, and then jump back to the current
frame once the rendering is done.
Since dynamics are computed incrementally2 the time jumps introduced by 3Delight for
Maya may yield consistent results. To avoid this problem, the dynamics computations need
to be exactly the same for a given frame, regardless of what was the previously played
frame. One way to achieve this is to cache the dynamics results. It is highly recommended
to use Maya disk caching system when working with a scene that contains dynamics. Refer
to the Maya documentation for more details about this; look into the Solvers and caching
book in the Dynamics -> Dynamic and Effects section.

5.5.2 Using Atmosphere Shaders


Atmosphere shaders in RenderMan are used to compute the appearance of the volume
between the camera and the object closest to it. This means that if there are no objects
facing the camera at a given point in the camera’s field of view, no atmosphere shader will
be applied. Following this basic principle, here are some tips using atmosphere shaders,
such as fog or smoke:
• Atmosphere shaders can be attached to any geometric objects using the shader assign-
ment panel (see Section 3.2.2 [Assignment Panel Components], page 11).
• If the atmosphere shader effect is needed everywhere in the camera field of view, create
an object that will encompass all scene objects (including the render camera and the
light sources), such as a cube or a sphere, and apply the atmosphere shader to it. This
will ensure that the atmosphere shader is applied everywhere where there would be
nothing visible to the camera.
• Attach the atmosphere shader to any object that the atmosphere shader effect is desired
between that object and the camera. Conversely, it is possible to exclude the volume
between a given object and the camera from the atmosphere computation simply by
not attaching the atmosphere shader to that object.
• An easy way to apply an atmosphere shader to every geometric object in the scene
is to create a shader collection and use the Override shaders section to specify the
atmosphere shader to be used for all objects.

5.5.3 Textures In The Hypershade


If an object is shaded using an Hypershade shading network that uses a texture file (via a
node such as the File 2D texture node), 3Delight for Maya will first convert the texture
1
The number of samples needed depends on the transformation and deformation steps set by the user.
2
The computations in the current frame rely on the results of the previous frame.
Chapter 5: Rendering Guidelines 141

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.

5.5.4 File Path Expressions


When an attribute that specifies a file path contains a relative path, the path will be
considered relative to the current Maya project directory. This path can contain various
tokens; this allows the path to dynamically change to reflect the current value of a given
token. The following tokens can be used in any file path:
‘$VAR’ The value of the environment variable ‘VAR’ will replace ‘$VAR’ in the path.
‘%VAR%’ The value of the environment variable ‘VAR’ will replace ‘$VAR’ in the path.
‘~’ The value of the HOME environment variable will replace the tilde character.
‘@’ The current frame number will replace the @ character.
‘#’ The current frame number, padded to form a 4 digits number, will replace the
# character.
‘{<frame_num_char><operator><operand>}’
Simple expressions to produce a frame number can also be used as a part of
the file name. The expression must be enclosed in curly braces. The expression
components are:
‘<frame_num_char>’
A character that represents the current frame number. ‘@’ will
produce the current frame number, and ‘#’ will produce the same
current frame number, padded to form a 4-digits number.
‘<operator>’
An arithmetic operator. Valid operators are: ‘+ - * / %’.
‘<operand>’
A integer or floating point number.
For instance, the following are valid frame number expressions:
{#-10}
{@*2.5}
{#%5}
‘‘MEL command‘’
The string enclosed in back quotes is evaluated as a MEL command and gets
replaced with the command’s result.
‘<layer>’ This string will be replaced with the currently rendered Maya render layer.
3
Which is a standard TIFF file, augmented with mip maps.
Chapter 5: Rendering Guidelines 142

‘<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

5.5.5 Automatic File Output Control


Some files are automatically generated by 3Delight for Maya. The destination directories
for these files are defined in the Maya project. Like other Maya project settings, relative
paths will be made relative to the project directory.

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.

The available 3Delight for Maya project directories are:


3Delight Shaders
When an object has no RenderMan shader attached to it, 3Delight for Maya
will attempt to translate any Hypershade shading network attached to that
shader to RenderMan shaders, which are then used in the rendering. This
process generates shader source files, which are stored in a ‘src’ directory.
These source files are then compiled into a shader and the compiled shader
files are stored under the ‘OBJ’ directory. Both the ‘src’ and ‘OBJ’ folders are
created under the directory specified in the 3Delight Shaders project setting.
If the 3DFM SHADERS PATH environment variable is defined, its value will
be used (and thus will override the directory specified in the 3Delight Shaders
project setting). Note that this project setting is relevant only for translated
shaders from Hypershade networks. It has no effect on RenderMan shader
nodes or on the shader paths displayed in the Shader Selector .
Shadow Maps
Shadow Maps will be automatically generated only in the following cases:
1. A light source has no light attribute node attached to it; its "Use Depth
Map Shadows" attribute is turned on, and the render pass node used for
rendering has its "Render Shadow Maps" attribute turned on.
2. A light source has a light attribute node attached to it. This light attribute
node has its "Generate Shadow Maps" attribute turned on, but nothing
is specified in the "Shadow Map Name" attribute. The render pass node
used for rendering has its "Render Shadow Maps" attribute turned on.
If one of these two situations is encountered, a shadow map file name will be
generated based on the current values of the light source node’s attributes
in the section "Disk Based Dmaps". The file will be created under the
directory specified in the 3Delight Shadow Maps project setting. If the
3DFM SHADOWMAPS PATH environment variable is defined, its value will
be used (and thus will override the directory specified in the 3Delight Shadow
Maps project setting). Shadow map rendering parameters are obtained by
the current settings in the attached light attribute node. If no light attribute
node is attached to the light source, the shadow map rendering settings are
derived from the light source node’s "Depth Map Shadow Attributes". Refer
to Section 5.2.5 [Shadow Map Tips], page 122 for more details.
Chapter 5: Rendering Guidelines 144

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

5.5.6 Hypershade translation quirks


3Delight for Maya automatically translates most hypershade networks into equivalent Ren-
derMan shading language. However, some nodes require special attention for various rea-
sons.
‘bump2d’ To use the Tangent Space Normals and Object Space Normals modes, some
extra setup is required. Create a vector attribute named bumpNormal on the
node and connect the bump texture’s output color to it. A connection of the
texture’s alpha to the bumpValue input like Maya is using is not required but
will not hurt either.
Chapter 5: Rendering Guidelines 146

5.6 A Few Words About Fluids


This version of 3Delight For Maya comes with an SL implementation of Maya fluids. Since
it still in a beta state, please mind the following shortcomings:
• Performance is not on par with the default Maya renderer. This is mainly due to the
algorithm being almost entirely written in RenderMan’s shading language
• The fluid must have a density channel in order for it to render.
• 2D Fluids are not supported.
• Cylindrical drop-off is not supported.
• Noise contrast is approximate.
• Noise invert texture parameter not supported.
• Shadow opacity is not supported.
• Volume wave noise scale is not supported.
All theses shortcomings will be addressed in a future version.
Chapter 6: MEL Binding 147

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

7.1 General User Defined MEL Procedures


global proc DL_userStartup ()
This procedure is called as the last step of the initialization procedure that is run
when the 3Delight for Maya plugin is loaded.

global proc DL_userGetStringTokens (string $tokens[], string $values[])


This procedure is called when a string attribute is parsed by DL_expandString()
to expand the tokens and environment variables the attribute may contain. DL_
userGetString is passed two empty string arrays and it is expected to fill the first
one with the tokens to look for and the second one with their replacement strings.
The user defined token substitution is done after the built-in tokens substitution.

global proc string DL_userConvertTexture (string $src, string $dst)


This procedure is called when a texture file, such as one referenced by the ‘file’ 2D
texture node, needs to be converted to a tdl texture file. The procedure is passed
the full path to the source file and the full path to the desired tdl file. The returned
string is expected to contained an error message, or an empty string if the conversion
completed successfully. The default behaviour is to call DL_defaultConvertTexture.

7.2 Procedures Related To MEL Script Attributes


global proc DL_userPreRenderMel (string $render pass)
This procedure is called right before the Pre Render Mel script of the render pass
being rendered is executed.

global proc DL_userPostRenderMel (string $render pass)


This procedure is called right before the Post Render Mel script of the render pass
being rendered is executed.

global proc DL_userPreFrameMel (string $render pass)


This procedure is called right before the Pre Frame Mel script of the render pass
being rendered is executed.

global proc DL_userPostFrameMel (string $render pass)


This procedure is called right before the Post Frame Mel script of the render pass
being rendered is executed.

global proc DL_userPostOptionMel (string $render pass)


This procedure is called right before the Post Option Mel script of the render pass
being rendered is executed.

global proc DL_userPreWorldMel (string $render pass)


This procedure is called right before the Pre World Mel script of the render pass being
rendered is executed.
Chapter 7: Developer’s Corner 151

global proc DL_userPostWorldMel (string $render pass)


This procedure is called right before the Post World Mel script of the render pass
being rendered is executed.
global proc DL_userPreGeoMel (string $render pass, string $geometry name,
string $visible lights[], int $is shadow, string $geo attrib nodes[])
This procedure is called right before the Pre Geo Mel script attribute of related
geometry attribute nodes is called. The parameters passed to this procedure are:
‘string $render_pass’
The render pass node name
‘string $geometry_name’
The name of the geometric object about to be output
‘string $visible_lights[]’
The list of renderable, visible light shapes.
‘int $is_shadow’
This parameter is set to ‘1’ when this procedure is called during a shadow
map rendering. It is set to ‘0’ when called during a regular frame render-
ing. It can also be set to ‘-1’ when it is called outside of a Frame Begin
/ End block. Currently this can only happen when outputting geometry
instances connected to a particle instancer.
‘string $geo_attrib_nodes[]’
The list of geometry attribute nodes that are either connected or inherited
by the current object.
global proc DL_userPostGeoMel (string $render pass, string $geometry name,
string $visible lights[], int $is shadow, string $geo attrib nodes[])
This procedure is called right before the Post Geo Mel script attribute of related geom-
etry attribute nodes is called. The parameter list is identical to DL_userPreGeoMel.
global proc DL_userLightPreRenderMel (string $render pass, string
$light name, string $light attribs nodes[])
This procedure is called just before the Pre Render MEL script defined in light attribs
node attached to the light source shape. The parameters passed to this procedure
are:
‘string $render_pass’
The render pass node name
‘string $light_name’
The light source shape name
‘string $light_attribs_nodes[]’
The list of light attributes nodes attached to the light source shape.
global proc DL_userLightPostRenderMel (string $render pass, string
$light name, string $light attribs nodes[])
This procedure is called just before the Post Render MEL script defined in light
attribs node attached to the light source shape. The parameters list is identical to
DL_userLightPreRenderMel.
Chapter 7: Developer’s Corner 152

7.3 Customizing Render Pass Nodes


global proc DL_userRenderPassInit (string $render pass)
This procedure is called as the last step of the render pass node creation procedure.
It could be used to configure a render pass node with different values than the default
ones. It can also be used to add various custom attributes, in which case it might be
useful to also define DL_userRenderPassAEtemplate().

global proc DL_userRenderPassAEtemplate (string $render pass)


This procedure is called at the end of AEdelightRenderPassTemplate(), which is
responsible for defining the attribute editor template for render pass nodes. DL_
userRenderPassAEtemplate can be used to define editor template command for user-
defined attributes added to the render pass nodes.

global proc string[] DL_userGetAllDisplayDrivers ()


This procedure is called whenever the list of display drivers is needed. The
list of the display drivers packaged with 3Delight can be retrieved with
DRP_getDefaultDisplayDrivers.

global proc string[] DL_userGetAllDisplayAOVs ()


This procedure is called whenever the list of arbitrary output variables is
needed. It is expected to return an array of strings that will be used to build
the user interface corresponding to the AOV declarations returned by DL_
userGetAllDisplayAOVDeclarations. Note that both DL_userGetAllDisplayAOVs
and DL_userGetAllDisplayAOVDeclarations procedures must be defined to be
used; they are assumed to return arrays of the same size. The built-in AOVs can be
retrieved by calling DRP_getDefaultDisplayAOVs.

global proc string[] DL_userGetAllDisplayAOVDeclarations ()


This procedure is called to retrieve an AOV declaration to pass to the display. 3De-
light for Maya looks for the currently selected AOV, figure its index in the array re-
turned by DL_userGetAllDisplayAOVs(), and uses that index on the array returned
by DL_userGetAllDisplayAOVDeclarations to provide the display driver an output
variable. Inline declarations are allowed. Note that both DL_userGetAllDisplayAOVs
and DL_userGetAllDisplayAOVDeclarations procedures must be defined to be used;
they are assumed to return arrays of the same size. The built-in AOV declarations
can be retrieved by calling DRP getDefaultDisplayAOVDeclarations.

7.4 Customizing Geometry Attribute Nodes


global proc DL_userGeoAttribsInit (string $geo attr node name)
This procedure is called when a geometry attribute node is created using DGA_
create() (the 3delight for maya user interface always create geometry attributes
nodes using that procedure). Invoking DL_userGeoAttribsInit is the last thing
done by DGA_create().

7.5 Customizing Shader Nodes User Interface


Chapter 7: Developer’s Corner 153

7.5.1 Attribute Grouping


It is possible to define groups of parameters for RenderMan shader nodes. This feature is
particularly useful for shaders exposing a large number of parameters since it enables the
shader writer to group logically related parameters in a clean interface.

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.

7.5.2 Defining Shader Parameter Gadgets


It is possible to modify the gadgets that are created by default using shader annotations in
the shader’s RenderMan shading language source file2 . The annotations to define the user
interface for a given parameter should adhere to the following form:
#pragma annotation <shader_param_name> "annotation[;annotation;...];"
It is possible to specify multiple annotations lines for the same shader parameter; they
will all be concatenated in a single annotation string by the shader compiler. The supported
annotations for defining the user interface of a parameter are:
‘gadgettype=<type>’
Specifies the type of gadget to create. The supported types are:
1
For more about shader annotations, please consult 3Delight User’s Manual.
2
For more about shader annotations, please consult 3Delight User’s Manual.
Chapter 7: Developer’s Corner 154

‘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.

The following illustrates how gadget annotations can be constructed:


#pragma annotation floatenum "label=Float Opt Menu Label;"
#pragma annotation floatenum "gadgettype=optionmenu:Zero=0:One:Two:Fifty=50:Fifty-one;"

#pragma annotation stringenum "gadgettype=optionmenu:item 1:item 2:item 3=custom value;"

#pragma annotation floatParam "label=int slider label;gadgettype=intslider;min=1;max=50;"

surface annotationTestShader(
float floatenum=0;
string stringenum="item 2";
float floatParam = 2;)
{
}

7.6 Defining Custom Shader Nodes


It is possible to define custom Maya nodes to be used along with a RenderMan shader
file. The following should be considered for the custom nodes to be correctly assigned and
output by the 3Delight for Maya:
• The shader node should contain a string attribute named "shaderType"; this attribute
is assumed to be set to a value corresponding to the type of shader that the node is
related to. The following string values are available:
‘surface’
‘displacement’
‘atmosphere’
‘interior’
‘light’
‘imager’
• The shader node type should be registered by passing its type as a string to DSN_
addCustomShaderNodeType
• An output procedure should be defined as follows:

global proc DSN_outputCustom_<custom_type> (string


$shader node name, string $shader type, string $light handle)
<custom_type> is a placeholder for the custom node type. The procedure will
be passed the following parameters:
‘string $shader_node_name’
The name of the custom shader node to be output.
‘string $shader_type’
The type of shader expected to be output.
Chapter 7: Developer’s Corner 156

‘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.

7.7 Defining Custom Hypershade Nodes


3Delight for Maya provides header files in the ‘$DELIGHT/maya/rsl’ directory; these header
files are used for translating the Hypershade nodes to RenderMan shading language source
code. It is possible to complement (in case some custom Hypershade nodes are used) or
replace the content of this header directory with a custom one. This can be done by setting
the custom directory in the _3DFM_SL_INCLUDE_PATH environment variable. Several paths
can be set in this variable, separated by a colon character.

7.8 Rendering Custom Nodes


7.8.1 Rendering Custom Geometry Nodes
It is possible to extend 3Delight for Maya to support custom DAG nodes. The steps to
define how to render custom geometry nodes are:

• 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.

Defining a cache command


When a scene is rendered, 3Delight for Maya moves the current time as needed by the
render pass node used for rendering. Once the current time is set, every renderable object
in the scene is cached via a cache command. Then 3Delight for Maya will move the current
time to the next motion sample if needed and the caching process will occur again. When
working with motion-blurred objects, it may be required to know their topology at all time
samples prior outputting the object data to RIB. The cache mechanism was implemented to
avoid several current time changes done by every rendered objects, as changing the current
time can be a time-consuming operation in Maya and dynamic simulations can require that
the scene is played in order.

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.

Registering the node type and the associated cache command


Multiple custom node types can be registered at once by defining the following procedure:
global proc DL_userGetGeoTypeData (string $node types[], string
$plugin requirements[], string $cache commands[], string $not used[])
Register custom node types, their associated cache commands and plugin require-
ments. The procedure is passed empty string arrays. For a given index, each array is
expected to contain the relevant information for a given node type. The parameters
are:
‘string $node_types[]’
The names of the custom node types.
‘string $plugin_requirements[]’
The names of the plugins required to render a given node type. Before
trying to cache nodes of that type, 3Delight for Maya will check if the
Chapter 7: Developer’s Corner 158

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.

Specify if the custom node can use object instances.


By default, 3Delight for Maya will assume that the cache command’s -emit flag produces
an ObjectBegin / End block (which are more efficient with object instances) and will issue
proper ObjectInstance statements for each renderable object. If the cache command
produces an inline archive following procedure should be defined:

global proc int DL_<custom_type>CanUseObjectInstance (string


$shape name)
<custom type> is a placeholder for the custom node type name. The procedure is
passed the name of the shape to be rendered. If the procedures returns a non-zero
value, ObjectInstance commands will be used; otherwise ReadArchive statements
will be issued.

7.8.2 Rendering Custom Light Nodes


It is possible to extend 3Delight for Maya to support custom light nodes. The steps to
define how to render custom light nodes nodes are:
• Properly define and register the custom light node. The custom node type should be
listed in the return value of the command listNodeTypes light. This can be achieved
by deriving the custom node class from MPXLocatorNode and registering it with the
‘light’ classification.
• (Optional) define a light output procedure. By default 3Delight for Maya will output a
light shader call when outputting a light source shape. If the custom node type requires
a different behaviour, a custom light output procedure should be defined:

global proc <lightOutputProcName> (string $light shape, string


$shader collection)
The procedure can bear any name. It will be called with the following parameters:
‘string $light_shape’
The name of the custom light shape to output.
‘string $shader_collection’
The name of the effective shader collection.
• (Optional) define an illuminate procedure. By default 3Delight for Maya will issue one
Illuminate state per custom light node whenever an illuminate statement is needed.
If the custom node type requires a different behaviour (such as producing multiple
illuminate statements per light), a custom light illuminate procedure should be defined:
Chapter 7: Developer’s Corner 159

global proc int <lightIlluminateProcName> (string $shape name, int


$state)
The procedure can bear any name. It will be called with the following parameters:
‘string $shape_name’
The name of the shape to be rendered. This will be the shortest
unique DAG path to the light shape.
‘int $state’
This value indicates if the light source should be turned on (non-zero
value) or off (zero value).
• Register the custom node type & procedures. To register the custom light node type,
the following procedure must be defined:

global proc DL_userGetLightTypeData (string $node types[], string


$requirements callbacks[], string $output commands[], string
$illuminate commands[])
Register custom node types, their associated plugin requirements and procedures.
The procedure is passed empty string arrays. For a given index, each array is ex-
pected to contain the relevant information for a given node type. The parameters
are:
‘string $node_types[]’
The names of the custom light node types.
‘string $requirements_callbacks[]’
The name of procedures to be called before attempting to render
nodes of the related type. If set to an empty string, of if the procedure
evaluation returns a non-zero value, the related light node type is
assumed to be a valid, renderable node type.
‘string $output_commands[]’
The names of the light output procedure matching the related custom
node type. If set to an empty string, 3Delight for Maya will produce
a light shader call when relevant.
‘string $illuminate_commands[]’
The names of the light illuminate procedure matching the related
custom node type. If set to an empty string, 3Delight for Maya will
produce a simple RiIlluminate statement when relevant.
Chapter 8: Limitations 160

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

Figure 3.44: The Quality panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62


Figure 3.45: The Motion Blur panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 3.46: The Displays panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 3.47: The Advanced Displays panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 3.48: The Edge Detection Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figure 3.49: The Shadow Maps panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Figure 3.50: The Global Illumination section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 3.51: The Global Illumination section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 3.52: The Environment section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 3.53: The Photon Maps section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 3.54: The Render Sets panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Figure 3.55: The RIB Archives panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figure 3.56: The RIB Fragments panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 3.57: The Search Paths panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Figure 3.58: The MEL Scripts panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 3.59: The Advanced panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Figure 3.60: The Network Cache panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Figure 3.61: The Statistics Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figure 3.62: The 3Delight Render Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Figure 3.63: The RIB Archive panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Figure 3.64: The RenderMan Code panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Figure 3.65: The Coordinate System Node Drawing Panel . . . . . . . . . . . . . . . . . . . . . . . . 102
Figure 3.66: The CSG node panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Figure 3.67: The File Viewing Applications Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Figure 3.68: The Shaders Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Figure 5.1: List of all primitive variables for Shave hair shapes. . . . . . . . . . . . . . . . . . . . 138
Concept Index 163

Concept Index

AOV, key lights diffuse intensity . . . . . . . . . . . . . . . 70


3DFM FURFILES PATH, environment variable AOV, key lights diffuse intensity no shadow . . . . 70
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 AOV, key lights specular intensity . . . . . . . . . . . . . 70
3DFM OUTPUT PATH, environment variable AOV, key lights specular intensity no shadow . . 70
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 AOV, luminance depth . . . . . . . . . . . . . . . . . . . . . . . . 70
3DFM SHADERS PATH, environment variable AOV, occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 AOV, Oi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3DFM SHADOWMAPS PATH, environment AOV, raytraced reflection . . . . . . . . . . . . . . . . . . . . . . 71
variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 AOV, reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3DFM SL INCLUDE PATH, environment AOV, refraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 AOV, rgba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3DFM TEMPLATES PATH, environment AOV, shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 AOV, specular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3DFM TEXTURES PATH, environment variable AOV, specular intensity . . . . . . . . . . . . . . . . . . . . . . . 70
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 AOV, specular intensity no shadow . . . . . . . . . . . . 70
AOV, specular no shadow. . . . . . . . . . . . . . . . . . . . . . 70
AOV, surface color . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3 AOV, translucence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3delight fur files, project setting . . . . . . . . . . . . . . 144 aovs, translate maya shaders, advanced . . . . . . . . 92
3delight shaders, project setting . . . . . . . . . . . . . . 143 archive lighting, RIB archive . . . . . . . . . . . . . . . . . . . 84
3delight shadow saps, project setting. . . . . . . . . . 143 archive search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3delight templates, project setting . . . . . . . . . . . . 144 archive write mode, RIB archive . . . . . . . . . . . . . . . 85
3delight textures, project setting . . . . . . . . . . . . . . 143 area light samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
area light, sampling strategy . . . . . . . . . . . . . . . . . . . 53
aspect ratio, pixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A associate alpha, display . . . . . . . . . . . . . . . . . . . . . . . . 74
automatic file output directory . . . . . . . . . . . . . . . 143
add display, render pass . . . . . . . . . . . . . . . . . . . . . . . 66
add render pass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
add rib fragment, render pass . . . . . . . . . . . . . . . . . . 88 B
add to final mix, render pass . . . . . . . . . . . . . . . . . . . 79
advanced, Number Of CPUs . . . . . . . . . . . . . . . . . . . 92 backfacing surfaces culling . . . . . . . . . . . . . . . . . . . . . 28
advanced, standard atmosphere . . . . . . . . . . . . . . . . 92 background render log, render pass . . . . . . . . . . . . 61
advanced, translate Maya shaders . . . . . . . . . . . . . . 92 background render parameters, render pass . . . . 61
advanced, translate maya shaders aovs . . . . . . . . . 92 background render, render pass . . . . . . . . . . . . . . . . 61
advanced, use Maya shaders . . . . . . . . . . . . . . . . . . . 92 base ambient color, maya fur. . . . . . . . . . . . . . . . . . . 38
advanced, volume shading rate . . . . . . . . . . . . . . . . . 93 base color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ambient render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 basis, normalize, nurbs. . . . . . . . . . . . . . . . . . . . . . . . . 33
animation, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 59 beauty render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
AOV, a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 bias, ray tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
AOV, ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 binary RIB output, render pass . . . . . . . . . . . . . . . . 61
AOV, camera space normal . . . . . . . . . . . . . . . . . . . . 71 binary rib, rib fragments, render pass . . . . . . . . . . 87
AOV, color no shadow . . . . . . . . . . . . . . . . . . . . . . . . . 71 bit depth, display, render pass . . . . . . . . . . . . . . . . . 72
AOV, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 black point, render pass. . . . . . . . . . . . . . . . . . . . . . . . 80
AOV, diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 bmp display driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
AOV, diffuse intensity . . . . . . . . . . . . . . . . . . . . . . . . . 69 browse file, rib fragment, render pass. . . . . . . . . . . 88
AOV, diffuse intensity no shadow . . . . . . . . . . . . . . 69 browse image file, display, render pass . . . . . . . . . . 66
AOV, diffuse no shadow . . . . . . . . . . . . . . . . . . . . . . . 69 bucket order, render pass . . . . . . . . . . . . . . . . . . . . . . 59
AOV, environment diffuse . . . . . . . . . . . . . . . . . . . . . 71 bucket, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
AOV, environment reflection . . . . . . . . . . . . . . . . . . . 71
AOV, environment specular . . . . . . . . . . . . . . . . . . . . 72
AOV, facing ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 C
AOV, global illumination . . . . . . . . . . . . . . . . . . . . . . 71 camera motion blur samples, render pass . . . . . . . 63
AOV, incandescence . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 camera motion blur, render pass . . . . . . . . . . . . . . . 63
AOV, indirect diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . 71 camera name, render pass. . . . . . . . . . . . . . . . . . . . . . 58
Concept Index 164

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

display, browse image file, render pass . . . . . . . . . . 66 environment variable,


display, compute alpha . . . . . . . . . . . . . . . . . . . . . . . . 74 3DFM SHADOWMAPS PATH . . . . . . . . . 143
display, display mode, render pass . . . . . . . . . . . . . 68 environment variable,
display, exclusive output . . . . . . . . . . . . . . . . . . . . . . . 74 3DFM SL INCLUDE PATH . . . . . . . . . . . . 156
display, gain, render pass . . . . . . . . . . . . . . . . . . . . . . 74 environment variable,
display, gamma, render pass . . . . . . . . . . . . . . . . . . . 74 3DFM TEMPLATES PATH . . . . . . . . . . . . 144
display, image filename, render pass . . . . . . . . . . . . 66 environment variable, 3DFM TEXTURES PATH
display, output variable, a . . . . . . . . . . . . . . . . . . . . . 68 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
display, output variable, Oi . . . . . . . . . . . . . . . . . . . . 68 environment variables, file paths . . . . . . . . . . . . . . 141
display, output variable, render pass . . . . . . . . . . . 68 eps display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
display, output variable, rgb . . . . . . . . . . . . . . . . . . . 68 exclusive output, display . . . . . . . . . . . . . . . . . . . . . . . 74
display, output variable, rgba . . . . . . . . . . . . . . . . . . 68 export creases, polygon mesh . . . . . . . . . . . . . . . . . . 31
display, output variable, z. . . . . . . . . . . . . . . . . . . . . . 68 export hard edges, polygon mesh. . . . . . . . . . . . . . . 31
display, override pixel filter, render pass . . . . . . . . 74 exr display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
display, pixel filter, render pass . . . . . . . . . . . . . . . . 74 extension, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . 142
display, quantize, render pass . . . . . . . . . . . . . . . . . . 72 extreme motion depth of field, motion blur . . . . . 65
display, remove, render pass . . . . . . . . . . . . . . . . . . . 66
display, render, render pass . . . . . . . . . . . . . . . . . . . . 66
display, use matte attribute . . . . . . . . . . . . . . . . . . . . 74 F
display, view image, render pass . . . . . . . . . . . . . . . 66 facing ratio render pass . . . . . . . . . . . . . . . . . . . . . . . . 71
display,associate alpha . . . . . . . . . . . . . . . . . . . . . . . . . 74 falloff, global illumination, render pass . . . . . . . . . 80
displays, filter width, render pass . . . . . . . . . . . . . . 74 far clipping plane, shadow map . . . . . . . . . . . . . . . . 50
displays, render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 fast image based lighting, global illumination,
dome, coordinate system. . . . . . . . . . . . . . . . . . . . . . 102 render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
double shaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 file output, fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
double sided . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 file output, hypershade shaders . . . . . . . . . . . . . . . 143
double sided render stat . . . . . . . . . . . . . . . . . . . . . . 129 file output, shadow map . . . . . . . . . . . . . . . . . . . . . . 143
double sided shading. . . . . . . . . . . . . . . . . . . . . . . . . . . 19 file output, templates, render pass . . . . . . . . . . . . 144
draw method, coordinate system . . . . . . . . . . . . . . 102 file output, textures . . . . . . . . . . . . . . . . . . . . . . . . . . 143
driver, display, render pass . . . . . . . . . . . . . . . . . . . . . 66 file path tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
dsm display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 file paths, camera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
duplicate render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 57 file paths, current frame number . . . . . . . . . . . . . . 141
dynamics, rendering . . . . . . . . . . . . . . . . . . . . . . . . . . 140 file paths, environment variables . . . . . . . . . . . . . . 141
file paths, extension . . . . . . . . . . . . . . . . . . . . . . . . . . 142
file paths, fragment set . . . . . . . . . . . . . . . . . . . . . . . 142
E file paths, frame number expressions . . . . . . . . . . 141
end angle, polygon mesh, round edges . . . . . . . . . . 32 file paths, home directory . . . . . . . . . . . . . . . . . . . . . 141
end sharpness, polygon mesh, round edges . . . . . 32 file paths, layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
end width, maya curves . . . . . . . . . . . . . . . . . . . . . . . . 33 file paths, MEL command . . . . . . . . . . . . . . . . . . . . 141
environment color gain, global illumination, render file paths, output variable . . . . . . . . . . . . . . . . . . . . 142
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 file paths, pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
environment color offset, global illumination, file paths, project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 file paths, scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
environment diffuse output variable . . . . . . . . . . . . 71 file paths, shape name . . . . . . . . . . . . . . . . . . . . . . . . 142
environment intensity, global illumination, render file viewing applications, preferences . . . . . . . . . . 107
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 filename shadow map . . . . . . . . . . . . . . . . . . . . . . . . . . 48
environment map, global illumination, render pass filename, rib fragment . . . . . . . . . . . . . . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 filter width, display, render pass . . . . . . . . . . . . . . . 74
environment reflection render pass . . . . . . . . . . . . . 71 filter width, render pass. . . . . . . . . . . . . . . . . . . . . . . . 62
environment specular output variable . . . . . . . . . . 72 focus factor, depth of field . . . . . . . . . . . . . . . . . . . . . 20
environment specularity, global illumination, focus factor, quality . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 fragment set, file paths . . . . . . . . . . . . . . . . . . . . . . . 142
environment variable, 3DFM FURFILES PATH frame increment, render pass . . . . . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 frame number expressions, file paths . . . . . . . . . . 141
environment variable, 3DFM OUTPUT PATH frame range, render pass . . . . . . . . . . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 framebuffer display driver . . . . . . . . . . . . . . . . . . . . . . 67
environment variable, 3DFM SHADERS PATH full global illumination, global illumination, render
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Concept Index 166

fur files output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 H


fur files, project setting . . . . . . . . . . . . . . . . . . . . . . . 144 hair dicing, micropolygons in U . . . . . . . . . . . . . . . . 28
fur, maya, output base ambient color. . . . . . . . . . . 38 hair id, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
fur, maya, output base color . . . . . . . . . . . . . . . . . . . 37 hair length, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . 39
fur, maya, output clump id . . . . . . . . . . . . . . . . . . . . 39 hair tip point, maya fur . . . . . . . . . . . . . . . . . . . . . . . . 39
fur, maya, output hair id . . . . . . . . . . . . . . . . . . . . . . 38
hidden surface culling . . . . . . . . . . . . . . . . . . . . . . . . . . 28
fur, maya, output hair length . . . . . . . . . . . . . . . . . . 39
hide attributes, shader nodes . . . . . . . . . . . . . . . . . 109
fur, maya, output hair tip point . . . . . . . . . . . . . . . . 39
hider, composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
fur, maya, output specular color . . . . . . . . . . . . . . . 38
home directory, file paths . . . . . . . . . . . . . . . . . . . . . 141
fur, maya, output specular sharpness . . . . . . . . . . . 38
hypershade header files . . . . . . . . . . . . . . . . . . . . . . . 156
fur, maya, output surface color . . . . . . . . . . . . . . . . . 37
hypershade shader file output . . . . . . . . . . . . . . . . . 143
fur, maya, output surface normal . . . . . . . . . . . . . . 38
hypershade shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
fur, maya, output surface opacity . . . . . . . . . . . . . . 37
hypershade translation . . . . . . . . . . . . . . . . . . . . . . . 145
fur, maya, output surface point . . . . . . . . . . . . . . . . 38
hypershade, textures. . . . . . . . . . . . . . . . . . . . . . . . . . 140
fur, maya, output surface u . . . . . . . . . . . . . . . . . . . . 38
fur, maya, output surface v . . . . . . . . . . . . . . . . . . . . 38
fur, maya, output tip ambient color . . . . . . . . . . . . 38
fur, maya, output tip color . . . . . . . . . . . . . . . . . . . . . 37
I
fur, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 i-display display driver . . . . . . . . . . . . . . . . . . . . . . . . . 67
iff display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
ignore archived displacement shaders, RIB archive
G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
gain, display. render pass . . . . . . . . . . . . . . . . . . . . . . 74 ignore archived geometry attributes, RIB archive
gamma, display. render pass . . . . . . . . . . . . . . . . . . . 74 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
generate first frame only, shadow map. . . . . . . . . . 50 ignore archived light links, RIB archive . . . . . . . . 42
generate shadow maps . . . . . . . . . . . . . . . . . . . . . . . . . 48 ignore archived light sources, RIB archive . . . . . . 42
geometry, post geometry MEL script . . . . . . . . . . . 41 ignore archived surface shaders, RIB archive . . . 42
geometry, pre geometry MEL script . . . . . . . . . . . . 41 ignore archived transforms, RIB archive . . . . . . . . 42
global illumination effect, render pass . . . . . . . . . . 78 illumination, from light linking . . . . . . . . . . . . . . . . . 23
global illumination output variable . . . . . . . . . . . . . 71 image filename, display, render pass . . . . . . . . . . . . 66
global illumination, add to final mix, render pass image pixel aspect ratio. . . . . . . . . . . . . . . . . . . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 image resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
global illumination, black point, render pass . . . . 80 image resolution multiplier . . . . . . . . . . . . . . . . . . . . . 58
global illumination, color bleeding intensity, render image viewing application . . . . . . . . . . . . . . . . . . . . 107
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 image, crop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
global illumination, environment color gain, render imager shader, use, render pass . . . . . . . . . . . . . . . . 60
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 incandescence render pass . . . . . . . . . . . . . . . . . . . . . 69
global illumination, environment color offset, indirect diffuse output variable . . . . . . . . . . . . . . . . . 71
render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 input plug, renderman code . . . . . . . . . . . . . . . . . . . 100
global illumination, environment intensity, render installation, linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 installation, mac os x . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
global illumination, environment specularity, installation, windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 interpolate boundary, polygon mesh . . . . . . . . . . . . 31
global illumination, falloff, render pass . . . . . . . . . 80 intersection, csg node . . . . . . . . . . . . . . . . . . . . . . . . . 105
global illumination, fast image based lighting, irradiance, max error . . . . . . . . . . . . . . . . . . . . . . . . . . 27
render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 irradiance, shading rate . . . . . . . . . . . . . . . . . . . . . . . . 26
global illumination, full global illumination, render
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
global illumination, max distance, render pass . . 80 K
global illumination, occlusion, render pass . . . . . . 78
key light. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
global illumination, samples, render pass . . . . . . . 80
key lights diffuse intensity render pass . . . . . . . . . 70
global illumination, use as background, render pass
key lights diffuse intensity render pass no shadow
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
global illumination, use coordinate system, render
key lights specular intensity no shadow render pass
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
global illumination, white point, render pass . . . 80
key lights specular intensity render pass . . . . . . . . 70
group, subsurface scattering . . . . . . . . . . . . . . . . . . . 40
Concept Index 167

L motion blur, deformation blur . . . . . . . . . . . . . . . . . 25


launch rendering, render pass . . . . . . . . . . . . . . . . . . 56 motion blur, deformation, render pass . . . . . . . . . . 64
layer to render, render sets. . . . . . . . . . . . . . . . . . . . . 83 motion blur, extreme motion DOF, render pass
layers, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 ........................................... 65
light category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 motion blur, raytracing . . . . . . . . . . . . . . . . . . . . . . . . 24
light emitting photons . . . . . . . . . . . . . . . . . . . . . . . . . 51 motion blur, sample motion, render pass . . . . . . . 65
light linking, objects illumination . . . . . . . . . . . . . . 23 motion blur, samples, camera motion blur . . . . . . 63
light, key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 motion blur, shadow map, generate with . . . . . . . 50
light, shadow map post render MEL script . . . . . 54 motion blur, transformation blur . . . . . . . . . . . . . . . 25
light, shadow map pre render MEL script . . . . . . 54 motion blur, transformation, render pass . . . . . . . 63
light, transformation blur . . . . . . . . . . . . . . . . . . . . . . 52 motion factor, depth of field . . . . . . . . . . . . . . . . . . . 20
lights illuminating object . . . . . . . . . . . . . . . . . . . . . . 23 motion factor, quality. . . . . . . . . . . . . . . . . . . . . . . . . . 20
lights to render, render sets . . . . . . . . . . . . . . . . . . . . 83 motion quality, motion factor . . . . . . . . . . . . . . . . . . 20
linux, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 multi-bounce global illumination . . . . . . . . . . . . . . . 82
log viewing application . . . . . . . . . . . . . . . . . . . . . . . 107 multiplier, resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 58
luminance depth render pass . . . . . . . . . . . . . . . . . . . 70 multiprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

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

output variables, color no shadow . . . . . . . . . . . . . . 71 photon, light emitting . . . . . . . . . . . . . . . . . . . . . . . . . 51


output variables, diffuse . . . . . . . . . . . . . . . . . . . . . . . 69 photon, map, render . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
output variables, diffuse intensity . . . . . . . . . . . . . . 69 photon, map, write . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
output variables, diffuse intensity no shadow . . . 69 photonhitmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
output variables, diffuse no shadow . . . . . . . . . . . . 69 photonmap viewing application . . . . . . . . . . . . . . . 107
output variables, environment diffuse . . . . . . . . . . 71 photons, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
output variables, environment reflection . . . . . . . . 71 pixel aspect ratio, render pass . . . . . . . . . . . . . . . . . 58
output variables, environment specular . . . . . . . . . 72 pixel filter width, render pass . . . . . . . . . . . . . . . . . . 62
output variables, facing ratio. . . . . . . . . . . . . . . . . . . 71 pixel filter, display. render pass . . . . . . . . . . . . . . . . 74
output variables, global illumination . . . . . . . . . . . 71 pixel filter, render pass . . . . . . . . . . . . . . . . . . . . . . . . 62
output variables, incandescence . . . . . . . . . . . . . . . . 69 pixel samples, render pass . . . . . . . . . . . . . . . . . . . . . 62
output variables, indirect diffuse . . . . . . . . . . . . . . . 71 pixel samples, shadow map . . . . . . . . . . . . . . . . . . . . 50
output variables, key lights diffuse intensity . . . . 70 plane, coordinate system. . . . . . . . . . . . . . . . . . . . . . 102
output variables, key lights diffuse intensity no png display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 pointlight shadow map, generate . . . . . . . . . . . . . . . 50
output variables, key lights specular intensity . . 70 polygon mesh, export creases . . . . . . . . . . . . . . . . . . 31
output variables, key lights specular intensity no polygon mesh, export hard edges. . . . . . . . . . . . . . . 31
shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 polygon mesh, interpolate boundary . . . . . . . . . . . 31
output variables, luminance depth . . . . . . . . . . . . . 70 polygon mesh, output all uvsets . . . . . . . . . . . . . . . . 30
output variables, occlusion . . . . . . . . . . . . . . . . . . . . . 71 polygon mesh, output as subdivision mesh . . . . . 31
output variables, Oi . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 polygon mesh, output as subdivision mesh, export
output variables, raytraced reflection . . . . . . . . . . . 71 creases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
output variables, reflection . . . . . . . . . . . . . . . . . . . . . 69 polygon mesh, output as subdivision mesh, export
output variables, refraction . . . . . . . . . . . . . . . . . . . . 69 hard edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
output variables, rgb . . . . . . . . . . . . . . . . . . . . . . . . . . 68 polygon mesh, output vertex color . . . . . . . . . . . . . 30
output variables, rgba . . . . . . . . . . . . . . . . . . . . . . . . . 68 polygon mesh, output wireframe . . . . . . . . . . . . . . . 32
output variables, shadow. . . . . . . . . . . . . . . . . . . . . . . 69 polygon mesh, round edges . . . . . . . . . . . . . . . . . . . . 31
output variables, specular . . . . . . . . . . . . . . . . . . . . . . 69 polygon mesh, round edges, end angle . . . . . . . . . . 32
output variables, specular intensity . . . . . . . . . . . . 70 polygon mesh, round edges, end sharpness . . . . . 32
output variables, specular intensity no shadow . . 70 polygon mesh, round edges, start angle . . . . . . . . 32
output variables, specular no shadow . . . . . . . . . . . 70 polygon mesh, round edges, start sharpness . . . . 32
output variables, surface color . . . . . . . . . . . . . . . . . 71 polygon mesh, use current uvsets . . . . . . . . . . . . . . 30
output variables, translucence . . . . . . . . . . . . . . . . . . 69 polygon mesh, uvsets, output all . . . . . . . . . . . . . . . 30
output variables, z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 polygon mesh, uvsets, use current . . . . . . . . . . . . . . 30
output vertex color . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 polygon mesh, vertex color, output . . . . . . . . . . . . . 30
output, binary RIB, render pass . . . . . . . . . . . . . . . 61 polygon mesh, wireframe width . . . . . . . . . . . . . . . . 33
output, compressed RIB, render pass. . . . . . . . . . . 61 polygon mesh, wireframe, raster space . . . . . . . . . 32
output, RIB filename, render pass . . . . . . . . . . . . . . 61 Pref, output, reference geometry . . . . . . . . . . . . . . . 39
override pixel filter, display. render pass. . . . . . . . 74 preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
preferences, shader preview . . . . . . . . . . . . . . . . . . . 108
preferences, viewing applications . . . . . . . . . . . . . . 107
P primary display, render, render pass . . . . . . . . . . . . 66
parameters, renderman code . . . . . . . . . . . . . . . . . . 100 primary visibility render stat . . . . . . . . . . . . . . . . . 128
particle system, as volumes in DSMs . . . . . . . . . . . 35 primitive RIB archive, shader preview . . . . . . . . 109
particle system, color as Cs . . . . . . . . . . . . . . . . . . . . 36 primitive scale, shader preview . . . . . . . . . . . . . . . . 109
particle system, output custom variables . . . . . . . 36 primitive variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
particle system, output variables . . . . . . . . . . . . . . . 36 primitive, shader preview . . . . . . . . . . . . . . . . . . . . . 108
particle system, render nCloth . . . . . . . . . . . . . . . . . 35 procedurals search paths . . . . . . . . . . . . . . . . . . . . . . . 89
particle system, render type. . . . . . . . . . . . . . . . . . . . 34 progress, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
particle system, rgbPP as Cs . . . . . . . . . . . . . . . . . . 36 project setting, 3delight fur files . . . . . . . . . . . . . . 144
particle system, size override . . . . . . . . . . . . . . . . . . . 35 project setting, 3delight shaders . . . . . . . . . . . . . . 143
particle system, size scale . . . . . . . . . . . . . . . . . . . . . . 35 project setting, 3delight shadow maps . . . . . . . . . 143
particle system, size space . . . . . . . . . . . . . . . . . . . . . 35 project setting, 3delight templates . . . . . . . . . . . . 144
pass, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 project setting, 3delight textures . . . . . . . . . . . . . . 143
path, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 project settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
photon color, photon map . . . . . . . . . . . . . . . . . . . . . 26 project, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
photon map, photon color . . . . . . . . . . . . . . . . . . . . . 26 psd display driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
photon map, shading model . . . . . . . . . . . . . . . . . . . . 26
Concept Index 169

Q render pass, crop window . . . . . . . . . . . . . . . . . . . . . . 59


quality, centered derivatives . . . . . . . . . . . . . . . . . . . . 20 render pass, definition . . . . . . . . . . . . . . . . . . . . . . . . . 55
quality, focus factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 render pass, deformation motion blur . . . . . . . . . . 64
quality, shading rate multiplier . . . . . . . . . . . . . . . . . 20 render pass, deformation motion blur samples . . 64
quality, smooth derivatives . . . . . . . . . . . . . . . . . . . . . 20 render pass, diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
quantize, display, render pass . . . . . . . . . . . . . . . . . . 72 render pass, diffuse intensity . . . . . . . . . . . . . . . . . . . 69
render pass, diffuse intensity no shadow . . . . . . . . 69
render pass, diffuse no shadow . . . . . . . . . . . . . . . . . 69
R render pass, display subset . . . . . . . . . . . . . . . . . . . . . 73
render pass, display, add . . . . . . . . . . . . . . . . . . . . . . . 66
raster oriented, dicing . . . . . . . . . . . . . . . . . . . . . . . . . 28
raytrace depth, render pass . . . . . . . . . . . . . . . . . . . . 62 render pass, display, bit depth . . . . . . . . . . . . . . . . . 72
raytraced reflection render pass . . . . . . . . . . . . . . . . 71 render pass, display, browse . . . . . . . . . . . . . . . . . . . . 66
raytracing, bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 render pass, display, driver . . . . . . . . . . . . . . . . . . . . . 66
raytracing, diffuse rays visibility . . . . . . . . . . . . . . . 22 render pass, display, image filename . . . . . . . . . . . . 66
raytracing, displacement . . . . . . . . . . . . . . . . . . . . . . . 24 render pass, display, output variable . . . . . . . . . . . 68
raytracing, motion blur . . . . . . . . . . . . . . . . . . . . . . . . 24 render pass, display, remove . . . . . . . . . . . . . . . . . . . 66
raytracing, occlusion visibility. . . . . . . . . . . . . . . . . . 22 render pass, display, render . . . . . . . . . . . . . . . . . . . . 66
raytracing, reflection rays visibility . . . . . . . . . . . . . 22 render pass, display, view image . . . . . . . . . . . . . . . 66
raytracing, refraction rays visibility . . . . . . . . . . . . 22 render pass, displays . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
raytracing, shadow rays visibility . . . . . . . . . . . . . . 21 render pass, duplicate. . . . . . . . . . . . . . . . . . . . . . . . . . 57
raytracing, trace sets . . . . . . . . . . . . . . . . . . . . . . . . . . 24 render pass, environment color gain, global
receive shadows render stat . . . . . . . . . . . . . . . . . . . 128 illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
reduced absorption, subsurface scattering . . . . . . 40 render pass, environment color offset, global
reduced scattering, subsurface scattering . . . . . . . 40 illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
reference geometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 render pass, environment intensity, global
reference geometry, output Nref . . . . . . . . . . . . . . . . 39 illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
reference geometry, output Pref . . . . . . . . . . . . . . . . 39 render pass, environment reflection. . . . . . . . . . . . . 71
reflection rays, visibility . . . . . . . . . . . . . . . . . . . . . . . 22 render pass, environment specularity, global
reflection render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 69 illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
refraction index, subsurface scattering. . . . . . . . . . 40 render pass, facing ratio . . . . . . . . . . . . . . . . . . . . . . . 71
refraction rays, visibility . . . . . . . . . . . . . . . . . . . . . . . 22 render pass, falloff, global illumination . . . . . . . . . 80
refraction render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 69 render pass, file paths . . . . . . . . . . . . . . . . . . . . . . . . 142
refresh, shader selector. . . . . . . . . . . . . . . . . . . . . . . . . 13 render pass, filter width. . . . . . . . . . . . . . . . . . . . . . . . 62
relationship editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 render pass, frame increment . . . . . . . . . . . . . . . . . . 59
remove display, render pass . . . . . . . . . . . . . . . . . . . . 66 render pass, frame range . . . . . . . . . . . . . . . . . . . . . . . 59
remove, rib fragment, render pass . . . . . . . . . . . . . . 88 render pass, global illumination effect . . . . . . . . . . 78
render as volumes in DSMs, particle . . . . . . . . . . . 35 render pass, global illumination, fast image based
render camera, render pass . . . . . . . . . . . . . . . . . . . . 58 lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
render display, render pass . . . . . . . . . . . . . . . . . . . . . 66 render pass, global illumination, full global
render globals, use resolution from . . . . . . . . . . . . . 58 illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
render log, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 61 render pass, global illumination, occlusion . . . . . . 78
render mode, render pass . . . . . . . . . . . . . . . . . . . . . . 60 render pass, incandescence . . . . . . . . . . . . . . . . . . . . . 69
render parameters, render pass . . . . . . . . . . . . . . . . . 61 render pass, key light specular intensity . . . . . . . . 70
render pass, add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 render pass, key light specular intensity no shadow
render pass, add display . . . . . . . . . . . . . . . . . . . . . . . 66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
render pass, ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 render pass, key lights diffuse intensity . . . . . . . . . 70
render pass, animation . . . . . . . . . . . . . . . . . . . . . . . . . 59 render pass, key lights diffuse intensity no shadow
render pass, background render . . . . . . . . . . . . . . . . 61 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
render pass, beauty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 render pass, luminance depth . . . . . . . . . . . . . . . . . . 70
render pass, black point. . . . . . . . . . . . . . . . . . . . . . . . 80 render pass, max distance, global illumination . . 80
render pass, bucket order . . . . . . . . . . . . . . . . . . . . . . 59 render pass, motion blur . . . . . . . . . . . . . . . . . . . . . . . 63
render pass, camera motion blur . . . . . . . . . . . . . . . 63 render pass, motion blur, camera . . . . . . . . . . . . . . 63
render pass, camera motion blur samples . . . . . . . 63 render pass, motion blur, extreme motion DOF
render pass, camera name. . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
render pass, camera space normal . . . . . . . . . . . . . . 71 render pass, motion blur, position . . . . . . . . . . . . . . 64
render pass, color bleeding intensity . . . . . . . . . . . . 79 render pass, motion blur, sample motion . . . . . . . 65
render pass, color no shadow . . . . . . . . . . . . . . . . . . . 71 render pass, motion blur, sample on integer frames
render pass, creating . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Concept Index 170

render pass, occlusion. . . . . . . . . . . . . . . . . . . . . . . . . . 71 render pss, add to final mix . . . . . . . . . . . . . . . . . . . . 79


render pass, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 render sets, clipping planes . . . . . . . . . . . . . . . . . . . . 83
render pass, output, binary RIB . . . . . . . . . . . . . . . 61 render sets, layer to render. . . . . . . . . . . . . . . . . . . . . 83
render pass, output, compressed RIB. . . . . . . . . . . 61 render sets, lights to render . . . . . . . . . . . . . . . . . . . . 83
render pass, output, render log . . . . . . . . . . . . . . . . . 61 render sets, objects to render . . . . . . . . . . . . . . . . . . 83
render pass, output, render parameters . . . . . . . . . 61 render sets, shader collection . . . . . . . . . . . . . . . . . . . 83
render pass, pixel aspect ratio . . . . . . . . . . . . . . . . . 58 render settings, use resolution from . . . . . . . . . . . . 58
render pass, pixel filter . . . . . . . . . . . . . . . . . . . . . . . . 62 render shadow maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
render pass, pixel samples . . . . . . . . . . . . . . . . . . . . . 62 render stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
render pass, raytrace depth . . . . . . . . . . . . . . . . . . . . 62 render stats, casts shadows . . . . . . . . . . . . . . . . . . . 128
render pass, raytraced reflection . . . . . . . . . . . . . . . 71 render stats, double sided . . . . . . . . . . . . . . . . . . . . . 129
render pass, reflection. . . . . . . . . . . . . . . . . . . . . . . . . . 69 render stats, motion blur . . . . . . . . . . . . . . . . . . . . . 128
render pass, refraction . . . . . . . . . . . . . . . . . . . . . . . . . 69 render stats, opposite . . . . . . . . . . . . . . . . . . . . . . . . . 129
render pass, render mode . . . . . . . . . . . . . . . . . . . . . . 60 render stats, primary visibility . . . . . . . . . . . . . . . . 128
render pass, render output . . . . . . . . . . . . . . . . . . . . . 60 render stats, receive shadows . . . . . . . . . . . . . . . . . 128
render pass, render primary display . . . . . . . . . . . . 66 render stats, visible in reflections . . . . . . . . . . . . . 128
render pass, rendering . . . . . . . . . . . . . . . . . . . . . . . . . 56 render stats, visible in refractions . . . . . . . . . . . . . 128
render pass, resolution . . . . . . . . . . . . . . . . . . . . . . . . . 58 rendering in layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
render pass, resolution multiplier. . . . . . . . . . . . . . . 58 rendering resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
render pass, RIB archive output . . . . . . . . . . . . . . . 60 rendering resolution multiplier . . . . . . . . . . . . . . . . . 58
render pass, RIB filename . . . . . . . . . . . . . . . . . . . . . . 61 rendering, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 56
render pass, rib fragment, browse . . . . . . . . . . . . . . 88 renderman code node, definition . . . . . . . . . . . . . . . 99
render pass, rib fragment, object set . . . . . . . . . . . 88 renderman code, input plug . . . . . . . . . . . . . . . . . . . 100
render pass, rib fragment, remove . . . . . . . . . . . . . . 88 renderman code, list of examples . . . . . . . . . . . . . . . 99
render pass, rib fragment, use . . . . . . . . . . . . . . . . . . 88 renderman code, parameters . . . . . . . . . . . . . . . . . . 100
render pass, rib fragment, view RIB . . . . . . . . . . . . 88 renderman code, shading code . . . . . . . . . . . . . . . . 100
render pass, rib fragment, write . . . . . . . . . . . . . . . . 88 renderman code, shading parameters . . . . . . . . . . 100
render pass, rib fragments, add . . . . . . . . . . . . . . . . 88 resolution shadow map . . . . . . . . . . . . . . . . . . . . . . . . 49
render pass, rib fragments, binary rib . . . . . . . . . . 87 resolution, multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . 58
render pass, samples, global illumination . . . . . . . 80 resolution, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 58
render pass, save RIB output . . . . . . . . . . . . . . . . . . 60 resolution, rendered image . . . . . . . . . . . . . . . . . . . . . 58
render pass, save template . . . . . . . . . . . . . . . . . . . . . 57 resolution, rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
render pass, selecting . . . . . . . . . . . . . . . . . . . . . . . . . . 57 resolution, use render globals settings . . . . . . . . . . 58
render pass, shading rate . . . . . . . . . . . . . . . . . . . . . . 62 resolution, use render settings . . . . . . . . . . . . . . . . . . 58
render pass, shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 reverse orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
render pass, shutter angle scale . . . . . . . . . . . . . . . . 64 RIB archive node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
render pass, shutter efficiency . . . . . . . . . . . . . . . . . . 64 RIB archive, archive lighting . . . . . . . . . . . . . . . . . . . 84
render pass, specular . . . . . . . . . . . . . . . . . . . . . . . . . . 69 RIB archive, archive write mode . . . . . . . . . . . . . . . 85
render pass, specular intensity . . . . . . . . . . . . . . . . . 70 RIB archive, definition . . . . . . . . . . . . . . . . . . . . . . . . . 97
render pass, specular intensity no shadow . . . . . . 70 RIB archive, ignore displacement shaders . . . . . . 42
render pass, specular no shadow . . . . . . . . . . . . . . . 70 RIB archive, ignore geometry attributes . . . . . . . . 42
render pass, surface color . . . . . . . . . . . . . . . . . . . . . . 71 RIB archive, ignore light links . . . . . . . . . . . . . . . . . 42
render pass, template, save . . . . . . . . . . . . . . . . . . . . 57 RIB archive, ignore light sources . . . . . . . . . . . . . . . 42
render pass, transformation motion blur. . . . . . . . 63 RIB archive, ignore surface shaders . . . . . . . . . . . . 42
render pass, transformation motion blur samples RIB archive, ignore transforms . . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 RIB archive, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
render pass, translucence . . . . . . . . . . . . . . . . . . . . . . 69 RIB filename, output, render pass . . . . . . . . . . . . . . 61
render pass, use as background, global illumination rib fragment, add, render pass . . . . . . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 rib fragment, browse file, render pass. . . . . . . . . . . 88
render pass, use coordinate system, global rib fragment, filename . . . . . . . . . . . . . . . . . . . . . . . . . 88
illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 rib fragment, object set, render pass . . . . . . . . . . . 88
render pass, use imager shader . . . . . . . . . . . . . . . . . 60 rib fragment, use, render pass . . . . . . . . . . . . . . . . . . 88
render pass, use resolution from render globals rib fragment, view RIB, render pass . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 rib fragment, write, render pass . . . . . . . . . . . . . . . . 88
render pass, viewing . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 rib fragments, binary rib, render pass . . . . . . . . . . 87
render pass, white point . . . . . . . . . . . . . . . . . . . . . . . 80 rib fragments, compressed rib . . . . . . . . . . . . . . . . . . 87
render photon maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 rib fragments, remove, render pass . . . . . . . . . . . . . 88
render primary display, render pass . . . . . . . . . . . . 66 rib fragments, write mode . . . . . . . . . . . . . . . . . . . . . 87
Concept Index 171

rib viewing application . . . . . . . . . . . . . . . . . . . . . . . 107 shading rate, render pass . . . . . . . . . . . . . . . . . . . . . . 62


RIB, binary output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 shading rate, shader preview . . . . . . . . . . . . . . . . . . 109
RIB, compressed output . . . . . . . . . . . . . . . . . . . . . . . 61 shading rate, shadow map . . . . . . . . . . . . . . . . . . . . . 49
RIB, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 shading rate, subsurface scattering . . . . . . . . . . . . . 40
RIB, output filename . . . . . . . . . . . . . . . . . . . . . . . . . . 61 shading rate, volume. . . . . . . . . . . . . . . . . . . . . . . . . . . 93
round edges, end angle, polygon mesh . . . . . . . . . . 32 shadow casting object . . . . . . . . . . . . . . . . . . . . . . . . . 51
round edges, end sharpness, polygon mesh . . . . . 32 shadow map display driver . . . . . . . . . . . . . . . . . . . . . 67
round edges, polygon mesh . . . . . . . . . . . . . . . . . . . . 31 shadow map filename . . . . . . . . . . . . . . . . . . . . . . . . . . 48
round edges, start angle, polygon mesh . . . . . . . . 32 shadow map, camera . . . . . . . . . . . . . . . . . . . . . . . . . . 50
round edges, start sharpness, polygon mesh . . . . 32 shadow map, clipping plane, far . . . . . . . . . . . . . . . . 50
shadow map, clipping plane, near . . . . . . . . . . . . . . 50
shadow map, cube shadow map, generate . . . . . . 50
S shadow map, deep shadow maps . . . . . . . . . . . . . . . 49
sample motion blur on integer frames, render pass shadow map, depth filter . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 shadow map, depth filter, average . . . . . . . . . . . . . . 49
sample motion, render pass . . . . . . . . . . . . . . . . . . . . 65 shadow map, depth filter, max . . . . . . . . . . . . . . . . . 49
sample positions, motion blur, render pass . . . . . 64 shadow map, depth filter, midpoint . . . . . . . . . . . . 49
samples, area light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 shadow map, depth filter, min . . . . . . . . . . . . . . . . . 49
samples, camera motion blur, render pass . . . . . . 63 shadow map, depth map . . . . . . . . . . . . . . . . . . . . . . . 49
samples, deformation motion blur, render pass . . 64 shadow map, far clipping plane . . . . . . . . . . . . . . . . 50
samples, global illumination, render pass . . . . . . . 80 shadow map, file output . . . . . . . . . . . . . . . . . . . . . . 143
samples, pixel, render pass . . . . . . . . . . . . . . . . . . . . . 62 shadow map, generate . . . . . . . . . . . . . . . . . . . . . . . . . 48
samples, transformation motion blur, render pass shadow map, generate first frame only . . . . . . . . . 50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 shadow map, motion blur, generate with . . . . . . . 50
sampling strategy, area light . . . . . . . . . . . . . . . . . . . 53 shadow map, name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
scene, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 shadow map, near clipping plane . . . . . . . . . . . . . . . 50
search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 shadow map, objects in . . . . . . . . . . . . . . . . . . . . . . . . 51
secondary display, output variable, a . . . . . . . . . . . 68 shadow map, pixel samples . . . . . . . . . . . . . . . . . . . . 50
secondary display, output variable, Oi . . . . . . . . . . 68 shadow map, post render MEL script . . . . . . . . . . 54
secondary display, output variable, rgb . . . . . . . . . 68 shadow map, pre render MEL script . . . . . . . . . . . 54
secondary display, output variable, rgba . . . . . . . . 68 shadow map, resolution . . . . . . . . . . . . . . . . . . . . . . . . 49
select render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 shadow map, shading rate . . . . . . . . . . . . . . . . . . . . . 49
select, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . 13 shadow map, type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
shader collection, render sets . . . . . . . . . . . . . . . . . . . 83 shadow map, type, deep shadow maps . . . . . . . . . 49
shader file list, shader selector . . . . . . . . . . . . . . . . . 13 shadow map, type, depth map . . . . . . . . . . . . . . . . . 49
shader nodes, hide attributes . . . . . . . . . . . . . . . . . 109 shadow map, type, normal . . . . . . . . . . . . . . . . . . . . . 49
shader preview, preferences . . . . . . . . . . . . . . . . . . . 108 shadow map, volume interpretation . . . . . . . . . . . . 49
shader preview, primitive . . . . . . . . . . . . . . . . . . . . . 108 shadow map, volume interpretation, continuous
shader preview, primitive RIB archive . . . . . . . . 109 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 77
shader preview, primitive scale . . . . . . . . . . . . . . . . 109 shadow map, volume interpretation, discrete . . . 49
shader preview, shading rate . . . . . . . . . . . . . . . . . . 109 shadow map, volume interpretation, distance inside
shader search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50, 78
shader selection logic . . . . . . . . . . . . . . . . . . . . . . . . . 119 shadow maps, depth filter . . . . . . . . . . . . . . . . . . . . . . 77
shader selector, close . . . . . . . . . . . . . . . . . . . . . . . . . . 13 shadow maps, depth filter, average . . . . . . . . . . . . . 77
shader selector, directory . . . . . . . . . . . . . . . . . . . . . . 13 shadow maps, depth filter, max . . . . . . . . . . . . . . . . 77
shader selector, name filter. . . . . . . . . . . . . . . . . . . . . 13 shadow maps, depth filter, midpoint . . . . . . . . . . . 77
shader selector, path . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 shadow maps, depth filter, min . . . . . . . . . . . . . . . . 77
shader selector, refresh. . . . . . . . . . . . . . . . . . . . . . . . . 13 shadow maps, opacity threshold . . . . . . . . . . . . . . . . 77
shader selector, select . . . . . . . . . . . . . . . . . . . . . . . . . . 13 shadow maps, project setting . . . . . . . . . . . . . . . . . 143
shader selector, shader file list . . . . . . . . . . . . . . . . . 13 shadow maps, render . . . . . . . . . . . . . . . . . . . . . . . . . . 76
shaders, hypershade . . . . . . . . . . . . . . . . . . . . . . . . . . 119 shadow maps, volume interpretation . . . . . . . . . . . 77
shaders, hypershade, file output. . . . . . . . . . . . . . . 143 shadow maps, volume interpretation, discrete . . 77
shaders, project setting . . . . . . . . . . . . . . . . . . . . . . . 143 shadow maps, zthreshold . . . . . . . . . . . . . . . . . . . . . . 77
shading code, renderman code . . . . . . . . . . . . . . . . 100 shadow rays, visibility . . . . . . . . . . . . . . . . . . . . . . . . . 21
shading model, photon map . . . . . . . . . . . . . . . . . . . . 26 shadow render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
shading parameters, renderman code . . . . . . . . . . 100 Shadowmap viewing application . . . . . . . . . . . . . . 107
shading rate multiplier, quality . . . . . . . . . . . . . . . . 20 shape name, file paths . . . . . . . . . . . . . . . . . . . . . . . . 142
shading rate, irradiance . . . . . . . . . . . . . . . . . . . . . . . . 26 shave and a haircut, lighting . . . . . . . . . . . . . . . . . . 138
Concept Index 172

shave and a haircut, plugin . . . . . . . . . . . . . . . . . . . . . 2 tip color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


shave and a haircut, shading . . . . . . . . . . . . . . . . . . 139 trace sets, raytracing . . . . . . . . . . . . . . . . . . . . . . . . . . 24
shutter, angle scale, render pass . . . . . . . . . . . . . . . . 64 transformation blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
shutter, efficiency, render pass . . . . . . . . . . . . . . . . . 64 transformation blur, light . . . . . . . . . . . . . . . . . . . . . . 52
shutter, motion blur position, render pass . . . . . . 64 transformation motion blur samples, render pass
sidedness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
smooth derivatives, quality . . . . . . . . . . . . . . . . . . . . 20 transformation motion blur, render pass. . . . . . . . 63
smooth uvs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 translate maya shader aovs, advanced . . . . . . . . . . 92
space, displacement bound . . . . . . . . . . . . . . . . . . . . . 27 translate Maya shaders, advanced . . . . . . . . . . . . . . 92
specular color, maya fur . . . . . . . . . . . . . . . . . . . . . . . 38 translucence render pass . . . . . . . . . . . . . . . . . . . . . . . 69
specular intensity no shadow render pass . . . . . . . 70 transmission rays, visibility . . . . . . . . . . . . . . . . . . . . 21
specular intensity render pass . . . . . . . . . . . . . . . . . . 70
specular no shadow render pass . . . . . . . . . . . . . . . . 70
specular rays, visibility . . . . . . . . . . . . . . . . . . . . . . . . 22 U
specular render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
union, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
specular sharpness, maya fur . . . . . . . . . . . . . . . . . . . 38
use as background, global illumination, render pass
sphere, coordinate system . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
standard atmosphere, advanced . . . . . . . . . . . . . . . . 92
use coordinate system, global illumination, render
start angle, polygon mesh, round edges . . . . . . . . 32
pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
start render, render pass . . . . . . . . . . . . . . . . . . . . . . . 56
use matte attribute, display . . . . . . . . . . . . . . . . . . . . 74
start sharpness, polygon mesh, round edges . . . . 32
use Maya shaders, advanced . . . . . . . . . . . . . . . . . . . 92
start width, maya curves . . . . . . . . . . . . . . . . . . . . . . . 33
use, rib fragment, render pass . . . . . . . . . . . . . . . . . . 88
statistics file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
uv smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
statistics level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
uvsets, output all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
statistics viewing application . . . . . . . . . . . . . . . . . 108
uvsets, use current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
subsurface scattering . . . . . . . . . . . . . . . . . . . . . . . . . . 40
subsurface scattering, coefficient scale . . . . . . . . . . 40
subsurface scattering, disable . . . . . . . . . . . . . . . . . . 40
subsurface scattering, enable . . . . . . . . . . . . . . . . . . . 40
V
subsurface scattering, group . . . . . . . . . . . . . . . . . . . 40 vertex color, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
subsurface scattering, reduced absorption . . . . . . 40 view image, display, render pass . . . . . . . . . . . . . . . 66
subsurface scattering, reduced scattering . . . . . . . 40 view RIB, rib fragment, render pass . . . . . . . . . . . . 88
subsurface scattering, refraction index. . . . . . . . . . 40 viewing application, Image. . . . . . . . . . . . . . . . . . . . 107
subsurface scattering, shading rate . . . . . . . . . . . . . 40 viewing application, Log . . . . . . . . . . . . . . . . . . . . . . 107
subsurface scattering, subsurface group . . . . . . . . 40 viewing application, Photonmap . . . . . . . . . . . . . . 107
surface color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 viewing application, rib . . . . . . . . . . . . . . . . . . . . . . . 107
surface color render pass . . . . . . . . . . . . . . . . . . . . . . . 71 viewing application, Shadowmap . . . . . . . . . . . . . . 107
surface group, subsurface scattering . . . . . . . . . . . . 40 viewing application, statistics . . . . . . . . . . . . . . . . . 108
surface opacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 viewing applications, preferences . . . . . . . . . . . . . . 107
surface point, maya fur . . . . . . . . . . . . . . . . . . . . . . . . 38 viewing render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
surface u, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 visibility and motion blur . . . . . . . . . . . . . . . . . . . . . 139
surface v, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 visibility, camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
visibility, composite objects behind . . . . . . . . . . . . 21
visibility, diffuse rays . . . . . . . . . . . . . . . . . . . . . . . . . . 22
T visibility, matte object . . . . . . . . . . . . . . . . . . . . . . . . . 21
template, render pass, save . . . . . . . . . . . . . . . . . . . . 57 visibility, occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
templates, project setting . . . . . . . . . . . . . . . . . . . . . 144 visibility, photons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
templates, render pass, file output . . . . . . . . . . . . 144 visibility, reflection rays . . . . . . . . . . . . . . . . . . . . . . . . 22
texture display driver . . . . . . . . . . . . . . . . . . . . . . . . . . 67 visibility, refraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
texture filename, coordinate system . . . . . . . . . . . 102 visibility, specular rays. . . . . . . . . . . . . . . . . . . . . . . . . 22
texture opacity, coordinate system . . . . . . . 102, 103 visibility, transmission rays . . . . . . . . . . . . . . . . . . . . 21
texture resolution, coordinate system . . . . . . . . . 103 visible in reflections render stat . . . . . . . . . . . . . . . 128
texture search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 visible in refractions render stat . . . . . . . . . . . . . . 128
textures file output . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 volume interpretation, deep shadow map . . . . . . . 49
textures, hypershade. . . . . . . . . . . . . . . . . . . . . . . . . . 140 volume interpretation, deep shadow map,
textures, project setting . . . . . . . . . . . . . . . . . . . . . . 143 continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 77
tiff display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 volume interpretation, deep shadow map, discrete
tip ambient color, maya fur . . . . . . . . . . . . . . . . . . . . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 77
Concept Index 173

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

Você também pode gostar