3delightformaya-usermanual

174
3Delight For Maya 6.0 A fast, high quality, RenderMan-compliant renderer Copyright c 2000-2011 The 3delight Team.

Upload: rendermanuser

Post on 28-Oct-2015

57 views

Category:

Documents


1 download

DESCRIPTION

3DelightForMaya-UserManual

TRANSCRIPT

Page 1: 3DelightForMaya-UserManual

3Delight For Maya 6.0A fast, high quality, RenderMan-compliant renderer

Copyright c© 2000-2011 The 3delight Team.

Page 2: 3DelightForMaya-UserManual

i

Short Contents

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

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

4 The Render Command Line Interface . . . . . . . . . . . . . . . . . . . . . . . 106

5 Rendering Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6 MEL Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

7 Developer’s Corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

8 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Concept Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Page 3: 3DelightForMaya-UserManual

ii

Table of Contents

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 The User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.1 The 3Delight Relationship Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1.1 All Available Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1.2 The Three-Pane Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.1.3 Performance Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 The Assignment Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2.1 Assignment Panel Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2.2 Assignment Panel Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 The Shader Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.4 The Add / Remove Attributes Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 The Geometry Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5.2 Attribute Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5.2.1 Scene Hierarchy Attribute Inheritance . . . . . . . . . . . . . . . . . . . . . 153.5.2.2 Custom Hierarchy Attribute Inheritance . . . . . . . . . . . . . . . . . . . 163.5.2.3 Inheritance Precedence List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.5.3 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5.4 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.5.5 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5.6 Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.5.7 Raytracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.5.8 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.5.9 Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5.10 Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5.11 Culling And Dicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5.12 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.5.12.1 Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.5.12.2 Polygons Wireframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.5.12.3 NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5.12.4 Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5.12.5 Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.12.6 Maya Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.5.13 Reference Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5.14 Subsurface Scattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.15 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5.16 RIB Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5.17 User Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.6 The Geometry Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.6.2 The 3Delight Geometry Modifiers Menu . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 4: 3DelightForMaya-UserManual

iii

3.6.3 Geometry Modifiers Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.7 The Shading Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.7.2 The 3Delight Shading Attributes Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 413.7.3 Reflection Shading Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.8 The Light Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.2 Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.3 Shadow Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.8.4 Photon Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.8.5 Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.8.6 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.8.7 Area Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.8.8 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.9 The Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.9.2 Managing Render Passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.9.2.1 Creating a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.9.2.2 Inheriting Another Render Pass Attributes . . . . . . . . . . . . . . . . . 513.9.2.3 Rendering a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.9.2.4 Selecting a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.9.2.5 Duplicating a Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.9.2.6 Saving a Render Pass as a Template . . . . . . . . . . . . . . . . . . . . . . . 52

3.9.3 Render Pass Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.9.3.1 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.9.3.2 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.9.3.3 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.9.3.4 Depth of Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.9.3.5 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.9.3.6 Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.9.3.7 Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.9.3.8 Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.9.3.9 Render Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.9.3.10 RIB Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.9.3.11 RIB Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.9.3.12 RI Filter Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.9.3.13 Search Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.9.3.14 MEL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.9.3.15 Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.9.3.16 Network Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.9.3.17 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.9.3.18 User Options and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.10 The 3Delight Render Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.11 The RIB Archive Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.11.2 RIB Archive Node User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.12 The RenderMan Code Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933.12.1 RenderMan Code Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933.12.2 RenderMan Code User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

3.13 The RenderMan Material Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.13.1 RenderMan Material Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.13.2 What shaders work as a RenderMan Material . . . . . . . . . . . . . . . . . . 953.13.3 RenderMan Material User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Page 5: 3DelightForMaya-UserManual

iv

3.14 The Coordinate System Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.14.2 Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

3.15 The Clipping Plane Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.16 The CSG Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

3.16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013.16.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

3.17 The Preferences Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.17.2 File Viewing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.17.3 Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4 The Render Command Line Interface . . . . . . . . . . . . . . . . . 1064.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.2 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

5 Rendering Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155.1 Understanding Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155.2 Lighting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

5.2.1 Depth Map Shadows With Maya Lights . . . . . . . . . . . . . . . . . . . . . . . . 1155.2.2 Ray Traced Shadows With Maya Lights . . . . . . . . . . . . . . . . . . . . . . . . 1155.2.3 Deep Shadow Maps With Maya Lights . . . . . . . . . . . . . . . . . . . . . . . . . 1165.2.4 Lighting and Shadowing With RenderMan Light Shaders . . . . . . . 1165.2.5 Shadow Map Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.3 RIB Archives Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.3.1 Writing a RIB Archive using a Render Pass . . . . . . . . . . . . . . . . . . . . 1205.3.2 Reading a RIB Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.3.3 Rendering while Archiving Scene Elements . . . . . . . . . . . . . . . . . . . . . 1215.3.4 Miscellaneous RIB Archives tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

5.4 Geometry Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.4.1 Maya Render Stats and Geometry Attribute Nodes . . . . . . . . . . . . . 1235.4.2 Using Attributes to Export Primitive Variables . . . . . . . . . . . . . . . . 1245.4.3 Exporting Per-Vertex Attributes on Polygon Meshes . . . . . . . . . . . 1255.4.4 Exporting Particle Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1275.4.5 Rendering Sprites with Distinct Textures . . . . . . . . . . . . . . . . . . . . . . 1285.4.6 Maya Hair and Paint FX Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295.4.7 Maya Fur Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305.4.8 Shave and a Haircut Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315.4.9 Miscellaneous Geometry Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5.5 Miscellaneous Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.5.1 Dynamics Animation Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.5.2 Using Atmosphere Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.5.3 Textures In The Hypershade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.5.4 File Path Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345.5.5 Automatic File Output Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365.5.6 Hypershade translation quirks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5.6 A Few Words About Fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

6 MEL Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Page 6: 3DelightForMaya-UserManual

v

7 Developer’s Corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427.1 General User Defined MEL Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427.2 Procedures Related To MEL Script Attributes . . . . . . . . . . . . . . . . . . . . . . 1447.3 Customizing Render Pass Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1457.4 Customizing Geometry Attribute Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467.5 Customizing Light Attribute Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467.6 Customizing Shader Nodes User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

7.6.1 Attribute Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467.6.2 Defining Shader Parameter Gadgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477.6.3 Defining Presets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

7.7 Defining Custom Shader Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1497.8 Defining Custom Hypershade Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507.9 Rendering Custom Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

7.9.1 Rendering Custom Geometry Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507.9.2 Rendering Custom Light Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

8 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Concept Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Page 7: 3DelightForMaya-UserManual

1

Page 8: 3DelightForMaya-UserManual

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. Thisis 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-inManager:

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 Mayaversion running to execute it. The plug-in are named ‘3delight_for_mayaX.mll’ forWindows 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 theplatform being used is Windows, Linux or Mac OSX, respectively; X is the version of Maya beingused. Refer to Section 5.4.8 [Shave and a Haircut Tips], page 131 for more information about thebenefits of using this second plugin.

If the path does not appear in the Plug-in Manager , use the Browse button to load the plug-inmanually.

Page 9: 3DelightForMaya-UserManual

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 renderingA render pass contains (among other things) options defining the objects and lightbeing rendered, the rendering quality and the type of output produced. Render passesadd flexibility on top of the standard Maya layers. See Section 3.9 [The Render Pass],page 50.

Hypershade shading network translation3Delight for Maya automatically translates Hypershade materials into RenderManshaders, so scenes that work in Maya will work the same when using 3Delight ForMaya.

RenderMan Shader NodesIt is always possible to assign RenderMan shaders to scene elements. Assignment isdone through the Assignment Panel while the Attribute Editor is used to edit theshader parameters. RenderMan shaders override Hypershade materials.

Shader and Attribute CollectionsThis feature enables the selection of a certain group of shaders or attributes dependingon the pass being rendered. This adds flexibility to more advanced pipelines. Otherpackages also offer a per-pass assignment strategy but this additional indirection levellet more advanced users easily manage pass-dependant connections. See Section 5.1[Understanding Collections], page 115.

Geometry Attribute NodesThese nodes are used to set various parameters that are specific to 3Delight, Examplesare ray tracing attributes and motion blur attributes. See Section 3.5 [The GeometryAttribute Node], page 15.

Light Attribute Nodes3Delight For Maya honours all Maya light parameters and it provides its own attributesto set specific parameters. For example, the shadow map type (either normal or deep) isselected through the light attribute node. See Section 3.8 [The Light Attribute Node],page 43.

Page 10: 3DelightForMaya-UserManual

Chapter 2: Overview 4

The Assignment PanelThis handy dialog is used to view and modify what shader node, attribute nodes andshader collections are assigned to the selected objects. See Section 3.2 [The AssignmentPanel], page 9.

RIB Archives3Delight For Maya can create and read RIB archives. This is a handy feature whenefficient rendering of complex scenes is required. See Section 3.11 [The RIB ArchiveNode], page 91.

RenderMan Code NodeThis advanced Hypershade node allows insertion of SL code (RenderMan Shading Lan-guage code) in a Hypershade network. See Section 3.12 [The RenderMan Code Node],page 93.

Page 11: 3DelightForMaya-UserManual

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’sshaders and attributes to Maya’s scene elements. The 3Delight Relationship Editor is meant to workand feel exactly as any Maya relationship editor so that users can rapidly understand the variouspossible operations. The editor is similar in spirit to the Light Linker as it has two operationalmodes: object-centric and attribute or shader-centric. Each operational mode is well suited for aset of specific tasks. For example, to assign an attribute to some objects, one could do the followingin attribute-centric mode:

• Left-click on the attribute in the left pane of the editor to select it.

• Left-click 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 Shift-Left-Click.

• Assign the attribute on by Left-Click 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 operationson 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:

Page 12: 3DelightForMaya-UserManual

Chapter 3: The User Interface 6

attribute and shader-centricIf an attribute is selected in the left pane, the editor highlights all connected objectsin the right pane. Selecting more than one attribute will show connections that arecommon to all the selected attributes.

object-centricIf an object is selected in the left pane, the right pane will highlight both the shaders andattributes 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 selectedobjects. Note that there are many ways to connect attributes to object (such as byinheritance), this is explained in Section 3.5.2 [Geometry Attribute Node Inheritance],page 15.

3.1.1 All Available Operations

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

Mouse Action DescriptionDouble-click on node’s name Rename nodeDouble-click on node’s icon Shows the node in the AE. Doesn’t modify current selection.

Also possible through the contextual menu as described inFigure 3.5.

Left-click on empty space in pane Clears the highlighted nodes. Doesn’t affect current Mayaselection.

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 actionsavailable through the Edit menu.

Check List Item DescriptionGeometry 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.

Menu Item DescriptionHighlight 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 willshow the connections to the object (although single objectview is very conveniently accessible through the AssignmentPanel as explained in Section 3.2 [The Assignment Panel],page 9).

Select highlighted objects This replaces current Maya selection by highlighted objectsin the pane.

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

Page 13: 3DelightForMaya-UserManual

Chapter 3: The User Interface 7

Attribute and Shader Pane Operations

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

Menu Item DescriptionSelect 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, ex-

pressions and connections on its attributes. Assignments toscene objects are not duplicated.

Hide Shader Attributes Make the various shader parameters of the highlighted nodesinvisible in all editors except the AE, which speeds up AE

refreshes in some cases. Only active when shaders are high-lighted. Refer to [Hide Attributes Preferences], page 105 fordetails.

Reload Shaders The shader node is updated to reflect the current contentof the related compiled shader file. Object assignments,attribute values, expressions and connections are preservedwhen possible. Only active when shaders are highlighted.

Replace Shader With File ... Upon selecting this item, the Shader Selector is brought upand the selected file will replace the one that was used byall highlighted shader nodes. The shader node name is notchanged. Object assignments are preserved. Attribute val-ues, expressions and connections are preserved when possi-ble. Only active when shaders are highlighted.

Preview Shaders Show a preview of the highlighted shaders in i-display. Pre-view can be customized in the Preferences Window Shaders.It is possible to select a surface shader, a displacement shaderand an imager shader; all will be used at once when render-ing the preview. Only active when shaders are highlighted.

Delete Delete selected attribute or shader and disconnect allconnections.

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. Pleaserefer to Section 5.1 [Understanding Collections], page 115 for more information about collections.The third pane can be shown by clicking on the << button on the left side of the editor window.Similarly, clicking on the >> button will collapse the editor back to two panes.

Page 14: 3DelightForMaya-UserManual

Chapter 3: The User Interface 8

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 throughthe pane’s Create -> Collection menu item. When a collection is highlighted, the other panes willdisplay and edit assignments made for that collection. Object level assignments can be viewed andmodified by clearing the highlighted nodes in the leftmost pane. Operations available in this paneare 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 ishighlighted, the other panes will display and edit assignments made for the selected pass’ "Shadercollection" (see [Shader collection to render], page 77). Object level assignments can be edited eitherby clearing the highlighted passes or by highlighting a pass whose "Shader collection" attribute isset to ‘<None>’. The left pane’s Create menu is identical to the Add Render Pass menu item of the3Delight Maya menu (see Section 3.9.2.1 [Creating a Render Pass], page 50). Additionally to theactions described in Figure 3.2, a few more are available through the contextual menu of this pane.These are described in Figure 3.7.

Page 15: 3DelightForMaya-UserManual

Chapter 3: The User Interface 9

Menu Item DescriptionSelect 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 current

selection.Assign Collection Presents the existing collections in a submenu; selecting one

will set it as the "Shader collection" of the highlighted renderpasses. The submenu also offers a New Collection... itemwhich creates a new collection, prompts for a collection nameand set it as the "Shader collection" of the highlighted renderpasses. See [Shader collection to render], page 77.

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

3.1.3 Performance Notes

The 3Delight Relationship Editor has been designed to perform very well with extremely large scenesbut 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 thetree in the objects pane. Creating shaders or attribute nodes and modifying their assignations doesnot cause any delay. To avoid any slowness, it is recommended to leave the objects pane’s NameFilter empty and to turn on all of ‘Geometry’, ‘Lights’ and ‘Cameras’ options in the Objects paneShow 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 con-nections. 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 currentassignments; 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 thecase with the relationship editor.

Page 16: 3DelightForMaya-UserManual

Chapter 3: The User Interface 10

Figure 3.8: The Assignment Panel

3.2.2 Assignment Panel Components

Follow additional explanations for each column in the panel:

Object assignmentsThis is the traditional object-level assignment scheme.

Collections assignmentsThose are connection that are active on the collection level. They will be activatedif the rendered pass selects this collection. Please refer to Section 5.1 [UnderstandingCollections], page 115 for more information.

Override assignmentsOverride shaders are mainly useful for passes that need the same shader to be attachedon 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 ambientocclusion shader to it and select the collection in the "Render Sets" section of the renderpass. No further shader assignment is needed, when rendering the pass all objects willhave 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 thecurrently selected objects. See Section 3.3 [The Shader Selector], page 11.

• Clicking on AE will show shaders parameter in Maya’s attribute editor. Some customizationof a given shader’s gadgets is possible; see [Shader Node Attribute Grouping], page 146.

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

Page 17: 3DelightForMaya-UserManual

Chapter 3: The User Interface 11

3.3 The Shader Selector

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

Figure 3.9: The Shader Selector

‘Directory’The "Directory" option menu will contain the default ‘$DELIGHT/shaders’ entry aswell as all paths listed in the $DL_SEARCH_PATH environment variable. The compiledshader files in the selected entry are displayed in the list below. The ‘Specify’ entrycan be selected to use a different directory then the ones defined in this option menu.

Page 18: 3DelightForMaya-UserManual

Chapter 3: The User Interface 12

‘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 "Directory"option menu is set to "Specify".

‘Name Filter’Only the filenames that match the expression set in "Name Filter" will be displayedin 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 mechanismused to invoke the shader selector. For instance, if Create -> Surface Shader wasselected in the 3Delight Relationship Editor , only surface shaders will be listed. Insome cases it may be allowed to select multiple files in the list. Double clicking on anentry in the list has the same effect as clicking once on the item and then clicking onthe Select button.

‘Select’ Use the selected shader file(s) to complete the operation for which the Shader Selectorwas brought up.

‘Close’ Close the Shader Selector , ignoring any selected shader files.

Page 19: 3DelightForMaya-UserManual

Chapter 3: The User Interface 13

3.4 The Add / Remove Attributes Window

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

Figure 3.10: The Add / Remove Attributes Window

Page 20: 3DelightForMaya-UserManual

Chapter 3: The User Interface 14

The name of the node on which the attribute addition or removal will occur is displayed that thetop of the window. The dialog will remain tied to that node until either the node is deleted or theAdd / 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 category witha check mark will add all missing attributes from that category to the node. Removingthe 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 possible tocherry-pick attributes since each one has its own checkbox. The first checkbox of acategory is a shortcut to add or remove all attributes from that category, exactly likethe 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 asclicking in the "All Area Light Attributes" checkbox in the "Area Light" subsection of"Attributes".

Page 21: 3DelightForMaya-UserManual

Chapter 3: The User Interface 15

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 asthe lights to use to light the attached objects, visibility to ray traced rays, and various RenderManrelated attributes. Geometry attribute nodes are created and assigned inside the Shader AssignmentPanel ; refer to Section 3.2 [The Assignment Panel], page 9.

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 emptycontainer where one can add just the relevant attributes. This avoids cluttering the UI and allowsattribute inheritance. Attributes can be added and removed by using the Add / Remove Attributesbutton. Left-Click on this button brings up the Add / Remove Attributes Window , which is bettersuited for multiple attribute addition or removal (see Section 3.4 [The Add / Remove AttributesWindow], page 13). Right-Click on the Add / Remove Attributes button offers the same function-ality through popup menus, which are more convenient when only one attribtue or attribute groupneeds to be added or removed.

Some of the attributes available in the ‘Geometry Attribute Node’ clash with the Maya RenderStats attributes. The attributes defined in a ‘Geometry Attribute Node’ attached to an object willoverride the related Maya Render Stat attribute. Refer to Section 5.4.1 [Maya Render Stats andGeometry Attribute Nodes], page 123 for more details.

3.5.2 Attribute Inheritance

Attributes contained in a given geometry attribute node can be inherited in two ways: from onescene’s parent transform node (group) to all its descendants, and through traversal of connectionsmade 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 byall its children nodes. Attributes closer to an object have higher precedence (an attribute node canprevent inheriting its parent’s attributes if needed). As an example:

Page 22: 3DelightForMaya-UserManual

Chapter 3: The User Interface 16

--waterfront <-------- RayTraceVisibilityAttrs|--rocks <-------- DisplacementAttrs| |--rock1| |--rock2| |--rock3||--trees| |--tree1| |--tree2 <--- InvisibleInReflectionsAttrs

In this scene, there is an attribute node named "RayTraceVisibilityAttrs" that contains requiredattributes to make the objects visible to specular rays (like reflections) and transmission rays (shadowrays). It is attached to the "waterfront" node, so all objects under it will be visible in reflectionsand cast and receive raytraced shadows.

The rocks share a displacement shader, so the "DisplacementAttrs" attribute node is used tospecify their displacement bound. It is connected to the "rocks" transform. Each rock object inheritsthe attributes from both "DisplacementAttrs" and "RayTraceVisibilityAttrs".

Finally, it appears that the "tree2" object does not need to be visible in reflections. To ad-just this, it gets assigned a "InvisbleInReflectionsAttrs" attribute node, in which the specular raysvisibility is set to "invisible". This overrides the specular rays visibility inherited from the "Ray-TraceVisibilityAttrs". The model will still be visible to transmission rays, as this attribute (alsoinherited 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 inheritance is notpossible or complicated. For these particular cases one can create connections between attributenodes, using the "alternate parent" plug, to define their hierarchical relationship. Attribute nodesconnected 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

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", "DisplacementAttrs" asin the previous example.

Page 23: 3DelightForMaya-UserManual

Chapter 3: The User Interface 17

2. All objects under the "rocks" group still need their displacement attributes, so the "Displace-mentAttrs" node is added to "rocks".

3. It would be handy to have the trees and the rocks share the same ray tracing attributes, sothat 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 isimpossible attach the "RayTtraceVisibilityAttrs" to that node. However, it is possible to definean alternate parent from which inherit attributes simply by creating a connection between thenodes’ "altParent" plugs.

When creating connections with "altParent" plugs, the direction of the connection is out fromthe parent, and in to the child. A given geometry attribute node can be the the parent of severalother children geometry attribute nodes. It is generally best to use geometry attributes nodes thatare not directly attached to a scene object as alternate parents. One way to create and edit them isthrough the 3Delight Relationship Editor .

It is possible to mix both the scene inheritance and the "altParent" connections inheritance. Forinstance, if a new "Shading Rate" attribute is created at the root of the scene, all objects underit -including "rocks"- would inherit it. Note that combining both "altParent" and scene structureinheritance 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 connectedto its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug is then checked fora 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 nodeconnected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug is thenchecked for a connection to a geometry attributes node and if one is found, it is outputted, andso 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 connectedto its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug is then checked fora 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) hasits ‘Inherit DAG Parent Attributes’ toggle set to off, the geometry attributes output processends. If the toggle is on or if no ‘Inherit DAG Parent Attributes’ is found, the above sixsteps are repeated on the object’s immediate DAG parent.

The following sections details every attribute in their respective categories. While it is possibleto add a entire attribute category to an attribute node, there is nothing wrong with adding only theneeded attributes in a category.

3.5.3 General

This panel controls the color, opacity and “sidedness” of attached object.

Page 24: 3DelightForMaya-UserManual

Chapter 3: The User Interface 18

Figure 3.12: The General attribute panel

‘Color’ This attribute specifies the surface color (Cs) of the attached objects. This colorcan be overridden by the attached shader; shaders translated from Maya Hypershadeshaders will usually multiply their base shader color with Cs. This means that a singlehypershade 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 shadinglook but a unique color. Photons will only use this color and ignore both types ofshaders. 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 valuesare less opaque. This color can be overridden by the attached shader. The defaultopacity 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 directionof the normal) is visible, or if both the front and back sides are visible. When thisattribute 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 theirusual direction and once with the normals reversed. This allows thickness to be givento a surface with displacement or to avoid shading artifacts where a transparent surfacechanges orientation. This attribute is off by default.

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

3.5.4 Quality

This panel controls how finely this geometry will be tessellated and how surface derivatives will becomputed.

Page 25: 3DelightForMaya-UserManual

Chapter 3: The User Interface 19

Figure 3.13: The Quality attribute panel

‘Shading Rate Multiplier’The shading rate used to shade objects attached to this node is determined by multi-plying the value of this attribute with the shading rate specified in the ‘Quality’ panelof the render pass (see Section 3.9.3.3 [Render Pass Quality], page 55). For example,if this value is set to ‘2.0’ and the shading rate in the render pass is ‘1.5’ then theeffective shading rate for this object will be ‘3.0’. The default value for this attributeis ‘1.0’.

‘Motion Factor’This attribute specifies how the shading rate of an object increases when movingrapidly. Since a fast moving object will be heavily blurred, it makes sense to use acoarser shading rate in that case. The same can be said about an object that is out offocus due to the chosen depth of field. The default setting of ‘1.0’ is is a good qualityversus performance compromise.

‘Focus Factor’This attribute specifies how the shading rate increase as an object gets blurred by depthof field. The default setting of ‘1.0’ is a good quality versus performance compromise.

‘Smooth Derivatives’Enables smooth derivatives. When enabled, smooth derivatives helps reducing shadingartifacts. Issues may arise with excessively detailed geometry that is using a texturewith not enough overpaint zone for proper filtering; it this case, this attribute sahouldbe turned off. It is enabled by default.

Page 26: 3DelightForMaya-UserManual

Chapter 3: The User Interface 20

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 objectsare not shaded and behave as if they were completely opaque, hiding any objectsbehind them, but appear in the image as transparent black pixels. This attribute is offby 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 attachedobjects 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 completelyopaque. This option gives good performance since no shader evaluation isnecessary for shadow rays. This value should be preferred when ray tracedshadows are desired, the object is completely opaque and the surfaceshader does no displacement or opacity computation.

‘Primitive Opacity’The object is visible to shadow rays and its opacity is constant and definedby the "Opacity" attribute in the geometry attribute node (see [Opacity],page 18). This is also an efficient option and should be preferred whenthe surface shader does no displacement or opacity computation.

‘Shader Opacity’The most expensive shadow mode: the renderer will evaluate surface’sopacity using the attached shader. This option is recommended only

Page 27: 3DelightForMaya-UserManual

Chapter 3: The User Interface 21

when when the objects’ opacity is not constant over their surface (anexample would be an opacity modulated by a texture map), or when thesurface 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 Hypershade can fur-ther refine if they are visible in reflections and refractions using the relevant "renderstats"; see Section 5.4.1 [Maya Render Stats and Geometry Attribute Nodes], page 123.Possible values are:

‘Invisible’The object is not visible to ray traced specular rays. This is the mostefficient option, but of course no ray traced reflections or refractions arepossible. This is the default value.

‘Opaque’ The object is visible to ray traced specular rays; it is considered fullyopaque and white.

‘Primitive Color’The object is visible to ray traced specular rays; these rays will be affectedby the object’s "Color" and "Opacity" attributes in a geometry attributenode (see [Color], page 18 and [Opacity], page 18). This is also an efficientoption and should be preferred when reflection and refraction can beapproximated by a constant color and opacity.

‘Shader Color’The most expensive shadow mode: the renderer will evaluate surface’sopacity using the attached shader to determine the color and opacitythat will affect ray traced specular rays. Note that using this value willproduce identical results to what the outdated ""Visible 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:

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

‘Opaque’ The object is visible to ray traced diffuse rays; it is considered fully opaqueand white.

‘Primitive Color & Opacity’The object is visible to ray traced diffuse rays; these rays will be affectedby the object’s "Color" and "Opacity" attributes in a geometry attributenode (see [Color], page 18 and [Opacity], page 18). This is also an efficientoption and should be preferred when reflection and refraction can beapproximated by a constant color and opacity.

‘Shader Color & Opacity’The most expensive shadow mode: the renderer will evaluate surface’sopacity using the attached shader to determine the color and opacitythat will affect ray traced diffuse rays.

Page 28: 3DelightForMaya-UserManual

Chapter 3: The User Interface 22

‘Visible To Photons’When this attribute is on, the attached objects surfaces will interact with photonsaccording to the selected "Shading Model" (see Section 3.5.9 [Geometry AttributeNode Global Illumination], page 24). 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 ‘<lightlinker>’ is selected, the objects are illuminated by lights linked to them. When Mayaobject sets are defined in the scene, they will also be listed in this option menu; as-signing this attribute to a set will illuminate attached objects with the light sourcescontained in the set. By default, this attribute is set to ‘<light linker>’.

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 movingobject as seen in a mirror will only show motion blur if this option is enabled. Bydefault, this attribute is off.

‘Raytrace Displacements’When this attribute is checked, it enables ray tracing of true geometric displacements.The default is to ray-trace displacements as bump maps (a displaced surface appearsbump mapped in a mirror reflection). Enabling this feature makes ray tracing slowerand 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 intersections withemitting 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 narrowdown what objects are visible to ray traced rays. This feature can be useful whena scene is using referenced objects that already have their "Transmission" attribute

Page 29: 3DelightForMaya-UserManual

Chapter 3: The User Interface 23

correctly set, but only part of these objects are needed to be visible to ray tracedrays in this specific scene. The "Trace subset" option menu has the following valuesavailable:

‘All Objects’All objects whose "Transmission" and "Visible To Reflections" attributeshave been properly set will be visible to ray traced rays. This is thedefault.

‘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 visibleto ray traced rays. The "Select Sets" button can be used to select thedesired Maya sets to include.

‘Objects not in selected sets’Only objects that are not in the selected Maya sets and whose "Trans-mission" and "Visible To Reflections" attributes have been properly setwill be visible to ray traced rays. The "Select Sets" button can be usedto 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. Referto Section 3.9.3.5 [Render Pass Motion Blur], page 57 for more information aboutmotion blur. The available values are:

‘Inherit’ The attached objects will be transformation blurred only if the "Trans-formation Blur" attribute is turned on in the render pass node used forrendering. 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 toSection 3.9.3.5 [Render Pass Motion Blur], page 57 for more information about motionblur. The available values are:

‘Inherit’ The attached objects will be deformation blurred only if the "DeformationBlur" attribute is turned on in the render pass node used for rendering.This is the default.

Page 30: 3DelightForMaya-UserManual

Chapter 3: The User Interface 24

‘On’ The attached objects will be deformation blurred, regardless of the "De-formation 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.

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 avail-able choices are:

‘Primitive Color & Opacity’The photons get their color from Cs and their opacity from Os. It ispossible to define these two attributes using the "Color" and "Opacity"attributes, respectively (see [Color], page 18 and [Opacity], page 18). Thisvalue 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.

‘Photon Estimator’The number of photons that shading operations relying on photons will use. Thedefault number of photons is 50.

‘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 AttributeNode Visibility], page 20). 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 bleedingeffects.

‘Chrome’ This value reflects all photons like a mirror. It also generate caustics.

‘Glass’ This value will partly reflect photons, partly refract them. It also generatecaustics.

‘Water’ This value is similar to Glass but has a different refraction index.

Page 31: 3DelightForMaya-UserManual

Chapter 3: The User Interface 25

For the Chrome and Matte models, reflected photons are colored by the Color attribute(see [Color], page 18). For the Glass and Water models, only transmitted photons arecolored.

‘Irradiance Shading Rate’This attribute specifies the shading rate that should be used when computing occlusionand indirect diffuse. The default shading rate is ‘4.0’.

‘Irradiance Max Error’This attribute specifies the maximum difference that defines if an occlusion or indirectdiffuse computation can be interpolated or if it needs to be traced. For instance, usinga high value for "irradiance shading rate", a reasonable value for "irradiance maxerror" and a high enough number of samples (set as a shader parameter) can allowthe renderer to interpolate occlusion values for surfaces where the occlusion does notvary a lot. Carefully selecting values for these three settings can significantly improverendering speed for occlusion and indirect diffuse computations. The default maximumerror 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 theamount by which the bounding box of each object should be increased to include thedisplaced surfaces. Failure to provide the renderer with a decent value will result inshading artifacts (when the value is too small) or inefficiency (when the value is toolarge). When the displacement bound is too small, 3Delight issues an error messagestating by how much the value is too small; it is recommended to use this informationto assign a reasonable bound. The default value is ‘0.0’, which is fine only if thesurfaces 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 pa-rameters.

Page 32: 3DelightForMaya-UserManual

Chapter 3: The User Interface 26

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 butcompletely hidden (behind another object) will still be rendered and shaded. Whenthis attribute is on, hidden objects will be dismissed. This is the default. The onlyreason to this feature off is when “baking” expensive shaders.

‘Cull Backfacing Surfaces’When this attribute is off, the one-sided attached objects that are in the viewingfrustum 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 reasonto this feature off is when “baking” expensive shaders.

‘Raster Oriented Dicing’This attributes enables enables or disables “raster oriented” tessellation. When tessel-lation is raster oriented, 3delight considers the object as viewed from the camera tocompute the tessellation factors. This means that objects (or parts of objects) facingthe camera will be tessellated more densely than tilted objects. By default, this at-tribute is on. A good reason to disable this feature is when displaced surfaces loosedetail 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 widthof 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 inMaya are translated to RenderMan primitives. For this reason, they have no effect on the geometryimported in the scene by a ‘RIB Archive Node’, and they will not be affected by the "IgnoredArchived Geometry Attributes"

Figure 3.21: The Geometry attribute panel

Page 33: 3DelightForMaya-UserManual

Chapter 3: The User Interface 27

‘Output Geometry’When this attribute is off, the attributes of the "Geometry Attribute Node" will beoutput but not the geometry of the objects that are attached to it. By default, thisattribute is on.

‘Output Faceid’Turning on this attribute will produce a primitive variable named "faceid" that defineone id number per face of the primitive. This variable can be used with the EdgeDetection feature of a display to produce a wireframe outline of the primitive simplyby setting the "Detected Variable" attribute to ‘float faceid’. See [Edge Detection],page 68 for details.

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’ primitivevariables; no other UV set will be exported. When it is off, the default UV set will beexported 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 exportedin 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.

Page 34: 3DelightForMaya-UserManual

Chapter 3: The User Interface 28

• Each other UV set is output as a float array bearing the same name as the UVset being exported.

When this attribute is off, the behaviour defined by the "Use Current UVset" attributeprevails. This attribute is off by default.

‘Output Vertex Color’When this attribute is checked and the attached object is a polygon mesh, any color setsit contains that defines per-vertex color will be exported to rendering. Each color setwill be exported as a color array bearing the same name as the 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 [ExportingPer-Vertex Attributes on Polygon Meshes], page 125 for an example on how to use this.

‘Poly As Subd’When this attribute is checked, 3Delight for Maya will consider this polygonal geometryas being a smooth subdivision surface. If this attribute is off, the polygon mesh will beconsidered as just that, a polygon mesh. This attribute is ignored when the attachedobject is not a polygonal geometry, and it is off by default.

‘Smooth UVs’High quality rendering of textured subdivision surfaces cannot be accomplished withoutproperly interpolated texture coordinates. This control enables precisely that. Thefollowing three values are offered:

‘No’ No smoothing is performed. This will not lead to high quality resultsbut has the advantage of not stretching texture coordinates over faceboundaries.

‘Partial’ Will ask 3Delight to perform some work to minimize UV distortion onthe surface. Seams are left untouched. This is the default.

‘Full’ Will use more advanced algorithms to minimize distortion of UV coordi-nates at texture seams. This will usually yield better results but mightcause some textures to look misplaced. It is best to try it to see what itdoes.

note: This also controls the interpolation of vertex colors and other quantitiesthat 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, settingthis attribute to on will export the hard edges. The effect of this attribute is similarto the "Keep Hard Edges" attribute of a "Maya Subdiv Proxy" node. This attributeis 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 subdivisionproxy containing creases, turning this attribute on will export creases (creases on edgesand vertices are exported). This attribute is ignored if the "Poly As Subd" is turnedoff (it is off by default).

‘Interpolate Boundary’When this attribute is on, boundary edges and vertices are infinitely sharp. Thisattribute is on by default.

Page 35: 3DelightForMaya-UserManual

Chapter 3: The User Interface 29

‘Round Edges’When this attribute is on, it will round the edges of the attached polygon mesh. Theresulting primitive is a subdivision surface, regardless of the value of any "Poly AsSubd" 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 betweenthe start and end sharpness values. For instance, if the "Start Angle" is set to 0 whilethe "End Angle" is set to 90, and the "Start Sharpness" is set to 0.3 while the "EndSharpness" is set to 0.9, an angle of 45 degrees would be rounded with a sharpness of0.6. Note that the angle between faces sharing an edge that has been tagged as smoothwill be considered as having an angle of 0.

‘Start Angle’This attribute defines the range of angles that will undergo edge rounding, along withthe "End Angle" attribute. It corresponds to the angle between the normals of twoadjacent faces on the polygon mesh, in degrees.

‘Start Sharpness’This attribute defines the sharpness value associated with the "Start Angle". Validvalues 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 withthe "Start Angle" attribute. It corresponds to the angle between the normals of twoadjacent faces on the polygon mesh, in degrees.

‘End Sharpness’This attribute defines the sharpness value associated with the "End Angle". Validvalues are between 0 and 1, higher values producing sharper edges.

3.5.12.2 Polygons Wireframe

Figure 3.23: The Polygons Geometry Wireframe attribute panelThe 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 [EdgeDetection], page 68 for details.

‘Output Wireframe’When this attribute is on, curve primitives that follow the polygon edges are outputalong with the mesh. These new primitives are shaded like the polygon mesh. Thisattribute 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 it is off, thewidth is expressed in object space. In other words, turning on this attribute meansthat the wireframe width will remain constant even when the object or the camera ismoving. This attribute is on by default.

Page 36: 3DelightForMaya-UserManual

Chapter 3: The User Interface 30

‘Wireframe Width’This attribute defines the width or the wireframe. Its value is interpreted in pixels orin object space units depending on what the "Raster Space Wireframe" attribute isset 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 broughtback 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 whenthis 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 rootsand tips, respectively.

Page 37: 3DelightForMaya-UserManual

Chapter 3: The User Interface 31

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. Avail-able 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 typeset in the attached particle shape.

‘Spheres’ The particle system will be rendered as spheres, overriding the rendertype set in the attached particle shape.

‘Sprites’ The particle system will be rendered as sprites, overriding the render typeset in the attached particle shape.

Page 38: 3DelightForMaya-UserManual

Chapter 3: The User Interface 32

‘Streak’ The particle system will be rendered as streaks, overriding the render typeset in the attached particle shape.

‘Blobby’ The particle system will be rendered as blobbies, overriding the rendertype set in the attached particle shape.

‘Disk’ The particle system will be rendered as disks, overriding the render typeset 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 thesame, even if the distance between the camera and the particle systemchanges.

‘Object Space’The particle size is expressed in the object space. Scale transforms af-fecting the particle system will influence the particle size. This is thedefault.

‘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 definedin the attached particle system shape. This can be useful when the particle size needsto 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 systemsize 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, whenviewed from a different location than the light, the half closer to the light will notbe 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 orthe 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 VolumeInterpretation], page 45.

‘Render nCloth as Particles’When this attribute is on, any attached nCloth shape will be rendered as a particlesystem. The nCloth shape’s "Thickness" and "Self Collide Width Scale" attributesare 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 inthe surface color primitive variable (‘Cs’). Turning off this attribute will output the"rgbPP" data as a ‘rgbPP’ primitive variable. See [Color], page 18 for more details onhow Cs is used with hypershade shaders and photons. This attribute is off by default.

Page 39: 3DelightForMaya-UserManual

Chapter 3: The User Interface 33

‘Typical Particle System Attributes / variables’This panel offers the possibility of exporting particle attributes as primitive parame-ters, giving the opportunity to attached RenderMan shaders to use that data for theircomputations. The selected attributes will be exported given that they have been pre-viously defined for the particle system. Here is an overview on how to use the contentof this panel:

• The left panel lists usual particle attributes. Select the ones that are to be exportedand click the "Add >>" button.

• The right panel lists attributes that will be exported. Selects the ones that arenot 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 customparticle attributes. Several attributes can be listed, as long as they are separatedby spaces.

This panel is irrelevant if the attached object is not a particle shape or a nCloth shape. Referto Section 5.4.4 [Exporting Particle Attributes], page 127 for an example on how to use this. Bydefault, all particle systems are exported with the following primitive variables:

‘colorRed’

‘colorGreen’‘colorBlue’‘rgbPP’

‘opacity’

‘opacityPP’‘incandescence’‘incandescencePP’

Page 40: 3DelightForMaya-UserManual

Chapter 3: The User Interface 34

3.5.12.6 Maya Fur

Figure 3.27: The Maya Fur Geometry attribute panelThis panel contains attributes relevant to Maya Fur rendering. They are effective when attached

to a FurFeedback node.

‘Clumping Frequency’This attribute acts as an override for the value specified in the associated Fur Descrip-tion node. It can be set to a much larger value than the hardcoded maximum of 100for the Fur Desccription’s clumping frequency. This attribute is set to 0 by default.

‘Output Surface Opacity’When this attribute is on, a variable containing surface opacity values (Os) will bedefined in the fur primitive. One value is output per hair vertex. This attribute is onby 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 attributeis on by default.

‘Output Base Color’When this attribute is on, a ‘uniform color basecolor’ variable containing the hairstrands base color values will be defined in the fur primitive. The base color valuesare defined in the associated fur description node. One value is output per hair. Thisattribute is on by default.

Page 41: 3DelightForMaya-UserManual

Chapter 3: The User Interface 35

‘Output Tip Color’When this attribute is on, a ‘uniform color tipcolor’ variable containing the hairstrands tip color values will be defined in the fur primitive. The tip color values aredefined in the associated fur description node. One value is output per hair. Thisattribute is on by default.

‘Output Base Ambient Color’When this attribute is on, a ‘uniform color baseambientcolor’ variable containingthe hair strands base ambient color values will be defined in the fur primitive. Thebase ambient color values are defined in the associated fur description node. One valueis output per hair. This attribute is on by default.

‘Output Tip Ambient Color’When this attribute is on, a ‘uniform color tipambientcolor’ variable containingthe hair strands tip color values will be defined in the fur primitive. The tip ambientcolor values are defined in the associated fur description node. One value is output perhair. This attribute is on by default.

‘Output Specular Color’When this attribute is on, a ‘uniform color specularcolor’ variable containing thehair strands specular color values will be defined in the fur primitive. The specularcolor values are defined in the associated fur description node. One value is output perhair. This attribute is on by default.

‘Output Specular Sharpness’When this attribute is on, a ‘uniform float sharpness’ variable containing the hairstrands specular sharpness values will be defined in the fur primitive. The specularsharpness values are defined in the associated fur description node. One value is outputper hair. This attribute is on by default.

‘Output Surface Point’When this attribute is on, a ‘uniform point surfacepoint’ variable containing thesurface point where the hair is rooted will be defined in the fur primitive. The point isexpressed 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 containing thesurface normal where the hair is rooted will be defined in the fur primitive. Thenormal is expressed in world space. One value is output per hair. This attribute is onby default.

‘Output Surface U’When this attribute is on, a ‘uniform float surfaceu’ variable containing the surfaceU coordinate where the hair is rooted will be defined in the fur primitive. One valueis output per hair. This attribute is off by default.

‘Output Surface V’When this attribute is on, a ‘uniform float surfacev’ variable containing the surfaceV coordinate where the hair is rooted will be defined in the fur primitive. One valueis output per hair. This attribute is off by default.

‘Output Hair Id’When this attribute is on, a ‘uniform float hairid’ variable containing a unique hairidentifier will be defined in the fur primitive. One value is output per hair. Theidentifier will be valid across multiple frames. This attribute is off by default.

Page 42: 3DelightForMaya-UserManual

Chapter 3: The User Interface 36

‘Output Hair Length’When this attribute is on, a ‘uniform float hairlength’ variable containing an ap-proximation of the hair’s length will be defined in the fur primitive. One value is outputper hair. This attribute is off by default.

‘Output Hair Tip Point’When this attribute is on, a ‘uniform point hairtippoint’ variable containing thepoint of hair strand tip will be defined in the fur primitive. One value is output perhair. 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 identifierof the clump that attracts the hair strand will be defined in the fur primitive. Onevalue is output per hair. The identifier remains valid across frames. When clumpingis 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 italong with the rendered object. Reference geometry can be accessed in the shaders using the Prefand NRef variables.

Figure 3.28: The Reference Geometry panel

‘Output Pref’When this attribute is on, the geometry passed to 3delight will also contain referencegeometry that represents geometry before any deformation has been applied to it. Thisgeometry 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; thoseare normals before any deformation has been applied. These undeformed normals areaccessible to shaders that declare the varying normal Nref parameter. This attributeis off by default.

Page 43: 3DelightForMaya-UserManual

Chapter 3: The User Interface 37

3.5.14 Subsurface Scattering

Figure 3.29: The Subsurface Scattering panelThe following attributes are needed for subsurface scattering simulations. Note that the reduced

absorption and reduced scattering coefficients and refraction index are usually obtained from spe-cialized literature. A reference paper that contains many parameters (such as skin) directly usablein 3Delight for Maya:• Henrik Wann Jensen, Stephen R. Marschner, Marc Levoy and Pat Hanrahan. A Practical

Model for Subsurface Light Transport. ACM Transactions on Graphics, pp 511-518, August2001 (Proceedings of SIGGRAPH 2001).

‘Subsurface Group’This attribute specifies a group name. Objects that have the same group name willbelong to the same subsurface group. If the object that will undergo the subsurfacesimulation consists of several separate models, each of these models should be attachedto a "Geometry Attribute Node" and this attribute should be assigned the same valuein 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.0020.004 0.007’.

‘Reduced Scattering’This attribute specified the reduced scattering coefficients. Its default value is ‘2.1902.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 thescale to apply these parameters when the objects are not exported in millimetres. Thedefault value for this attribute is ‘0.1’, since 3Delight for Maya exports the objects incentimetres.

‘Subsurface Shading Rate’This attribute specifies the shading rate used for the subsurface simulation. Its defaultvalue is ‘1.0’.

Page 44: 3DelightForMaya-UserManual

Chapter 3: The User Interface 38

3.5.15 MEL Scripts

The following attributes allow the user to call custom MEL scripts before and after the attachedobject’s geometry is output. Two variables are automatically defined in the context of these scriptsexecution:

‘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 ex-ported. More precisely, this script is called after all attributes of this "GeometryAttribute Node" are output and right before the geometry is instantiated. If thisattribute is attached to several objects, it will be called once for each object. Thisattribute 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 thisattribute is attached to several objects, it will be called once for each object. Thisattribute is empty by default.

3.5.16 RIB Archive

The following attributes1 allow the user to request that specific portions of an archive should beignored. These attributes are meant to be attached to a "RIB archive node". For instance, they couldbe used to allow the same RIB archive to be used for a beauty pass (using the various hypershadeshaders it contains) and in an occlusion pass, where the "Ignore Archived Surface Shaders" attributewould be turned on and an occlusion shader would be attached to the "RIB archive node". Referto Section 3.11 [The RIB Archive Node], page 91.

1 not available in the 3Delight for Maya package

Page 45: 3DelightForMaya-UserManual

Chapter 3: The User Interface 39

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 disregarded.This attributes is off by default.

‘Ignore Archived Light Links’When this attribute is on, the light linking information (illuminate statements) in thearchive 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 at-tribute 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 thearchive. This attribute is off by default.

‘Ignore Archived Geometry Attributes’This attributes controls if the archived attributes that come from "geometry attributenodes" 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 regardlessof 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 eachgeometry attribute node, 3Delight for Maya will look for attributes whose name begin with "at-tribute user ". The older prefix "user " is still supported. This prefix is removed from the nameand the attribute is output to RIB as a user attribute, along with its value. For instance, a ‘colorfloat3’ attribute named ‘user_colorMultiplier’ will produce a RiAttribute ‘colorMultiplier’.The supported attribute types are:• string• bool• long, long2, long3• float, float2, float3 (color or non-color)• double, double2, double3

Page 46: 3DelightForMaya-UserManual

Chapter 3: The User Interface 40

3.6 The Geometry Modifiers

3.6.1 Overview

Some of the attributes available in the "Geometry Attribute Node" affect the way geometric objectsare translated into RenderMan primitives. In some cases, it might be desirable to tie these attributesto specific objects, while sharing other attributes across different object types using a single geometryattribute node. For instance, several objects could share the same subsurface attributes by attachingthem to a single geometry attribute node, but some of these objects would need to have ‘Poly AsSubd’ attribute on, while others need this attribute to be off. Using the Geometry Modifiers, itis 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 attributein 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 theAttribute Editor . In the Attribute Editor’s Attributes menu, a 3Delight Geometry Modifiers submenuwill list the available geometry modifiers. The list of modifiers varies based on the type of the nodebegin displayed in the Attribute Editor ; only relevant attributes are listed.

Presence of a given attribute is displayed in the 3Delight Geometry Modifiers submenu by acheckbox or a checker mark next to the attribute name. Selecting a non-checked item will add thatattribute 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 theobject.

3.6.3 Geometry Modifiers Controls

Once some geometry modifiers attribute is added to the object, the gadgets to control its value aredisplayed in a separate 3Delight Geometry Modifiers frame layout, which appears at the bottom ofthe 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 26 for detailsabout the effect of the available geometry modifier attributes.

Page 47: 3DelightForMaya-UserManual

Chapter 3: The User Interface 41

3.7 The Shading Attributes

3.7.1 Overview

3Delight for Maya offers extra parameters for Hypershade surface shader nodes to control certainaspects of the shading not covered by the node’s regular attributes. These parameters are adjustedusing extra shading attributes.

Once a shading attribute is added to the object, the gadgets to control its value are displayed ina separate 3Delight Shading Attributes frame layout, which appears at the bottom of the AttributeEditor .

3.7.2 The 3Delight Shading Attributes Menu

To add or remove shading attributes on an Hypershade surface shader node, that shader must bedisplayed in the Attribute Editor . In the Attribute Editor’s Attributes menu, a 3Delight ShadingAttributes submenu will list the available category of attributes. The list of modifiers varies basedon 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 acheckbox or a checker mark next to the attribute name. Selecting a non-checked item will add thatattribute 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 theobject.

3.7.3 Reflection Shading Attributes

Figure 3.32: The Reflection shading attributes panelThe following attributes are offered for surface shaders that support reflections:

‘Max Distance’The maximum distance to search for reflections. Using a value that excludes largeportions of the scene that cannot be reflected anyway will improve rendering speed.

‘Samples’ Number of samples for the reflection. Higher sample counts produce smoother reflec-tions.

‘Blur’ Angle in radians that define a sampling cone. Larger values prodduce smoother resultsbut may require a higher number of samples.

‘Noise Amplitude’Amplitude of noise applied to the reflection.

Page 48: 3DelightForMaya-UserManual

Chapter 3: The User Interface 42

‘Noise Frequency’Frequency of noise applied to the reflection.

Page 49: 3DelightForMaya-UserManual

Chapter 3: The User Interface 43

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 togenerate these shadow maps. When there are no light attribute node attached to a light, 3Delightfor 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. Left-Click on this button brings up the Add / Remove AttributesWindow , which is better suited for multiple attribute addition or removal (see Section 3.4 [The Add /Remove Attributes Window], page 13). Right-Click on the Add / Remove Attributes button offersthe same functionality through popup menus, which are more convenient when only one attribtueor 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.

Page 50: 3DelightForMaya-UserManual

Chapter 3: The User Interface 44

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 particularlight. It is set to off by default. Note that even if this attribute is on, when the renderpass used to render has its "Render Shadow Maps" attribute unchecked, no shadowmaps will be rendered. Refer to Section 3.9.3.7 [Render Pass Shadow Maps], page 69.

‘Shadow Map Name’This attribute specifies the filename of the shadow map and is empty by default. It canbe set to a relative or absolute path and contain tokens, as explained in Section 5.5.4[File Path Expressions], page 134. It can also be left empty, in which case a shadowmap name will be generated using each of the attached light node’s "Shadow Map FileName", "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 sourcesand generate shadow maps for each and everyone of them, as long as they can all sharethe same parameters except for the file name. It is recommended to turn on the lightnode’s "Add Frame Ext" attribute if the "Generate First Frame Only" attribute isturned off. Refer to Section 5.5.5 [Automatic File Output Control], page 136. Notethat a decent default file name is automatically generated when the "Generate ShadowMaps" toggle is turned on while the shadow map name is left empty.

Page 51: 3DelightForMaya-UserManual

Chapter 3: The User Interface 45

‘Shadow Map Resolution’This attribute specifies the image resolution for the shadow map. The default resolutionis 512x512.

‘Shadow Map Shading Rate’This attribute specifies the "Shading Rate" to be used for the rendering of this shadowmap. The default value for this attribute is ‘1.0’. Note that the shading rate valueentered here is not a multiplier of render pass’ shading rate; it is used “as is”. Refer toSection 3.9.3.3 [Render Pass Quality], page 55 for more information about the shadingrate.

‘Shadow Map Type’‘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 and takesup less disk space.

‘deep’ Select this value to compute deep shadow maps. They are slower togenerate and require more disk space, but they do offer a few benefits inreturn. For instance, translucent objects and participating media (fog,smoke, etc.) will correctly cast shadows and finely detailed geometry(such as fur) works better with deep shadow maps.

.

‘Shadow Map Depth Filter’This attribute is only available when "Shadow Map Type" is set to ‘normal’. Thevalue 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 thelight shader (or the Maya light node if there are no RenderMan shaders attached tothe 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 gettingrid of the self-shadowing problems.

‘Volume Interpretation’This attribute is only available when "Shadow Map Type" is set to ‘deep’. The avail-able values are:

‘Discrete’ This value should be used to compute shadows cast by solid objects.

‘Continuous’This value should be preferred for computing shadows cast by participat-ing 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 theshadow 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 ofanimation. This is a good choice when the objects that cast shadows are not animated.

Page 52: 3DelightForMaya-UserManual

Chapter 3: The User Interface 46

It is recommended to avoid inserting a ‘#’ in the "Shadow Map Name" attribute (orto check the "Add Frame Ext" attribute of the light node when the "Shadow MapName" is left empty) when this option is turned on. By default, this attribute is setto off.

‘Generate With Motion Blur’When this attribute is on, the shadow map will be rendered using the same shutteropening and closing times as the camera used for rendering the frame. This will pro-duce motion-blurred objects in the shadow map, provided that at least one object hasat least one of the transformation blur or deformation blur options turned on. Sincedepth shadow maps do not contain any transparency information, they are not recom-mended for creating proper motion blurred shadows. The motion blurred portions ofthe shadow map will produce grainy shadows; however it is possible to blur these grainyparts to some extent using the light source shader’s "shadow blur" or "shadow filtersize" attributes. Deep shadow maps are a better choice when motion blurred shadowsare needed; however a moving, motion blurred, self-shadowing object will only be prop-erly shadowed if the deep shadow map is not motion blurred. Refer to Section 3.5.8[Geometry Attribute Node Motion Blur], page 23 and Section 3.9.3.5 [Render PassMotion Blur], page 57 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 shadowmap for each direction (since point lights illuminate in every direction). Enabling thistoggle will force 3Delight for Maya to generate an aggregated shadow map that containsix shadow maps. This option is off by default.

‘Shadow Camera’This attribute specifies what camera will be used to render the shadow map. Whenno camera is specified, the light source attached to this attribute node will be usedto position the camera used for the shadow map rendering; in this case the camera’sangle of view is defined by the light’s cone angle (if the light source is a spotlight). Bydefault, no camera is selected.

‘Near Clipping Plane’This attribute defines the near clipping plane for the shadow map rendering. Thedefault value is ‘0.001’.

‘Far Clipping Plane’This attribute defines the far clipping plane for the shadow map rendering. The defaultvalue 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 ‘<lightlinker>’ is selected, only objects that are lit by the light this attribute node is attachedto will be rendered in the shadow map. This is the default. This menu will also list all

Page 53: 3DelightForMaya-UserManual

Chapter 3: The User Interface 47

Maya object sets in the scene; when a set is selected, only the objects it contains willbe 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 thetotal number of photons to trace into the scene is specified in Section 3.9.3.8 [RenderPass Global Illumination], page 71: 3Delight for Maya will automatically compute howmuch photons are needed per light, depending on their intensity. This attribute is offby default.

3.8.5 Category

Figure 3.37: The Category Light Attribute Panel

‘Key Light’This attribute can be used to differentiate some light sources from the others by taggingthem as key lights. Key lights have specific AOVs that can be used to render a specificcomponent of their contribution to the image’s overall appearance, isolating their con-tribution form the effect of the other light sources of the scene. Refer to Section 3.9.3.6[Render Pass Displays], page 59 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 thescene’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 havetransformation blur applied to it or not. This camera is either explicitly specified, orit is derived from the attached light’s position and orientation (see [shadow camera

Page 54: 3DelightForMaya-UserManual

Chapter 3: The User Interface 48

attribute], page 46). Note that this attribute is ignored unless the "Generate WithMotion Blur" attribute is turned on (see [generate with motion blur attribute], page 46).The available options are:

‘Off’ No transformation blur will be applied to the shadow map camera, re-gardless of the render pass’ current "Transformation Blur" settings. Thisis the default.

‘On’ Transformation blur will be applied to the shadow map camera, even ifthe "Transformation Blur" attribute is turned off in the render pass. Thenumber of samples is determined by the "Transformation Samples" of therender pass. This value has no effect if "Generate With Motion Blur" isturned off.

‘Inherit’ Transformation blur will be applied to the shadow map camera accordingto the "Transformation Blur" attribute of the render pass. The numberof samples is determined by the "Transformation Samples" of the renderpass. This value has no effect if "Generate With Motion Blur" is turnedoff.

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. Largervalues take longer to render but give smoother results. The default is 16. This attributehas 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 possiblevalues are:

‘Faster’ In this mode, specular highlights will not follow the shape of the arealight1, only shadows will be rendered correctly.

‘Better’ In this mode, both the specular highlights and the shadows are renderedcorrectly. This setting is recommended when accurate specular highlightsare important.

3.8.8 MEL Scripts

As for the render pass (Section 3.9.3.14 [Render Pass MEL Scripts], page 83), 3Delight For Mayalet you run MEL scripts before and after each shadow map. Two variables are automatically definedin the context of these scripts execution:

‘string $shape_path’This variable is assigned the current light shape path.

1 They will appear as highlights from a punctual light source.

Page 55: 3DelightForMaya-UserManual

Chapter 3: The User Interface 49

‘string $attribs_node’This variable is assigned the current geometry attribute node name.

Figure 3.40: The Light MEL Scripts attribute panel

‘Pre Render MEL’This attribute specify a MEL script that will be executed before the shadow map isrendered. 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 isrendered. More precisely, the script will be executed just after the FrameEnd RIB

statement of the shadow map. This attribute is empty by default.

Page 56: 3DelightForMaya-UserManual

Chapter 3: The User Interface 50

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 renderingcontext that encapsulates a list of rendering attributes and a list (or set) of objects to be rendered. Asingle Maya scene can contain any number of such passes and each one can be rendered independentlywith possibly different outputs.Although it is not necessary to have multiple render passes (the simplest rendering setup containsonly one pass), having the possibility to use many such passes gives increased flexibility and enablesa better integration of rendering in the production pipeline. As an example, rendering passes couldbe used to:

• Have multiple rendering quality levels. It is usual to have a render pass with settings for a draftrender 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 layerwhich 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 outputsurface 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 renderpass 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’ createsa render pass with all available attributes. Selecting ‘Basic’ will create a render pass containingonly the more commonly used attributes. If render pass templates have been defined, they are alsolisted in this menu. Selecting a template will create a new render pass with identical settings as theones contained in the template. See Section 3.9.2.6 [Saving a Render Pass as a Template], page 52.

Figure 3.41: An empty Render PassAttributes can be added and removed by using the Add / Remove Attributes button. Left-Click

on this button brings up the Add / Remove Attributes Window , which is better suited for multiple

1 Although 3delight is able to output many variables in a single render using multiple displays as shownin Section 3.9.3.6 [Render Pass Displays], page 59.

Page 57: 3DelightForMaya-UserManual

Chapter 3: The User Interface 51

attribute addition or removal (see Section 3.4 [The Add / Remove Attributes Window], page 13).Right-Click on the Add / Remove Attributes button offers the same functionality through popupmenus, which are more convenient when only one attribtue or attribute group needs to be added orremoved.

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 definedthrough a connection on the child pass’ "parentRenderPass" message attribute. For example, thefollowing 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 renderpass that is being rendered, and will then search this pass’ parents for the attribute presence. If anattribute 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, thefollowing options are available:

The 3Delight menuA rendering can be launched by selected the desired render pass in the following Mayamenu:

3Delight -> Render -> Pass Name

The Render menu contains a list of all render passes defined in the scene. The firstone displayed is always the render pass that was most recently rendered.

The Render Pass Render ButtonWhen a render pass is displayed in the attribute editor , a rendering can be launchedsimply by clicking on the big Render Button displayed at the top of the attribute editor .

The Maya Render Current Frame ButtonThe Maya Render Current Frame Menu ItemThe Maya Batch Render Menu Item

If Maya’s current renderer setting is set to ‘3Delight’, selecting one of these optionswill 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 forrendering. Refer to Section 3.10 [The 3Delight Render Settings], page 89.

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

3Delight -> Select Render Pass -> Pass Name

The Select Render Pass menu lists all render passes defined in the scene. The first menu entryis 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.

Page 58: 3DelightForMaya-UserManual

Chapter 3: The User Interface 52

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 RenderPass 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 attributesas 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. Eachtemplate is saved in a separate file in a ‘3delight/templates’ folder, placed in the current projectdirectory. See Section 5.5.5 [Automatic File Output Control], page 136 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 aswell as animation rendering controls.

Figure 3.42: The Camera panel

‘Camera Name’This names the Maya camera that is used for this pass. At least one camera should bedefined in the scene. The default camera selected for rendering is perspShape.

‘Use Resolution From Render Globals’When this toggle is on, the "Resolution" and the "Pixel Aspect Ratio" attributes willbe assigned the same values as the ones set in Maya Render Globals. This toggle is onby default.

Page 59: 3DelightForMaya-UserManual

Chapter 3: The User Interface 53

‘Resolution’The final resolution of the rendered image. By default it is connected to the resolutionspecified 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. Ratiossmaller than 1 correspond to wide pixels, while ratios higher than 1 yield tall pixels. Bydefault, 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 54) is set to ‘Save RIB’ then RIBs foreach frame will be saved to disk. If the RIB filename remains the same from one frameto another, the data of the current frame is concatenated to the file. This toggle is offby default.

‘Frame Range’If the "Animation" toggle is on, specifies the range of frames to render (bounds areinclusive). The default range is [1..1].

‘Increment’Specifies the increment to use when going from one frame to the next in the framerange. For example, if the frame range is [1..6] and the increment is 2, only thefollowing frames will be rendered: 1, 3, 5, 6 (note that the first and last frame are notskipped). 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 cornerspecified by "Crop Max". Each corner is specified by a (x, y) coordinate defined in therange [0, 1], where 0 is left or top and 1 is right or bottom. Cropping will be performedonly 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 thescreen. By default, "Use Crop Window" is off, "Crop Min" is set to (0, 0) and "CropMax" is set to (1, 1).

‘Bucket Order’An image is rendered progressively in small groups of pixels called buckets. This optionallows you to specify in what order the buckets are rendered. Rendering will be morememory-efficient if a bucket order that minimizes the number of objects being renderedsimultaneously 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 rightto left on odd rows.

‘spiral’ The buckets are rendered in a clockwise spiral starting at the centre ofthe image.

Page 60: 3DelightForMaya-UserManual

Chapter 3: The User Interface 54

‘circle’ The buckets are rendered in concentric circles starting at the centre ofthe image.

The default bucket order is ‘horizontal’.

‘Use Imager Shader’Enables or disables the use of image shaders. Imager shaders can be attached to acamera via the Assignment Panel (see Section 3.2 [The Assignment Panel], page 9).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 laterrendering. In the direct rendering case, 3delight uses information described in the Displays panelto save or display the produced image. Refer to Section 3.9.3.6 [Render Pass Displays], page 59.

Figure 3.43: The Output panel

‘Render Mode’This option specify the kind of output to be produced when rendering this pass. Theavailable options are:

‘Render’ The renderer will produce the image as specified in the Displays section.Refer to Section 3.9.3.6 [Render Pass Displays], page 59 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 fora series of frame, the data of the current frame will be concatenated tothe existing file. See Section 5.5.4 [File Path Expressions], page 134 fordetails on how it is possible to construct relative paths and / or pathscontaining dynamically expanded tokens.

‘RIB Archive’The scene will be saved in a RIB archive that can be read later in otherrendering. If the "animation" toggle is on and the file name remainsthe same for a series of frame, the data of the current frame will beconcatenated to the existing file. Advanced options for RIB archives areavailable in the RIB Archives section. Refer to Section 3.9.3.10 [RenderPass RIB Archives], page 78 for more details on these options, or to theSection 5.3 [RIB Archives Guidelines], page 120 for examples on how to

Page 61: 3DelightForMaya-UserManual

Chapter 3: The User Interface 55

use this option. See also Section 5.5.4 [File Path Expressions], page 134for details on how it is possible to construct relative paths and / or pathscontaining dynamically expanded tokens.

‘Background Render’This mode will save the scene in RIB format and invoke ‘renderdl’ torender it as a background process once the RIB file is done. This meansthat once the RIB file is saved, Maya is responsive again and can be usedwhile the render completes. The output of the renderer is saved into a logfile named after the RIB file with a ‘.log’ extension. Note that the ‘mayarender view’ display driver cannot be used with the background rendermode.

The default render mode is ‘Render’.

‘RIB Filename’Specifies the filename of the RIB file to save. If this attribute is empty when a rendermode producing a RIB file is selected, a decent default name is automatically generated.Refer to Section 5.5.4 [File Path Expressions], page 134 for details about possibledynamically expanded tokens.

‘Binary Rib’When this options is on, the RIB file will be saved in binary format, producing a smallerfile. 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. Bydefault 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 availablecommand line options of the ‘renderdl’ command. Note that this attribute is not usedby the plugin from the 3Delight for Maya package.

‘Render Log’This attribute is only available when the "Render Mode" is set to ‘Background Render’.The file specified by this attribute will contain the various messages output by therendering command executed in background. Clicking on the view button will openthe log file using the application designated in the 3Delight Preferences Window ; referto Section 3.17 [The Preferences Window], page 103. Note that this attribute is notused by the plugin from the 3Delight for Maya package.

3.9.3.3 Quality

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

Page 62: 3DelightForMaya-UserManual

Chapter 3: The User Interface 56

Figure 3.44: The Quality panel

‘Pixel Samples’This option specifies in how many sub-samples each pixel will be subdivided. A draftquality 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. Thedefault value is 3x3.

‘Shading Rate’Controls how finely the geometry is tessellated prior to shading. 3delight adaptivelytessellates each primitive into very tiny elements called micro-polygons, those ele-ments are then shaded and sampled. Usually, the size of one such micro-polygon is onescreen pixel and this corresponds to a shading rate of 1.0. A shading rate of 4.0 willproduce micro-polygons that cover approximately an area of 2x2 pixels and a shadingrate of 0.5 will give two micro-polygons per pixel. It is recommended to leave thisparameter to its default value of 1.0 and reasons why not doing so are explained inChapter 5 [Rendering Guidelines], page 115.

‘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 benoted that there is no additional performance cost for using more “complicated” filtersinstead 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 thefiltering process. Note that enlarging some filters, such as the ‘gaussian’ or ‘box’ willblur the result and not increase the quality. Additionally, some filters do not workwell with small width values. This is the case of the ‘sinc’ filter for which it is notsuggested to specify values less than 4x4, which is the default value.

Page 63: 3DelightForMaya-UserManual

Chapter 3: The User Interface 57

Raytracing

Figure 3.45: The Raytracing Quality panel

‘Max Specular Depth’Sets an upper limit on how many reflections/refractions levels a ray-traced ray cantravel.

‘Max Diffuse Depth’Sets an upper limit on how many bounces an indirect ray can travel. Note that ifphoton maps are used, the "number of bounces" in the photon map tab will be usedinstead of this attribute.

‘Max Depth’Specifies maximum raytracing depth when using ray tracing. The default is only onebounce. Higher values lead to slower but more accurate results.

3.9.3.4 Depth of Field

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

‘Polygonal Aperture’Turning this attribute on allows customization of the aperture shape using the followingattributes. This attribute is off by default, which produces a perfectly round aperture.

‘Number of Blades’The aperture is shaped after a regular polygon; this attribute specifies how many sidesthis polygon has. This can also been seen as the number of blades of the diaphragm thatcontrols the aperture. The minimum number of blades is 3, which produces triangularout-of-focus highlights. This attribute is only available when the "Polygonal Aperture"attribute is turned on.

‘Rotation’ The angle of the rotation to apply on the aperture, in degrees. This attribute is onlyavailable when the "Polygonal Aperture" attribute is turned on.

3.9.3.5 Motion Blur

This section enables or disables rendering of motion blur in the entire scene. Note that motion blurcan also be controlled per object in the ‘Motion Blur’ panel as described in Section 3.5.8 [GeometryAttribute Node Motion Blur], page 23. The various "Samples" attributes have a default value of2, 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 ofthe camera or objects is far from linear (like a turning propeller for example). Higher sample valuesimply longer motion blur computation.

Page 64: 3DelightForMaya-UserManual

Chapter 3: The User Interface 58

Figure 3.46: The Motion Blur panel

‘Camera Blur’When this toggle is on, the movement of the camera is taken into account when com-puting 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 camerais sampled during the time interval that the shutter is opened.

‘Transformation Motion Blur’When this toggle is on, objects that have animated geometric transformation (transla-tion, rotation or scale) will be blurred. By default, this toggle is off.

‘Transformation Samples’This attribute specifies the number of times the transformation of the object is sampledduring the time interval that the shutter is opened.

‘Deformation Motion Blur’When this toggle is on, objects whose geometry is deforming (such as cloth simulationgeometry or animated fur) will be blurred. By default, this toggle is off. Deformationmotion blur should be enabled only when necessary since it has a higher memoryfootprint.

‘Deformation Samples’Specifies the number of times the geometry of the object is sampled for motion blurduring 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 frameof animation. The following values are available2:

2 These parameters will respect the value set for ‘Shutter Angle’ in Maya’s camera properties.

Page 65: 3DelightForMaya-UserManual

Chapter 3: The User Interface 59

‘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 theframe and closes half an interval afterward. This is the default.

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

‘Sample Motion Blur On Integer Frames’Normally, the scene is sampled for motion between frames, requiring objects to beproperly animated between frames. Turn this attribute on when the animation is onlydefined 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 setto ‘end on frame’ or ‘start on frame’, respectively. This attribute is off by default.

‘Shutter Efficiency’Sets how “efficient” the shutter of the camera is, at opening and closing times. ‘1.0’(the default) is maximum efficiency, meaning that the shutter of the camera opensand closes faster than speed of light, which is a non-natural shutter. Decreasing thosevalues, to ‘0.75’ say, will simulate slower opening camera shutter and produces softermotion blurs, closer to what is expected in real life cameras.

‘Shutter Angle Scale’A multiplier applied on the render camera’s "shutter angle". It can be used to increaseor decrease the motion blur effect without changing the camera’s attributes. Thisattribute is set to ‘1.0’ by default.

‘Sample Motion’Turn this attribute off to disable motion blur sampling while preserving dPdtime vec-tors. 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 andmotion blur. This will also render much slower, so leave this off unless it is absolutelyrequired. This attribute is off by default.

3.9.3.6 Displays

This section specifies what image will be output by the renderer. The image can either be saved toa 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. Forexample, 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).

Page 66: 3DelightForMaya-UserManual

Chapter 3: The User Interface 60

Figure 3.47: The Displays panelEach 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-clickingalmost everywhere in the Displays panel . This menu also offers options to expand or collapse alldisplay panels at once. To remove a display, click on its Remove Display button, which appears asa trashcan. To duplicate a display, right-click anywhere above the display to duplicate and selectDuplicate Display menu option.

At the top of the Displays panel are a few general controls, followed by a list of per-displaypanels. The general controls are:

‘Add Display’Clicking this button will add a new display attribute group at the bottom of the displayspanel.

‘Render Primary Display’Controls if the primary display is going to be rendered. The primary display is alwaysthe display at the top of the displays panel and this control is tied to the first display’sRender toggle. It can be useful to turn this option off when you need only need torender 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 overridethe 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 remainingdisplay 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 isconsidered the primary display, its Render toggle is tied to the Render Primary toggle.For other displays, their Render toggle is acknowledged only when Render Secondaryis turned on.

Page 67: 3DelightForMaya-UserManual

Chapter 3: The User Interface 61

‘Image Filename’This control specifies the file name of the rendered image. When using a framebufferdisplay driver, this specifies a window title. By default, a file name based on thescene name and render pass name is created. See Section 5.5.4 [File Path Expressions],page 134 for details on how it is possible to construct relative paths and / or pathscontaining 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 viewingapplication. See Section 3.17 [The Preferences Window], page 103 for details on howto 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 renderedimage will go. The following display drivers are available:

‘framebuffer’The rendered image is displayed in a basic window.

‘idisplay’ The rendered image is displayed in i-display.

‘maya_render_view’The rendered image is displayed in Maya’s Render View. Note that thisdisplay driver should not be used when rendering to a RIB file since itonly 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 8bits 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 openEXRlibraries, which are not included in the 3Delight package, must be in-stalled. This display driver only works in ‘16-bits float’ or ‘32-bitsfloat’; refer to [Bit Depth], page 65.

‘cineon’ The rendered image is output in a file in Cineon format. It is recom-mended to set the ‘Bit Depth’ to ‘32 bit float’. Refer to [Bit Depth],page 65.

‘zfile’ The rendered image will be a depth map file. It is recommended to setthe ‘Bit Depth’ to ‘32 bit float’. Refer to [Bit Depth], page 65. It isusually desirable to set the ‘Output Variable’ to ‘z’. Refer to [OutputVariable], page 62.

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

Page 68: 3DelightForMaya-UserManual

Chapter 3: The User Interface 62

‘radiance’ The rendered image is output in a file in Radiance. This display driveronly works in ‘32-bits float’; refer to [Bit Depth], page 65.

‘null’ The rendered image is discarded.

‘shadowmap’The rendered image will be a depth map in TIFF format, suitable to beused as a shadow map without the need of converting it with tdlmake. Itis recommended to set the "Bit Depth" to ‘32 bit float’. Refer to [BitDepth], page 65. It is usually desirable to set the "Output Variable" to‘z’. Refer to [Output Variable], page 62.

‘texture’ The rendered image will be a mipmap TIFF, suitable to be used as atexture map without the need of converting it with tdlmake.

‘dsm’ The rendered image will be a deep shadow map. The deep shadow mapdisplay driver has several restrictions: the "Bit Depth" attribute shouldbe 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 ‘1x 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 valuesare ‘rgba’ or ‘rgb’ for RGBA and RGB outputs respectively. You can specify hereany predefined output variable or arbitrary output variables that your shaders areusing. Inline declarations of arbitrary output variables are allowed, meaning that itis permitted to preceded a variable name with its type to declare it and specify it forthe display mode all at once. Right-clicking on the text field brings up a popup menuthat lists available predefined output variables. The available values that are relevantregardless of the shaders assigned of to scene elements are:

‘[user specified]’This item is selected when a custom variable name is typed in the textfield.

‘z [depth]’For a given pixel, this variable outputs the distance between the cameraand the object visible at this pixel. It is recommended to set the "BitDepth" to ‘32-bit float’; refer to [Bit Depth], page 65.

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

‘rgba [color + alpha]’This variable outputs the color and transparency information of the ren-dered image. This is also called a beauty render pass. This is the default.

Page 69: 3DelightForMaya-UserManual

Chapter 3: The User Interface 63

The following AOVs are defined for scene elements shaded using Maya’s Hypershade.Note that any AOV whose name contains "no shadow" involves extra shading compu-tation and will make the scene longer to render. The available AOVs are:

‘ambient’ This variable outputs the ambient shading component of the renderedimage, producing an ambient render pass RGB image.

‘diffuse’ This variable outputs the diffuse shading component of the rendered im-age, producing a RGB image similar to a Maya Render Layer configuredto output a diffuse render pass.

‘specular’ This variable outputs the specular shading component of the renderedimage, producing a RGB image similar to a Maya Render Layer configuredto output a specular render pass.

‘reflection’This variable outputs the reflection shading component of the renderedimage, producing a reflection render pass RGB image.

‘refraction’This variable outputs the refraction shading component of the renderedimage, producing a refraction render pass RGB image.

‘shadow’ This variable outputs the shadow intensity in the alpa component of aRGBA image, in a similar fashion to a Maya Render Layer configuredto output a shadow render pass. Note that in addition to objects beingshaded with Maya’s Hypershade, the light sources must also be shadedwith Maya’s Hypershade for this output variable to work properly (putdifferently, the light must not have a RenderMan shader attached to it).

‘incandescence’This variable outputs the incandescence shading component of the ren-dered image, producing a incandescence render pass RGB image.

‘translucence’This variable outputs the translucence shading component of the renderedimage, producing a translucence render pass RGB image.

‘diffuse no shadow’This variable outputs the diffuse color shading component of the renderedimage, unattenuated by any shadows. The result is identical to whatis produced by the ‘diffuse’ AOV when light sources do not cast anyshadows.

‘diffuse intensity’This variable outputs a grayscale image representing the intensity of thediffuse shading component.

‘diffuse intensity no shadow’This variable outputs a grayscale image representing the intensity of thediffuse shading component without any attenuation made by shadows. Ifthere 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, butwill only take into account light sources that have a ‘key light’ attributeset to true. Refer to the [key light attribute], page 47.

Page 70: 3DelightForMaya-UserManual

Chapter 3: The User Interface 64

‘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 towhat is produced by ‘key lights diffuse intensity’ AOV. Refer to the[key light attribute], page 47.

‘luminance depth’This variable produces an grayscale image based on the distance betweenthe camera and the objects; objects closest to the camera’s near clippingplane will appear white while objects closest to the camera’s far clippingplane will appear black. It is recommended to adjust the camera’s clippingplane 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 com-ponent without taking any shadowing into account. If there are no lightscasting 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 specularshading component.

‘specular intensity no shadow’This variable outputs a grayscale image of the intensity of the specularshading component, without taking into account any shadows. If thereare no lights that cast shadows, the output will be identical to what isproduced by the ‘specular intensity’ AOV.

‘key lights specular intensity’This AOV produces a grayscale image of the intensity of the specularshading component, taking into account only light sources that have a ‘keylight’ attribute set to true. Refer to the [key light attribute], page 47.

‘key lights specular intensity no shadow’This variable outputs a grayscale image of the intensity of the specularshading component, taking into account only the light source that have a‘key light’ attribute set to true. Any shadows cast by these key lightswill be ignored. If the key lights do not cast any shadows, the imageproduced will be identical to the one output by the ‘key lights specularintensity’ AOV. Refer to the [key light attribute], page 47.

‘color no shadow’This AOV will produce an image similar to the ‘color’ AOV, but anyshadows are ignored.

‘raytraced reflection’This variable outputs what appears in reflections due to raytraced raysthat hit surrounding objects.

‘environment reflection’This variable outputs what appears in reflections when raytraced rays hitnothing (i.e. what is controlled by the "reflected color" attribute of theshader). This variable also contains the environment reflections producedby the ‘Fast Image Based Lighting’ and ‘Full Global Illumination’effects of the render pass. See [Global Illumination Effect], page 71.

Page 71: 3DelightForMaya-UserManual

Chapter 3: The User Interface 65

‘surface color’This variable outputs the base surface color without taking any illumi-nation, 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 therender pass (see [Global Illumination Effect], page 71). 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 forthe ‘samplerInfo’ node’s ‘facingRatio’ output plug.

‘global illumination’This variable contains the mixed colors of the various diffuse effectscomputed by the "Global Illumination" render pass attributes. SeeSection 3.9.3.8 [Render Pass Global Illumination], page 71.

‘indirect diffuse’This variable contains the color bleeding component computed by the‘Full Global Illumination’ effect of the render pass. See [Global Illu-mination Effect], page 71.

‘environment diffuse’This variable contains the environment diffuse effect computed by eitherthe ‘Fast Image Based Lighting’ or the ‘Full Global Illumination’ ef-fects of the render pass (see [Global Illumination Effect], page 71).

‘environment specular’This variable contains the environment specular effects (reflections andrefractions) computed by either the ‘Fast Image Based Lighting’ or the‘Full Global Illumination’ effects of the render pass (see [Global Illu-mination Effect], page 71).

‘Bit Depth’This option menu specifies how many bits to use per color component. The availablevalues are:

‘8 bit integer’The image will use 8 bits integer values for each component, with valuesdefined between 0 (black) and 255 (white). This corresponds to a quan-tization of 0, 255, 0, 255 for zero, one, min and max, respectively, and adither value of 0.5. This is the default value.

‘16 bit integer’The image will use 16 bits integer values for each component, with valuesdefined between 0 (black) and 65535 (white). This corresponds to a quan-tization of 0, 65535, 0, 65535 for zero, one, min and max, respectively,and a dither value of 0.5.

‘16 bit float’The image will use 16 bits float values for each color component. Cur-rently, only the ‘exr’ display driver supports this format. This corre-

Page 72: 3DelightForMaya-UserManual

Chapter 3: The User Interface 66

sponds to a quantization of 0, 0, 0, 0, and a dither value of 0 (identicalto ‘32 bit float’); the display driver receives a pixel type specificationthrough an option.

‘32 bit float’The image will use 32 bits float values for each color component. Thiscorresponds 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. Quantizationis the process of assigning integer values to these floating-point values.Some usual preset values are available in the "Bit Depth" attribute. Ifthey do not include the needed variation, it is possible to specify customquantization values by selecting this menu entry. Upon selection, a dialogpops up. It allows specification of values for zero, one, min, max anddither 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 youneed to have under-exposed or over-exposed values. An example set ofvalues 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 pointat 4K that prevents over-exposed pixels from being clamped to the whitevalue, would be: 0, 4095, 0, 65535, 0.5

‘Other Custom entries’The option menu will also list all custom bit depths defined for all of thecurrent render pass’ displays.

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

Page 73: 3DelightForMaya-UserManual

Chapter 3: The User Interface 67

Advanced

Figure 3.48: The Advanced Displays panelThe 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 downwhat objects will appear in the display. Set selection is made using the 3Delight SetSelector window which is invoked by clicking on the Sets... button. The "DisplaySubset" option menu specify how the selected sets will be interpreted and has thefollowing values available:

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

‘Objects in selected sets’Only visible objects in the selected Maya sets will appear in the display.

‘Objects not in selected sets’Only visible objects that are not in the selected Maya sets will appear inthe display. Put differently, all objects in the selected sets will be excludedfrom 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", goesthrough 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 [RenderPass Quality], page 55 section of the render pass. When this toggle is on, these valuesare overridden with the values specified in the following two attributes:

Page 74: 3DelightForMaya-UserManual

Chapter 3: The User Interface 68

‘Pixel Filter’‘Filter Width’

These two attributes are identical to the "Pixel Filter" and "Pixel Filter Width" inSection 3.9.3.3 [Render Pass Quality], page 55.

‘Use Matte Attribute’When this toggle is off, and if the display’s output variable (see [Output Variable],page 62) is set to an arbitrary output variable, any matte attribute set on objects willbe ignored. This toggle is on by default. Refer to [Geometry Attribute Matte Object],page 20.

‘Exclusive Output’When this toggle is off, and if the display’s output variable (see [Output Variable],page 62) is set to an arbitrary output variable, objects that do not output that variablewill be black. Turning this option on will make these objects transparent. This toggleis off by default.

‘Associate Alpha’When this toggle is off, the color of a pixel is divided by the alpha to produce an imagewith 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 62) is an AOV, an alpha channel is added to the AOV. It is computed based onthe 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 68).

Edge Detection

Figure 3.49: The Edge Detection Panel3DFM 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 polygonmeshes; see [Polygons Wireframe], page 29.

Page 75: 3DelightForMaya-UserManual

Chapter 3: The User Interface 69

‘Enable’ This attribute enables edge detection for this particular display. it is set to off bydefault.

‘Detected Variables’This attribute specifies on what variables the edge detection (outlining) will run. Sev-eral variables can be specified, separated by a coma. For example, setting this attributeto ‘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 thresholdthe 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’ bydefault.

‘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 isrecommended to raise the "Pixel Samples" attribute (see [Pixel Samples], page 56) inorder to avoid anti-aliasing of the outlines.

Next to this attribute, there is an option menu to determine how this width should beinterpreted. 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 thisattribute. Its default value is ‘1.0’.

3.9.3.7 Shadow Maps

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

Page 76: 3DelightForMaya-UserManual

Chapter 3: The User Interface 70

Figure 3.50: The Shadow Maps panel

‘Render Shadow Maps’This attribute controls wether the shadow maps will be rendered or not. Its defaultvalue is on.

‘Use Displacement Shaders in Shadows’This attribute controls if the displacement shaders are used in the shadow maps ren-dering. By default this toggle is on. Note that turning this toggle off might speedup shadow map rendering but produce incorrect shadows depending on how much thegeometry is displaced.

‘Use Surface Shaders in Shadows’This attribute controls if the surface shaders are used in the shadow maps rendering.By default this toggle is off. It is recommended to turn on this attribute only if somesurface 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 ren-dering, and it is off by default. It is recommended to turn this option on only if deepshadow maps are rendered.

‘Use Interior Shaders In Shadows’This attribute controls if the atmosphere shaders are used in the shadow maps ren-dering, and it is off by default. It is recommended to turn this option on only if deepshadow maps are rendered.

‘Z Threshold’Only objects with opacities greater than or equal to the ‘Z Threshold’ will appear inshadow maps. The default value is [1.0, 1.0, 1.0] which means that only completelyopaque objects are rendered into shadow maps. If this value is set to [0.0, 0.0, 0.0] allobjects will be included in the shadow map, even completely transparent ones. Notethat this parameter is only useful for depth shadow maps as deep shadow maps correctlyhandle semi-opaque surfaces. For users familiar with the RenderMan standard, this isthe equivalent of the following RiOption:

Option "limits" "zthreshold" [r g b]

Page 77: 3DelightForMaya-UserManual

Chapter 3: The User Interface 71

‘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 effecton 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 usethe ‘shadowmap’ display driver, no shadow maps will be affected by this attribute. Theavailable 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 gettingrid of the self-shadowing problems.

‘Volume Interpretation’This attribute will affect only deep shadow maps rendered in one of the displays ofthe render pass node. Deep shadow maps defined in light attributes nodes will not beaffected by this parameter. The available values are:

‘Discrete’ This value should be used to compute shadows cast by solid objects.

‘Continuous’This value should be preferred for computing shadows cast by participat-ing media (fog, clouds, smoke, etc.)

‘Distance Inside’

3.9.3.8 Global Illumination

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

Figure 3.51: The Global Illumination section

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

‘None’ No global illumination effect is rendered.

‘Occlusion’Renders ambient occlusion. The effect can be adjusted using the at-tributes in the “Occlusion and Color Bleeding” section. The occlusion

Page 78: 3DelightForMaya-UserManual

Chapter 3: The User Interface 72

effect is rendered to ‘occlusion’ output variable (see [Occlusion OutputVariable], page 65), where unoccluded portions of the images are ren-dered as the color specified by "white point" and fully occluded portionsare rendered as the "black point" color.

‘Fast Image Based Lighting’Renders the scene with an environment lighting. The attributes listed inthe “Environment” section can be used to adjust the effect. The environ-ment lighting is rendered to ‘environment diffuse’ and ‘environmentspecular’ output variables (see [Environment Diffuse Output Variable],page 65 and [Environment Reflection Output Variable], page 64, respec-tively). The environment lighting will not cast directional shadows. Torender an image based lighting effect with directional shadows, the ‘FullGlobal Illumination’ effect should be chosen instead. The sepcular ef-fects can be further refined by adding some of the "3Delight ShadingAttributes" on the desired surface shaders (see Section 3.7 [The ShadingAttributes], page 41). The environment specular effects will not be seenif "Specularity" in the “Environment”section is set to 0.

‘Full Global Illumination’Renders a combination of the ‘Occlusion’ and ‘Fast Image BasedLighting’ effects, plus a color bleeding effect. Multi-bounce colorbleeding will automatically be computed if the "Render Photon Maps" isset to ‘Always’ or ‘Automatic’ (see [Render Photon Maps], page 75) andthe "Number of Photons" is not null. The occlusion effect is rendered to‘occlusion’ output variable (see [Occlusion Output Variable], page 65).Environment lighting is rendered to the ‘environment diffuse’ and‘environment specular’ output variables (see [Environment DiffuseOutput Variable], page 65 and [Environment Reflection OutputVariable], page 64, respectively). The color bleeding effect is renderedto the ‘indirect diffuse’ output variable (see [Indirect Diffuse OutputVariable], page 65).

‘Point-Based Full Global Illumination’Renders global illumination using point-based color bleeding algorithm.Multi-bounce color bleeding will automatically be computed if the "Ren-der Photon Maps" is set to ‘Always’ or ‘Automatic’ (see [Render PhotonMaps], page 75) and the "Number of Photons" is not null. The colorbleeding effect is rendered to the ‘indirect diffuse’ output variable (see[Indirect Diffuse Output Variable], page 65).

‘Add To Final Mix’When enabled, will add all of the computed components (occlusion, environment dif-fuse, color bleeding) to the final image. If unchecked, the beauty render will not containany global illumination color so that only the output variables will contain the differentelements; this is more useful in a layer-based pipeline.

Page 79: 3DelightForMaya-UserManual

Chapter 3: The User Interface 73

Occlusion and Color Bleeding

Figure 3.52: The Global Illumination section

‘Color Bleeding Intensity’A multiplier for the color bleeding effect. This attribute is available only when theselected global illumination "effect" is ‘Full Global Illumination’. The color bleed-ing effect is output to the ‘indirect diffuse’ output variable (see [Indirect DiffuseOutput Variable], page 65). Setting this attribute to 0 will produce an image basedlighting effect.

‘Cast Shadows From Environment’When this attribute is on, the occlusion effect will produce directional shadows basedon the environment map being used as a light. Turning this attribute off will producethe same occlusion effect as if no environment map used for image based lighting.This attribute is available only when the selected global illumination "effect" is ‘FullGlobal Illumination’.

‘Black Point’‘White Point’

These two attributes affect the occlusion computed when "effect" is set to ‘Occlusion’or ‘Full Global Illumination’. Shadows can be made lighter by setting "black point"to a lighter shade of gray. Unshadowed regions can be made darker by setting "whitepoint" 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 nogeometry, 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 colorbleeding effects. Higher values produce smoother results and are slower to compute.This attribute is availalbe only when "effect" is set to ‘Occlusion’ or ‘Full GlobalIllumination’.

Page 80: 3DelightForMaya-UserManual

Chapter 3: The User Interface 74

‘Max Distance’Specifies the distance after which ray intersection won’t be counted. Reducing thisdistance 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 anexponential 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 morecontrasty effects. This attribute is availalbe only when "effect" is set to ‘Occlusion’or ‘Full Global Illumination’.

Environment

Figure 3.53: The Environment section

‘Use Coordinate System’The coordinate system to use for the currently selected effect. One can click on the smallchecker on the right side to create such an environment system. The environment mapto be used should then be set in this coordinate system node. See [Global IlluminationEffect], page 71 for details about the effect of the environment map for each globalillumination effect.

‘Use As Background’Turning on this attribute will put the texture specified in the coordinate system as abackground plate. This attribute is available only if "use coordinate system" is not setto ‘<None>’.

‘Intensity’The environment intensity. This attribute affects the intensity of the environmentdiffuse effect, environment specular effects and the background (when "Use As Back-ground" is enabled). This attribute is available only if "use coordinate system" is notset to ‘<None>’ and only for the ‘Fast Image Based’ and ‘Full Global Illumination’effects.

‘Specularity’This atribute controls the amount of environment specular highlights, reflections andrefractions generated. This attribute is available only if "use coordinate system" is not

Page 81: 3DelightForMaya-UserManual

Chapter 3: The User Interface 75

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 onlyif "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 "usecoordinate system" is not set to ‘<None>’ and only for the ‘Fast Image Based’ and‘Full Global Illumination’ effects.

Photon Maps

Figure 3.54: The Photon Maps section

‘Render Photon Maps’This attribute controls if photon maps are rendered. Possible values are:

‘Never’ No photon maps are rendered.

‘Always’ Photon maps are always rendered.

‘Automatic’Photon Maps are automatically rendered only when [Global IlluminationEffect], page 71 is set to ‘Full Global Illumination’.

When the global illumination "effect" is set to ‘Full Global Illumination’, settingthis attribute to ‘Always’ or ‘Automatic’ will automatically enable multi-bounce colorbleeding. Light sources that must not cast photons should have a light attribute nodewhose "Emit Photon" attribute has been turned off (see Section 3.8.4 [Light AttributeNode Photon Maps], page 47). "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 thespeicifed files. These files can then be reused in subsequent renderings by specifyingthe file paths in "Global Photon Mpas" and / or "Caustic Photon Maps" and setting"Render Photon Maps" to ‘Never’.

Page 82: 3DelightForMaya-UserManual

Chapter 3: The User Interface 76

‘Number Of Photons’Specifies the total number of photons that will be used in the light simulation. Usingmore photons gives more precise results, but is longer to compute.

‘Number Of Bounces’Specifies the total number of diffuse photon bounces.

‘Global Photon Map’‘Caustic Photon Map’

These two attributes specifies a global photon map, for effects such as final gathering,and a caustic photon maps. 3DFM uses the one pass technique to compute photonmaps (maps are not saved to disk), so these two names are needed only for shaderswhen calling the photonmap() and caustic() shadeops. One could enter ‘global’ and‘caustic’ in those fields. By default, these two attributes are empty.

Point Cloud

Figure 3.55: The Point Cloud section

‘Bake Camera’Specifies a different camera to be used for the pointcloud generation. Usually, a camerathat has a better view of the whole scene is selected for this. By default, the viewingcamera is used.

‘File’ Specifies where the scene point cloud file is to be stored.

‘Write Mode’This attribute controls in what circumstances the point cloud file is rendered.

‘Reuse existing point cloud’If the point cloud file specified above does not exists, it will be rendered.If the file already exists, it is assumed to be correct and will not beregenerated. Enabling this option will make subsequent re-renderingsfaster since the point cloud file will be computed only once.

‘Overwrite existing point cloud’Point cloud file is always rendered. This is the default.

‘Shading Rate Multiplier’This controls the shading rate (see [Shading Rate], page 56) during point-cloud gener-ation. The higher the shading rate the smaller is the pointcloud. Smaller point-clouds

Page 83: 3DelightForMaya-UserManual

Chapter 3: The User Interface 77

will render faster but will give less accurate results during the main render. Commonvalues vary between 0.5 and 16.

‘Max Solid Angle’This is a quality vs. speed knob for the point-based occlusion and affects the mainrendering (not the point-cloud generation). The higher the value the coarser is theapproximation and the faster is the render. Values larger than 0.2 tend to give verynoticeable artifacts.

‘Bias’ This attribute is similar to [Raytrace Bias], page 22, but is used for point-based oper-ations. Its value may be adjusted to remove dark patches on objects.

3.9.3.9 Render Sets

A particular render can include only a subset of the scene’s objects, lights and clipping planes. Acommon 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 regardlessof the "Render Mode" selected (see [Render Mode], page 54). Only the scene elements that are partof the selected sets will end up being output to an image, to a RIB file or to a RIB archive.

Figure 3.56: The Render Sets panel

‘Shader Collection’Use this attribute to specify what shader collection to use for this render pass. By de-fault, this attribute is set to ‘<none>’. Refer to Section 5.1 [Understanding Collections],page 115 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 visibleobjects’.

‘Lights to Render’This attribute specifies which Maya set to look for the lights to use for this render. Bydefault, 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 thisrender. By default, this attribute is set to ‘<all visible clipping planes>’.

‘Layer To Render’This attribute specifies which Maya render layer to use for rendering. Selecting arender layer here has an effect on all of "Objects to Render", "Lights to Render"and "Clipping Planes to Render" attributes. The scene elements ultimately renderedare the result of the union of the selected render layer and the Maya set selected in

Page 84: 3DelightForMaya-UserManual

Chapter 3: The User Interface 78

the aforementioned attributes. Put differently, in order to be rendered, a given sceneelement must be a member of both the selected Maya render layer and the selectedMaya set. By default, this attribute is set to ‘<current>’, so the rendered layer will bewhichever one is currently selected in Maya. When using the batch render or commandline rendering, leaving this attribute set to ‘<current>’ will render all renderable layers.

3.9.3.10 RIB Archives

This section contains additional options to fine tune the output of RIB archives. Refer to theSection 5.3 [RIB Archives Guidelines], page 120 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 ‘RIBArchive’. Refer to [Render Mode], page 54.

Figure 3.57: The RIB Archives panel

‘Archive Lighting’This attribute will specify how lighting information is output in the RIB archive file.The following options are available:

‘No Lighting’No lighting information will be written in the RIB archive file. This optionis 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 tothe 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, butnot the light sources themselves. This setting allows light sources param-eters (such as position, intensity, light color, etc.) to be changed after theRIB archive file has been written and still see these changes reflected inthe archive content. However, the light source names must remain un-changed in the scene where the RIB archive is read back. If a RIB archivenode is used to read the archive file back in a scene, it should be linked toall of the light sources whose light linking information is archived to al-low proper handling of the light linking information the archive contains.Refer to Section 3.11 [The RIB Archive Node], page 91.

Page 85: 3DelightForMaya-UserManual

Chapter 3: The User Interface 79

‘Light Sources & Light Linking’The light sources and light linking information is stored in the RIB archivefile. 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 archivefile specified in the "RIB filename" attribute (see Section 3.9.3.2 [RenderPass Output], page 54). If the file exists, the only things done for eachframe is to execute the "Pre Frame MEL" and the "Post Frame MEL"scripts. Refer to Section 3.9.3.14 [Render Pass MEL Scripts], page 83.

‘Overwrite existing archive’When this value is selected, the file specified in the "RIB filename" at-tribute (see [Render Mode], page 54) will be overwritten every time arendering is requested.

‘Generate RIB Archives3’When this attribute is on and the "Objects to Render" attribute in the Render Setssection (see Section 3.9.3.9 [Render Pass Render Sets], page 77) contains a RIB archivenode that can be written, that node will be rendered automatically before this renderpass node is rendered. Note that only the frames specified in this render pass’ Camerasection (see Section 3.9.3.1 [Render Pass Camera], page 52) will be rendered for theRIB archive nodes. Refer to Section 3.11 [The RIB Archive Node], page 91. When thisoption is off, it will be assumed that the required RIB archive file have been createdpreviously. By default, this attribute is on.

‘Ignore Archived Objects4’If this attribute is on, the objects defined in the Render Sets section of all RIB archivenodes that are in this render pass’ render sets will be removed from the list of objectsto render, leaving only the archive to be read. Turn this option off if you want to seeboth the objects and the archive that they are contained in. By default this option ison.

The following options are only available if the render pass "Render Mode" is set to ‘RIB Archive’(see [Render Mode], page 54):

‘Archive Transforms’This attribute controls whether the object transforms are output to the RIB archive ornot. It is on by default.

‘Concatenate Geo Transforms’If this attribute is on, the transforms for geometric objects are output as relativetransforms. Turn this option off to output absolute transforms, in which case thearchived objects will always be positioned at their archived position, regardless of theplacement of the RIB archive node used to read the archive back in a scene. This optionis 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

3 Not available in the 3Delight for Maya package.4 Not available in the 3Delight for Maya package.

Page 86: 3DelightForMaya-UserManual

Chapter 3: The User Interface 80

sources will always be positioned at their archived position, regardless of the placementof the RIB archive node used to read the archive back in a scene. This option is on bydefault.

‘Archive Geometry Shaders’When this attribute is on, the shaders of geometric objects are archived. This optionis on by default.

‘Archive Geometry Attributes’When this attribute is on, the attributes specified in a geometry attribute node attachedto any archived object will be output in the RIB archive file. Turn it off to avoidoutputting these attributes in the archive. This option is on by default.

3.9.3.11 RIB Fragments

RIB Fragments are used to store in files the geometry data produced right before every rendering.A RIB Fragment file contains the geometry of all objects in the fragment’s associated object set.Once the fragment file is written, subsequent renderings can simply assume that the objects in thefragment’s set have already been processed and skip several of the steps that occur before the actualimage 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 multipleframes, 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; seeSection 3.11 [The RIB Archive Node], page 91.

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

Figure 3.58: The RIB Fragments panelEach 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

Page 87: 3DelightForMaya-UserManual

Chapter 3: The User Interface 81

right-clicking almost everywhere in the RIB Fragments panel . This menu also offers options toexpand 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 smallerfile. 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. Bydefault 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 fragmentfile specified in the fragment’s "Filename" attribute. If the file exists,then the fragment file is assumed to be up to date, and that completesthe geometry output for this fragment. If the file does not exist, it willbe created unless the fragment’s "Write" attribute is turned off.

‘Overwrite existing fragments’When this value is selected, the file specified in the fragment’s "Filename"attribute will be overwritten every time a rendering is requested, unlessthe 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 ispossible to change all fragments’ "Use" attribute at once using the contextual popupmenu’s ‘Use All’ and ‘Use None’ menu options.

‘Write’ Controls if the fragment file can be written. The condition in which a fragment file iswritten is determined by the "Write Mode" (see [RIB fragments write mode], page 81).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 fragmentfrom the render pass.

‘Filename’ The path of the file that will contain this fragment’s objects geometric data. If the pathis relative, it is assumed to be relative to the 3Delight RIB Fragments project path(see Section 5.5.5 [Automatic File Output Control], page 136). When these objects areanimated, it is recommended to add the frame number to the filename; see Section 5.5.4[File Path Expressions], page 134 for details.

Page 88: 3DelightForMaya-UserManual

Chapter 3: The User Interface 82

‘Browse for RIB File button’This button, drawn as a folder, brings up a file browser to specify a RIB filename.

‘View RIB button’This button, drawn as a magnifying glass, will open the fragment’s RIB file in a viewingapplication. See Section 3.17 [The Preferences Window], page 103 for details on howto specify which application should be launched.

‘Object Set’This attribute specifies which objects are contained in the fragment’s file. If an objectis set to be in several fragments, only the fragment closest to the top of the fragmentlist 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 afragment above this one.

3.9.3.12 RI Filter Plug-ins

This section

3.9.3.13 Search Paths

This section specifies the search paths 3delight will use when looking for various resources. Asearch 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:• 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 moreinformation about both configuration file and default environment variables). Environmentvariables 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.59: The Search Paths panel

‘Shader Path’‘Texture Path’‘Procedural Path’‘Archive Path’

Specifies search paths for shaders, textures, procedurals and archives, respectively. Bydefault, all these attributes are set to ‘@’, which is the default path specified by theDL_*_PATH variables.

Page 89: 3DelightForMaya-UserManual

Chapter 3: The User Interface 83

3.9.3.14 MEL Scripts

3Delight For Maya gives you the ability to execute MEL scripts at certain locations during therendering. 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 becomespossible to insert RenderMan commands anywhere during rendering (see Chapter 6 [MEL Binding],page 140). This is the equivalent of “RIB Boxes” in other packages but with the added flexibilityof a scripting language. In addition to the MEL scripts listed here, there are others available ingeometry attribute nodes (see Section 3.5 [The Geometry Attribute Node], page 15) and in the lightattribute nodes (see Section 3.8.8 [Light Attribute Node MEL Scripts], page 48).

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.

Figure 3.60: The MEL Scripts panel

‘Pre Render MEL’‘Post Render MEL’

Specify scripts to run before and after the rendering is finished, respectively. Thosescripts are guaranteed to run first and last. They are also executed outside of anyRiBegin/RiEnd block, so these scripts are not appropriate for invoking RenderMancommands.

‘Pre Frame MEL’‘Post Frame MEL’

Specify scripts to run before and after each frame, respectively. These two scriptsare the very first and last things executed for each frame; they are called even beforeand after the RiBegin/RiEnd block, so these scripts are not appropriate for invokingRenderMan commands.

‘Post Option MEL’Specifies a script to execute after all RenderMan options have been issued, but beforethe camera transforms. This can be used to override any option.

Page 90: 3DelightForMaya-UserManual

Chapter 3: The User Interface 84

‘Pre World MEL’Specifies a script to execute just before RiWorldBegin which is also right after wherethe camera transforms are issued.

‘Post World MEL’Specifies a script to execute right after RiWorldEnd (but before RiFrameEnd).

3.9.3.15 Advanced

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

Figure 3.61: The Advanced panel

‘Hider’ This attribute specifies the type of hidden surface algorithm used. The available optionsare:

‘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 writ-ten, regardless of the value of the "Write Photon Maps" attribute. The"Number of Photons" attribute must be set to a value greater than 0. seeSection 3.9.3.8 [Render Pass Global Illumination], page 71.

‘progressive rayrace’The raytrace hider will be used, and the rendering is quickly displayed asa complete but coarse image which is progressively refined. Effective only

Page 91: 3DelightForMaya-UserManual

Chapter 3: The User Interface 85

when one of the displays is using the ‘framebuffer’, ‘maya_render_view’or ‘i-display’display driver.

‘Bucket Size’3delight renders the image in small regions called “buckets”. This parameter, ex-pressed in pixels, controls the size of those regions. The default size is 16 x 16, whichusually is the best balance between memory usage and performance.

‘Grid Size’3delight splits the geometry into grids of micro-polygons. This parameter, expressedin number of micro-polygons, controls the size of each grids. The default grid size is256.

‘Texture Memory’3delight manages a cache that holds texture data. This parameter controls the sizeof 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”. Amore 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. Thisgives the opportunity to 3delight to cull more geometry in very dense regions (suchas patches of fur). The default value of (0.996, 0.996, 0.996) is a good quality vs.performance trade-off.

‘Z Threshold’Controls the opacity value of the objects used for the Z output. Only objects withopacities greater than or equal to the ‘Z Threshold’ will be used in the Z output. Themain reason to modify the default value of [0.996, 0.996, 0.996] is when using the ‘zmin’or ‘zmax’ pixel filters with transparent or semi-opaque objects. If this value is set to[0.0, 0.0, 0.0] all objects will be included in the Z output, even completely transparentones. Note that changing the Z ouptput can affect some raytracing operations. Forusers familiar with the RenderMan standard, this is the equivalent of the followingRiOption:

Option "limits" "zthreshold" [r g b]

‘Number Of CPUs’Sets the number of threads to use for this render. If set to ‘0’, the renderer will use allprocessors available. This is the default.

‘Translate Maya Shaders’This toggle controls if the translation from Maya’s HyperShade shaders to RenderManshaders occurs. When turned off, the translation process is skipped but the renderermight still look for the translated shaders, depending on the value of the "Use MayaShader" attribute. By default, this attribute is on.

‘Use Maya Shaders’This toggle controls if the renderer will look for translated Maya shaders or not. Bydefault, this attribute is on.

‘Translate Maya Shaders With’This attribute controls which AOVs will be computed in translated Maya shaders. Theavailable options are:

Page 92: 3DelightForMaya-UserManual

Chapter 3: The User Interface 86

‘Default AOVs for Render Mode’When the "Render Mode" is set to "Render", only the AOVs defined inthe "displays" section of the render pass will be computed. If the "RenderMode" is set to ‘RIB Archive’, all predefined AOVs will be computed inthe 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 willbe computed in translated shaders.

‘All AOVs’ All predefined and displayed AOVs will be computed in the translatedshaders. While more flexible, this can result in slightly slower renderingtimes as the rendered needs to verify if each one of the AOV is beingdisplayed before it is computed.

‘Standard Atmosphere’This toggle controls which algorithm is used for volume (interior and atmosphere)shaders. When this attribute is on, the traditional algorithm is used, which can beslower and has problems with transparent surfaces. When off, an alternate algorithmis used that deals better with these issues. Note that the volume shader needs to bewritten appropriately to work correctly when this attribute is off. If a volume shaderis not rendering properly, it may render correctly with this attribute turned on. Pleaserefer 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 toatmosphere shaders if the "standardatmosphere" option is set to 0. The default voumeshading rate is 1.0.

3.9.3.16 Network Cache

Figure 3.62: The Network Cache panel3delight has a unique feature that improves performance when rendering over networked en-

vironments5: the renderer can cache textures that are located on the network to the local harddrive for faster data access and saving network bandwith. The network cache content is updatedautomatically - when files are modified on the file server, the local (cached) copies will automaticallybe updated the first time they are needed for a rendering.

‘Use Net Cache’A toggle enabling or disabling the network cache. By default, this toggle is off.

5 Not included in the 3Delight for Maya package

Page 93: 3DelightForMaya-UserManual

Chapter 3: The User Interface 87

‘Net Cache Dir’Specifies the directory in which files will be cached. This directory should be localto the machine that performs the render. A common choice is ‘/tmp/3delight’. Bydefault, this attribute is empty.

‘Net Cache Size’Specifies the maximum size of the cache, in megabytes. The default size is 200 MB.When the net cache attains that size, accessing a uncached file will automaticallydiscard the least recently accessed file in the cache. Since textures, shadow maps andRIB files will be cached, the cache can fill up rapidly. The network cache will only usedisk space up to the size specified.

3.9.3.17 Statistics

Figure 3.63: The Statistics Panel3delight 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 standarderror (stderr). This attribute is off by default.

‘Statistics Level’Specifies statistics’ verbosity: ‘0’ gives no statistics and ‘3’ provides all the availablestatistics. The default level is ‘0’.

‘Statistics File’When specified, will contain the statistics output in text format. Note that if you arerendering to a TIFF, you can provide the name of that file to contain statistics6! Thisis very useful since it keeps statistics bound to their rendered image. By default, thisattribute is empty.

3.9.3.18 User Options and Attributes

In a similar fashion to how extra attributes on geometry attribute nodes are handled (seeSection 3.5.17 [Geometry Attribute Node User Attributes], page 39), it is possible to define customattributes on a Render Pass node that are output as either user RiOption or user RiAttribute.Each Render Pass node can define as many arbitrary user attributes as needed. 3Delight for Mayawill look for attributes whose name begin with "attribute user " and will produce them as userRiAttributes. To define user RiOptions, the attribute name should begin with "option user " Forinstance, a ‘color float3’ attribute named ‘attribute_user_colorMultiplier’ will produce aRiAttribute ‘colorMultiplier’. The supported attribute types are:

• string

6 Statistics will be written as a TIFF tag.

Page 94: 3DelightForMaya-UserManual

Chapter 3: The User Interface 88

• bool• long, long2, long3• float, float2, float3 (color or non-color)• double, double2, double3

Page 95: 3DelightForMaya-UserManual

Chapter 3: The User Interface 89

3.10 The 3Delight Render Settings

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

Since all rendering options are inside render pass nodes, the render settings offer a few gadgetsto select which render pass will be used when a rendering is launched. The attributes of the selectedrender pass are displayed right after, just like they are in the Attribute Editor . Refer to Section 3.9.3[Render Pass Attributes], page 52 for details about these attributes.

Figure 3.64: The 3Delight Render Settings

The Selected Render Pass option menu lists all render pass nodes currently in the scene. Theselected one will be used for all renderings launched using Render Current Frame or Batch Renderoptions of Maya’s Render menu. The texture button on the right of the option menu creates a newrender pass node and set it as the one being selected for the "Selected Render Pass" attribute. TheAE button next to the texture button can be used to display the render pass node current selectedfor rendering in the Attribute Editor .

By default, ‘<default>’ is assigned as the selected render pass. This setting creates a emptyrender pass node that is deleted right after the rendering process completes. The same defaultattribute values as when a full render pass is created are used for rendering, except for the followingmodifications:

Page 96: 3DelightForMaya-UserManual

Chapter 3: The User Interface 90

• when the render process is launched by the Render Current Frame menu option, the "DisplayDriver" of the Primary Display set to ‘maya render view’. This also applies if the SelectedRender Pass does not contain any displays.

• when the render process is launched by the Render Current Frame menu option, the rendercamera will be specified by Maya (and usually is the camera of the most recently selectedvscene 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" ofthe Primary Display is set to ‘tiff’ and the "Image Filename" of the Primary Display is setto 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 currentproject directory. This will also apply if the Selected Render Pass does not contain any displays.

Page 97: 3DelightForMaya-UserManual

Chapter 3: The User Interface 91

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 intoa scene later on. This approach offers various benefits: the scene can be made lighter as severalobjects are replaced by a single node used to read the archive; the RIB generation time and the diskspace the files occupy can be decreased as common objects for all frames can be put in files sharedby 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, whilearchive files can be written by setting the "Output Mode" of a render pass to ‘RIB Archive’ (seeSection 3.9.3.2 [Render Pass Output], page 54). Both nodes can be connected together to allowautomatic archiving of selected scene elements. Refer to Section 5.3 [RIB Archives Guidelines],page 120 for examples on all these options.

3.11.2 RIB Archive Node User Interface

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

Figure 3.65: The RIB Archive panel

To create an RIB archive node use the Add RIB Archive item of the 3Delight menu. The followingRIB archive node attributes are available in the Attribute Editor :

‘Archive Pass’This option menu lists render passes whose "Output Mode" have been set to ‘RIBArchive’ (see Section 3.9.3.2 [Render Pass Output], page 54). When a render passis selected in this menu, the RIB archive node is connected to that render pass. Theconnected render pass will be used to create the RIB archive file; it will also provide abounding box (as soon as it is rendered) and a value for the "RIB Filename" attributeof the RIB archive node. When a render pass is connected, the "Archive Read Mode" isautomatically set to ‘Delayed’. By default, the option menu is set to ‘<none>’. Thereare two buttons to the right of this option menu:

1 not included in the 3Delight for Maya package

Page 98: 3DelightForMaya-UserManual

Chapter 3: The User Interface 92

Texture buttonUsed to create a new render pass node. This new node will be connectedto the RIB archive node. It will also have its "Render Mode" attribute setto ‘RIB Archive’. Its "RIB Filename" will have a default filename basedon 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. Thefollowing values are available:

‘Delayed’ This value will have the renderer read the archive only when the spaceincluded in its bounding box is visible to the camera. This is the mostefficient option as the archive will only be read when necessary. To workproperly, a decent bounding box needs to be defined, which is alwaysthe case when the archive has been created by a render pas. Refer toSection 5.3.2 [Reading a RIB Archive], page 120 for more details aboutthis.

‘Immediate’This value will have the renderer read the archive file as soon as it encoun-ters the directive, meaning that the file will be read regardless of whetherthe archive is visible to the camera or not. This option should be usedwhen the bounding box attributes should be ignored.

‘Ignore Rib File Bbox’When this attribute is on, any bounding box information contained in the RIB archivefile is ignored. The Bbox Min and BboxMax attributes are unlocked and can be modi-fied.

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

Page 99: 3DelightForMaya-UserManual

Chapter 3: The User Interface 93

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 todo nothing special, in which case 3Delight for Maya will translate the Hypershade shading networkattached to the object to a human readable RenderMan Shading Language shader. Sometimes it isalso 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 thatallows insertion of RenderMan Shading Language code in the Hypershade network. This meansthat it is possible to provide any Maya Hypershade node the result of any RenderMan ShadingLanguage computation.

To create a RenderMan Code node, simply click on its icon, which is located in the General Utilitysection 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 124

• Section 5.4.3 [Exporting Per-Vertex Attributes on Polygon Meshes], page 125

• Section 5.4.4 [Exporting Particle Attributes], page 127

3.12.2 RenderMan Code User Interface

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

Figure 3.66: The RenderMan Code panel

‘Shading Parameters’This attribute lists the parameters for the node. This attribute will define node plugsand shader parameters for the node. Once defined, the Parameters panel will list theinput and output plugs. To edit this attribute, click on the Edit in Text Editor buttonnext to it. The parameters need to be declared each on its own line. The followingparameters can be defined:

Page 100: 3DelightForMaya-UserManual

Chapter 3: The User Interface 94

‘type name’This will define an input plug of type type and name it name. type canbe 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 94 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 willdefine a shader input parameter (i.e. a parameter that can be fed a valuethrough the RiSurface call). rsl type is any legal type in the RenderManShading Language. When a parameter value is expected to change duringthe object shading, it is recommended to prepend varying to the typename. 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 Language. Thevariable 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 insertedin the shading network. To edit this attribute, click on the Edit in Text Editor but-ton next to it. The code specified by this attribute will be put in a function where allparameters defined by the ‘Shading Parameters’ attribute will be available. Addition-ally, standard variables such as P and N can be accessed with an external declaration.3Delight for Maya also defines the variables float ss and float tt when translatingHypershade shading networks; these two variables hold the texture coordinates gen-erated and manipulated by the various Hypershade nodes. By default, this attributecontains a comment block that summarizes its usage.

‘Parameters’The content of this panel is generated based on what is assigned to the "ShadingParameters" attribute. It will list all the input and output plugs defined for this node,with gadgets relevant for the plug type.

Page 101: 3DelightForMaya-UserManual

Chapter 3: The User Interface 95

3.13 The RenderMan Material Node

3.13.1 RenderMan Material Overview

The RenderMan Material node allows RenderMan Shading Language objects to be used as a partof a regular Hypershade shading network.

To create a RenderMan Material node, simply click on its icon, which is located in the GeneralUtility section of the node list in the Hypershade. Or, in the Node Editor , press ‘tab’ and type‘rendermanMaterial’.

3.13.2 What shaders work as a RenderMan Material

Although regular RenderMan shaders can be used inside a RenderMan Material, some requirementsof the integration within the Hypershade makes them not ideal for this task. The main issue withthese shaders is that they rely on shader parameters to control the shading, and these parameterscannot receive a value from another Hypershade node. Within this constraint, some shader types(like surface shaders) are usable as a RenderMan Material.

A better candidate for being used as a RenderMan Material would consist of a shader that iswritten as a class and defines at least one method, and relies on method parameters to controlthe shading. Method parameters can be connected to other hypershade nodes (as long as they arevarying).

3.13.3 RenderMan Material User Interface

When a RenderMan Material node is first created, the following gadgets are displayed in the At-tribute Editor :

Figure 3.67: The RenderMan Material panel for a newly created node

Clicking on the folder button will bring up the Shader Selector . Once a shader file is selected,the Attribute Editor will look like a variation of the following gadgets.

Page 102: 3DelightForMaya-UserManual

Chapter 3: The User Interface 96

Figure 3.68: The RenderMan Material panel

This attribute displays the currently selected shader file that is used as a material.Clicking on the folder button will bring up the Shader Selector window; selecting anew shader file will delete all existing attributes in the RenderMan Material node andre-initialize it with the newly selected file.

‘Shading Parameters’This section lists the parameters passed to the shader object. Each shader objectparameter will have a related attribute displayed here. It is possible to use expressionsor keys to define value for these attributes. However, it is not possible to connect otherHypershade nodes as an input to these attributes. For this reason, it is advisable touse the elements of the ‘Calls’ section instead.

‘Calls’ This section contains the list of the calls that will be made for this material. There aretwo types of calls: methods and accessors. When using a classic RenderMan shader asa material, it will define only one method; for instance, ‘surface’ method for a surface

Page 103: 3DelightForMaya-UserManual

Chapter 3: The User Interface 97

shader. By default, one call is created per method and per public data member definedin the shader. The order in which they are listed in the order they will be evaluated.

‘Add Call’ Clicking on this button will display a popup menu listing the availablemethods and public data members. Selecting one will add a call to it atthe end on the current call list.

‘Method Call’Each method call will be displayed in its own sub-section. The sub-sectiontitle will indicate the method name, a unique number, and ‘(method)’ toindicate that this element is a method call. Return values and outputparameters will be displayed as read-only, since their value is computedby the shader. They can be connected as inputs to other hypershade nodeplugs. Input parameters will be displayed as writable attributes and theycan be connected as outputs to other Hypershade nodes.

‘Accessor Call’A public data member’s value can be retrieved using an accessor call.Each accessor call will also be displayed in the call list in its own sub-section. The sub-section title will indicate the public data member name,a unique number and ‘accessor’ to indicate that this element is an ac-cessor call. The sub-section will contain only one read-only attribute,since public data member’s value can only be retrieved. The purpose ofdisplaying them in the Attribute Editor is to visualize the order in whichthe calls are going to be made, since retriving the value of a data memberbefore and after a method call could yeld different results.

Furthermore, right-clicking on a call’s sub-section bar will display a popup menu offer-ing the following operations:

‘Move Call Up’Move the call toward the top of the list so it is evaluated earlier.

‘Move Call Down’Move the call toward the bottom of the list so it is evaluated later.

‘Remove Call’Delete this call.

Page 104: 3DelightForMaya-UserManual

Chapter 3: The User Interface 98

3.14 The Coordinate System Node

3.14.1 Overview

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

3.14.2 Drawing

Figure 3.69: The Coordinate System Node Drawing PanelThis 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 drawmethods 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 followingattributes become available: "Texture Filename", "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. Thetexture should be a file processed with 3Delight ’s ‘tdlmake’ utility and will be visiblewhen the coordinate system node is drawn in ‘Smooth Shade’. This attribute is emptyby default.

‘Texture Opacity’Sets the opacity of the dome’s texture. If the texture has an alpha channel, the alphavalues 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 displayed inthe scene view.

Page 105: 3DelightForMaya-UserManual

Chapter 3: The User Interface 99

‘Texture is HDRI’This attribute indicates to 3Delight For Maya that the selected dome texture shouldbe treated as high dynamic range image. When this attribute is on, texture valuesare 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.

Page 106: 3DelightForMaya-UserManual

Chapter 3: The User Interface 100

3.15 The Clipping Plane Node

The clipping plane node is used to define clipping planes. Objects, or part of objects, beyond theplane are discarded by the renderer. Clipping planes can be grouped in sets, and the set that shouldbe used for rendering should be selected in the render pass node’s "Clipping Planes" attribute. Referto [Clipping planes to Render], page 77.

Page 107: 3DelightForMaya-UserManual

Chapter 3: The User Interface 101

3.16 The CSG Node

3.16.1 Overview

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

3.16.2 User Interface

Figure 3.70: The CSG node panel

‘Operation’This attribute specifies the type of boolean operation that will be applied to the selectednodes. Available options are:

‘Union’ The resulting solid will be the union of the selected nodes. This is thedefault.

‘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, trans-forms, CSG nodes and sets. Each selected item will be considered as a single primitivefor the CSG operation. It is not recommended to select both a shape and a set thatincludes 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 up by the ‘Select closedobjects’ button. The items selected here will be subtracted from the items selectedvia the ‘Select closed objects’ button.

Page 108: 3DelightForMaya-UserManual

Chapter 3: The User Interface 102

note: The ‘Difference’ operator is only defined when two set of objects areavailable, contrary to the ‘Union’ and ‘Intersection’ operators that are definedwith a single set of objects. This explains the need for a second object selector.

Page 109: 3DelightForMaya-UserManual

Chapter 3: The User Interface 103

3.17 The Preferences Window

3.17.1 Overview

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

3.17.2 File Viewing Applications

Figure 3.71: The File Viewing Applications PreferencesIt 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 WordPadon Windows and TextEdit on Mac OSX. There is no default application on Linux.

‘Log’ This application will be launched to view rendering log files. The default applicationis WordPad on Windows and Console on Mac OSX. There is no default application onLinux.

‘Image’ This application will be launched to view images. The default application is i-displayon all platforms.

‘Shadowmap’This application will be launched to view shadow maps. The default application isi-display on all platforms.

‘Photonmap’This application will be launched to view photon maps. The default application isptcview 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 andFirefox on Linux.

Page 110: 3DelightForMaya-UserManual

Chapter 3: The User Interface 104

3.17.3 Shaders

Figure 3.72: The Shaders Preferences

Shader Preview

The options presented in this tab affect the shader nodes preview swatch visible when a shader nodeis displayed in the attribute editor . The shader preview can also be launched in i-display via thePreview 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 RIBArchive".

‘Primitive RIB archive’This attribute specifies the path to a RIB archive that is assumed to contain the geom-etry 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 thathas no shaders. This attribute is empty by default.

‘Primitive Scale’This attribute specifies the scaling factor to apply on the shader preview primitive. Itis 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.

Page 111: 3DelightForMaya-UserManual

Chapter 3: The User Interface 105

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 Mayawill automatically set all shader parameter attributes as hidden. Hidden attributes areignored by all Maya editors; they will still be displayed in the attribute editor but not inany other maya editor. Hidden attributes speed up the attribute editor refreshes quitea 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 ona shader node in the 3Delight Relationship Editor or inside the Attribute Editor whileit is displaying a shader node.

Page 112: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 106

4 The Render Command Line Interface

4.1 Overview

3Delight renders can be launched using Maya’s command line renderer. 3Delight For Maya hascommand line parameters to control just about every aspect of the rendering process. The followingcommand gives a list of the available command line parameters specific to the 3Delight For Mayaplug-in:

Render -r 3delight -help

Issuing the Render command with only the ‘-r 3delight’ option will render the renderd passthat is selected in the 3Delight Render Settings when the scene was saved. If no render pass wasselected, a default render pass will be created for rendering, with the same parameters as the defaultones used for batch rendering. Refer to Section 3.10 [The 3Delight Render Settings], page 89.

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 50 for moreinformation 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 currently selectedrender 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 specifiednode 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 Camerapanel:

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

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

Page 113: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 107

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

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

‘-rmode <int>’Specify the render mode. The following values are available:

‘0’ Render

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

Page 114: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 108

‘Render Pass Quality options’The following options control the attributes grouped under the render pass Qualitypanel:

‘-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’ MotionBlur panel:

‘-cmb <boolean>’Toggle the camera blur on or off.

‘-cmbs <int>’Set the number of samples for camera blur.

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

Page 115: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 109

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

‘Render Pass Primary Display options’The following options control the attributes grouped under the render pass PrimaryDisplay 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 touse). Note that when this option is used, there is no need to also use the‘-pdd’ option. The following values are available: framebuffer, idisplay,tiff, iff, exr, cineon, zfile, bmp, epx, psd, radiance, shadowmap, textureand null.

‘-pdd <int>’Specify the primary display driver to use. Note that when this option isused, there is no need to also use the ‘-of’ option. The following valuesare available:

‘0’ Framebuffer

‘1’ i-display

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

‘3’ tiff

‘4’ iff

‘5’ exr

‘6’ cineon

‘7’ zfile

‘8’ bmp

‘9’ eps

‘10’ psd

‘11’ radiance

‘12’ null

Page 116: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 110

‘13’ shadowmap

‘14’ texture

‘-pdm <string>’Specify the primary display mode.

‘-pdbd <int>’Set the primary display bit depth. The following values are available:

‘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 pri-mary display bit depth to custom quantize. See [-pdbd], page 110.

‘-pdqone <int>’Set the one value for quantization. Only relevant when setting the primarydisplay bit depth to custom quantize. See [-pdbd], page 110.

‘-pdqmin <int>’Set the minimum value for quantization. Only relevant when setting theprimary display bit depth to custom quantize. See [-pdbd], page 110.

‘-pdqmax <int>’Set the maximum value for quantization. Only relevant when setting theprimary display bit depth to custom quantize. See [-pdbd], page 110.

‘-pdqdit <float>’Set the dither value for quantization. Only relevant when setting theprimary display bit depth to custom quantize. See [-pdbd], page 110.

‘Render Pass Secondary Display options’The following options control the attributes grouped under the render pass SecondaryDisplay 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 ShadowMaps panel:

‘-rsm <boolean>’Toggle the shadow map rendering on or off.

‘-dssm <boolean>’Controls if the displacement shaders are used in the shadow map render-ings.

‘-sssm <boolean>’Controls if the surface shaders are used in the shadow map renderings.

‘-assm <boolean>’Controls if the atmosphere shaders are used in the shadow map renderings.

Page 117: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 111

‘-issm <boolean>’Controls if the interior shaders are used in the shadow map renderings.

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

‘-cpm <string>’Specify the caustic map to use.

‘Render Pass Render Sets options’The following options control the attributes grouped under the render pass ‘RenderSets’ panel:

‘-sc <string>’Specify the shader collection to render. Specify an empty string to use noshader collections.

‘-ors <string>’Specify the object set to render. Specify an empty string to render allvisible objects.

‘-lrs <string>’Specify the light set to render. Specify an empty string to render allvisible lights.

‘-cprs <string>’Specify the clipping plane set to render. Specify an empty string to renderall visible clipping planes.

‘-lr <boolean|name(s)>’‘-rl <boolean|name(s)>’

Specify the Maya render layer to render. It is possible to specify multiplelayer names, as long as they are separated by a space and the list issurrounded 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 layerswill be rendered, unless the selected render pass specifies which layer is tobe rendered with its "Layer To Render" attribute. In this case, only thislayer will be rendered, provided it is renderable. If it is not renderable,nothing will be rendered.

Page 118: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 112

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

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

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

‘-preRender <string>’MEL script executed before rendering.

‘-postRender <string>’MEL script executed after rendering.

‘-preFrame <string>’MEL script executed before each frame is rendered.

Page 119: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 113

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

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

Page 120: 3DelightForMaya-UserManual

Chapter 4: The Render Command Line Interface 114

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

Page 121: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 115

5 Rendering Guidelines

5.1 Understanding Collections

Collections are a context sensitive shader and attribute assignment strategy, the context beingdefined by a render pass. When 3Delight For Maya sends an object for rendering, it goes throughthe 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.9 [RenderPass Render Sets], page 77) and the collection has a RenderMan shader specified in "OverrideShaders", use it.

2. If the render pass has a collection specified in "Render Set" and the object has a RenderManshader 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 adiffuse pass, in the specular pass you want to use a Phong shader and in the diffuse pass you wantto 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 thepanel, left hand side).

• Create two render passes: one choosing the ‘specular’ collections and the other one choosingthe ‘diffuse’ collection in the Render Sets section (see Section 3.9.3.9 [Render Pass RenderSets], page 77).

• 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 forMaya:

1. In the ‘Depth Map Shadow Attribute’ panel of a light node, check the "Use Depth Map Shad-ows" toggle.

2. Create a render pass node by using the Add Render Pass item in the 3Delight menu and hitthe Render button it displays in the Attribute Editor . Or, use an existing render pass nodeand 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 torender ray traced shadows. Maya’s default visibility attributes (Render Stats) can be overridden ifneeded. For example, to disable shadow casting for a group of objects:

Page 122: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 116

1. For each light casting ray traced shadows, enable its "Use Ray Trace Shadows" attribute.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 "ShadowMap 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.

note: Most RenderMan light sources have a quadratic falloff and you might need to increasethe 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 willproduce 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 inthe 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.

1 In the Depth Map Shadow Attributes panel located in the Shadows panel.

Page 123: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 117

It might be convenient to connect some of the RenderMan shader node attributes, such as thecone angle, to the light source for easier manipulation. The following is an example on how to dothis 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 ShaderSelector .

3. In the shader selector, make sure the "Directory" is set to ‘$DELIGHT/shaders’. Find thespotlight 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 menuto 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.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 inthe 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 Selectattrib 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.

Page 124: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 118

5.2.5 Shadow Map Tips

• When a light attribute node is attached to a light node, all options related to shadow mapgeneration (such as resolution) are retrieved in the light attribute node. The only exception tothis is the "Shadow Map Name" attribute when it’s left empty. Refer to Section 3.8.2 [LightAttribute Node Shadow Maps], page 43.

• Even when a light attribute node is attached to a light node, any options related to shadow mapusage (such as shadow color, filter size and bias) is specified in the light shader (RenderManor Hypershade).

• The coverage of the shadow map is defined by the cone angle of the spot light. In order tomaximize the resolution of the shadows cast by objects, it is recommended to adjust the coneangle 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 mapby adjusting the coverage as suggested above. If this is not enough, try increasing the shadowmap resolution.

• If you get shadowing artifacts on an object, it might be caused by self-shadowing. For depthshadow maps, using midpoint depth filtering usually helps getting rid of this problem. If a lightsource has no light attribute node attached to it, turning on the "Use Mid Dist" attribute ofthe light node usually takes care of this problem. If the light has a light attribute node attachedto 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-shadowingproblem. The default Maya light node ‘Bias’ value of ‘0.001’ is not very good for 3Delightand 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 without anymodifications. This includes ‘Maya’ Hypershade light shaders. Refer to Section 5.2.3 [DeepShadow Maps With Maya Lights], page 116.

• Unfiltered shadows are usually undesirable and not supported by 3Delight ; when usingHypershade-shaded lights, setting the "Filter Size" to ‘0’ will produce the same result assetting it to ‘1’. Maya seems to limit the "Filter Size" attribute to 20 (larger values have noeffect) while 3Delight has no such limits.

• If the light source moves or is lighting animated objects, it is recommended to check the "AddFrame Ext" attribute of the light node or to add the current frame number in the ‘Shadow MapName’ attribute of the light attribute node. See Section 5.5.4 [File Path Expressions], page 134for 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 shadowmaps. 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. Innearly all other cases re-rendering is not necessary. There are several ways to avoid uselessshadow maps re-renders:

- If you do not use light attribute nodes, you can set the "Disk Based Dmaps" light attributeto "Reuse Existing Dmap(s)".

- If you use a light attribute node and the shadow objects are the same from one frame toanother, you should turn on the "Generate First Frame Only" attribute (see Section 3.8.2[Light Attribute Node Shadow Maps], page 43).

- If you do not need any shadow maps to be rendered again, turn of the "Render ShadowMaps" attribute of your render pass (see Section 3.9.3.7 [Render Pass Shadow Maps],page 69.

- You can also create render pass nodes that will render only shadow maps by deselecting"Render Primary Display" and "Render Secondary Displays" attributes of your render

Page 125: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 119

pass node. You could create Maya sets consisting of a few related lights and create arender pass that would render only these shadow maps. This way it is easy to re-renderonly a few shadow maps and use a render pass that does not render any shadow maps torender the displays. Refer to Section 3.9 [The Render Pass], page 50.

• By default the objects lit by a light and the objects that cast shadows for a light are the sameand are defined by the light linking. When using shadow maps, it is possible to have an objectnot lit by a light and still cast shadows. You simply need to create a Maya set that includesonly the objects that cast shadows and specify that set in the "Shadow Objects" attributeof an attached light attribute node. Reversely, you can define a Maya set of lights that willilluminate an object and specify this set in 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.

Page 126: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 120

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 anotherRIB file. This way, it is possible for instance to share objects between frame RIBs, saving disk spaceand 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 aMaya 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 nodeto 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 134 for details.

5. In the "Render Sets" panel, select the scene subset created at the first step. If a Maya setwas created and it contains objects and lights, remember to select the set in both "Objects toRender" and "Lights to Render".

6. Render..

note: There are several advanced options in the RIB Archives panel that you might want toconsider. Refer to Section 3.9.3.10 [Render Pass RIB Archives], page 78 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 archivefile is specified, 3Delight for Maya will look at its first few lines for a line specifying the archivebounding 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 boxmanually, 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.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 itoccupies 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 setto ‘Immediate’. In this mode, the archive file is always read regardless of what is visible to thecamera 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.

Page 127: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 121

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 ispossible to connect them together so that scene elements can be archived when needed and then thearchive 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 aMaya 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), andconnect it to this RIB archive node.

5. Note that the "RIB Filename" attribute of the RIB archive node is now connected to thecreated 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 archivewill be automatically set.

6. Click on the AE button on the right of the Archive Pass option menu to edit the attributes ofthe connected render pass.

7. While this is optional, it is recommended to rename this render pass to avoid confusion withother similar nodes.

8. In the Render Sets panel, select the scene subset created at the first step. If a Maya set wascreated and it contains objects and lights, remember to select the set in both "Objects toRender" and "Lights to Render".

9. Configure the other rendering options to your liking. For instance, you might want to modifythe "RIB Filename" (in the Output panel) , or the "Archive Write Mode" (in the RIB Archivespanel). Refer to Section 3.9 [The Render Pass], page 50.

10. Create another render pass using the Add Render Pass menu. This pass will be used to producean 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.

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

pletely for the rendering and only use the archive, or to keep the objects in the scene and alsoinclude the archive. The later could be used to add an extra instance of the objects in thescene, simply by moving the RIB archive node elsewhere in the space. Control of the presenceof the archived objects is done via the "Ignore Archived Objects" attribute of the render passused to render the image.

• If the RIB archive node might be moved to a different position from where the objects were whenarchived, it is important to leave the "Concatenate Geo Transforms" attribute to on, in theRIB Archives panel of the render pass used to create the archive. If the archive contains lightsources and it is desired that these are also moved, keep the "Concatenate Light Transforms"set to on. Those two attributes are on by default.

Page 128: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 122

• It is possible to avoid re-creating archive files; set the "Archive Write Mode" of the render passnodes that creates the archive to ‘Reuse Existing Archive’. Or, simply have the renderingprocess assume that all the required files are there without checking anything by turning offthe "Generate RIB Archives" toggle of the render pass that produces the image. Both of theseoptions are in the RIB Archives panel, Advanced sub-panel.

• When creating the RIB archive, Hypershade shaders for the content of the archive are createdwhen relevant. In order to keep shaders as efficient as possible, the generated code will containstatements 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 thepredefined AOVs, it is required to define the same AOVs in the Displays section of the renderpass 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 inthe ‘ambient’ display only if the ‘ambient’ AOV was defined in the render pass used to createthe archive.

• It is possible to attach a geometry attribute node to a RIB archive node. If the archive wascreated with the "Archive Geometry Attributes" toggle off, then the "Geometry AttributeNode" attached to the RIB archive node will affect all of the content of the archive. Even whenthe archive was created with the "Archive Geometry Attributes" toggle on, it might still beuseful 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 notbe considered for ray traced shadows. The same goes for other attributes, such as "Visible ToReflections" and subsurface scattering attributes.

Page 129: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 123

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 function-ality some of the attributes available in the geometry attribute node, the later will take precedencewhen defined. Here is a list of the supported render stats attributes and their geometry attributenode attribute counterparts.

‘Casts Shadows’For shadow map renderings, if this attribute in off, the object will not be part of theshadow map rendering. In regular display renderings, if this attribute is on, the effect isidentical 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 nodeattached to the object that has a "Transmission Rays" attribute, the "Casts Shadows"render stat will be ignored. Refer to [Transmission Rays], page 20 for more details.

‘Receive Shadows’This attribute controls if the object will receive shadows or not. The object mustbe shaded using Maya’s Hypershade. There is no related geometry attribute nodeattribute 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 attributenode attached to the object, the "Motion Blur" render stat is ignored. Turning on thisrender stat is identical to setting both "Transformation Blur" and "Deformation Blur"to ‘inherit’. Turning off this attribute is identical to setting both "TransformationBlur" and "Deformation Blur" to ‘off’. Refer to [Transformation Blur], page 23 and[Deformation Blur], page 23 for more details.

‘Primary Visibility’When rendering a display, this render stat is identical to the "Visible To Camera"geometry attribute node attribute. If the later is defined in a geometry attribute nodeattached to the object, the "Primary Visibility" render stat is ignored. Refer to [VisibleTo Camera], page 20 for more details.

‘Visible In Reflections’This render stat controls if the objet is visible in reflections on other objects; this is onlyeffective for reflections on objects shaded using Maya’s Hypershade. This render stat isa refinement on top of the "Specular Rays" geometry attribute node attribute, whichcontrols object visibility in both reflections and refractions. For this render stat to beeffective, a geometry attribute node must be attached to the object; it must containthe "Specular Rays" attribute and this attribute must be set to a value different than‘Invisible’. See [Specular Rays], page 21.

‘Visible In Refractions’This render stat controls if the objet is visible in refractions in other objects; this is onlyeffective for refractions on objects shaded using Maya’s Hypershade. This render statis a refinement on top of the "Specular Rays" geometry attribute node attribute, whichcontrols object visibility in both reflections and refractions. For this render stat to beeffective, a geometry attribute node must be attached to the object; it must containthe "Specular Rays" attribute and this attribute must be set to a value different than‘Invisible’. See [Specular Rays], page 21.

Page 130: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 124

‘Double Sided’This render stat behaviour is identical to the "Double Sided" geometry attribute nodeattribute. 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 18.

‘Opposite’ This render stat behaviour is identical to the "Reverse Orientation" geometry attributenode attribute. If the later is defined in a geometry attribute node attached to theobject, the "Opposite" render stat is ignored. Refer to [Reverse Orientation], page 18.

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 3Delightfor 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 themwithout 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 (exceptfor 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 faceson 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-facecolors 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;

3. There should now be a ‘Delight Surface Color’ attribute showing in the attribute editor, inthe ‘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 panelthat contains 6 colors. Edit the colors as desired.

7. Pop up the Hypershade Editor .

Page 131: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 125

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 namedo_outColor

shader_input color FaceColoroutput 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 thecolor 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 surfaceshader..

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 the variable name.This allows vertex variables to be exported for some primitives. It also allows the exact desired typeto 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 variableswithout 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 nodewill 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.

Page 132: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 126

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 whereyou paint; you can adjust the "Opacity" slider and check the "Accumulate opacity" checkboxif 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 surfaceColorshader_input varying float surfaceColor_alphacolor defaultColoroutput 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 setare passed automatically to it.

• The second line defines an input parameter for the alpha channel of the surfaceColor colorset. 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 colorset 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 followinglines 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 anddefaultColor 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 thecolor input plug of the Blinn node.

16. Create a 2D Texture node, such as Fractal, and connect its color output plug to thedefaultColor 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_alphaoutput float displacement

These lines defines the following:• The first line defines a float parameter that varies for each vertex. It will automatically

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.

Page 133: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 127

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 channel of thedisplacementColor color set. Note that you can increase or decrease the multiplier value tomake the displacement more or less obvious.

24. Connect the displacement output plug of the RenderMan code node to the Displacementinput plug of the Displacement node.

25. Connect the displacement output plug of the Displacement node to the displacementShaderplug 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 theshader assignment panel by selecting its entry in the 3Delight menu.

28. Make sure your polygon shape is selected.

29. In the shader assignment panel, create a geometry attribute node by clicking on the texturebutton 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 valueshould be as high as the maximum possible displacement value, so it is safe to assign here thesame value as the multiplier used in the RenderMan Code above (in this example, the multiplieris ‘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 tocustom RenderMan shaders. In order to illustrate how this is achieved, here is an example that willuse the rgbPP attribute to color rendered particles.

note: If the goal is simply to render particles colored as defined by "rgbPP" attribute, it is simplerto use the "Par Particle Color as Surface Color" attribute. See [Per Particle Color as Surface Color],page 32.

1. Prepare any scene that contains a light source and a particle system that has per-particlecolor. A complete example of such system is detailed in the Maya documentation; refer tothe Dynamics -> Particles -> Rendering particles -> Set particle attributes with a ramp texturesection. At the end of this section, there is a Ramp example where detailed steps are providedto create a particle system where particle color changes according to the distance from theorigin.

2. Select the particle system and attach a geometry attribute node to it using the shader assign-ment panel..

3. In the Attribute Editor , go into the Geometry panel. Unfold the Particles panel. Add rgbPPto the list of exported particle system attributes by selecting it in the list on the left and thenclick 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 isattached to your particle system.

6. Create a RenderMan Code node, which is available in the General Utilities section.

Page 134: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 128

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 rgbPPattribute, so declare the following:

shader_input varying color rgbPP

• The RenderMan Code node needs an output plug to pass this color on, so declare thefollowing:

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 theshading 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. Thetexture of a given sprite can remain constant for all frames, or it can also change from frame toframe. The general idea is to use a ‘file’ 2D texture node to define an image sequence, and tocontrol 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 containszero-padded frame numbers, such as ‘smoke_001.tdl’. However it is recommended to use non-padded file names, such as ‘smoke_1.tdl’ so Maya can properly display the textured spirtes inthe scene view. The first image sequence is expected to have the frme number 1. To convert acomplete 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");

}

}

Page 135: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 129

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 imagesequence by invoking:

convertTextures("~/Images/smoke_*.iff");

The tdl files will be produced in the 3Delight Textures folder (see [3delight textures], page 137).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. Turnon 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 theParticle tab and click Add .

5. Set the "spriteNumPP" initial values as desired. For instance, if the image sequence contains10 images, each sprtie can be assigned a random image by defining an expression 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 thenext image in the sequence as a texutre for each frame, and loop through a 10-frames imagesequence:

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 theimage sequence, add a "SpriteCycleLength" float attribute (not per-particle) to the particlesystem shape and set it to the number of textures in the image sequence. The shader willautomatically 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 arespecial Maya attributes and will be listed under the Spirte Attributes section of the attributeeditor .

8. If desired, add a "SpriteAnimation" bool attribute (not per-particle) to the particle systemshape. It can be used to turn off the per-sprite texturing.

9. Using the assignment panel or the 3Delight relationship editor , create a geometry attributesnode 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 clickAdd . Also add the SpriteCycleLenght and the SpriteAnimation attributes if they have beendefined in the previous steps.

12. It is recommended to use a particle disk cache when rendering with motion blur or if theexpressions driving the above attributes can produce different results when a frame is renderedmultiple 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 recog-nized by the light linker. There are several ways to get rid of these problems depending on what isbothering you:• 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 havean associated hypershade shading group.

Page 136: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 130

• By default, geometric objects that have no Hypershade shading group nor RenderMan shadernode attached to them are rendered using the defaultSurface shader, which does not takeinto 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 nodesinstead of assigning the same amount of hairs to a single, larger object. The smaller, lighterobjects 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 tipon a polygonal model to create several fur nodes on one model. Simply define as many UVsets as there will be fur nodes. Attach all fur descriptions to the model. Finally, make sureeach 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 shouldcontain no concave regions. The concavities can cause problems when deformation blur isrendered. Alternatively, the problem can be avoided by fixing the model’s triangulation byusing the Triangulate option of the Maya Mesh menu.

• FurFeedback nodes have the "Visible In Reflections" and "Visible In Refractions" render statsattributes turned off by default. Since almost all other Maya objects have these attributesturned on by default, it is easy to forget to turn on these attributes and wonder why MayaFur isn’t reflected or refracted at all. See [Visible In Reflections], page 123 and [Visible InRefractions], page 123.

• FurFeedback nodes have a "U Samples" and a "V Samples" attributes that are supposedto affect how many hairs are rendered in the scene view, without changing how the fur isactually rendered in an image. However, the clumping frequency changes related to these

Page 137: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 131

values in Maya Software and Mental Ray renderers. 3Delight for Maya does not use the U /V Samples attributes. To raise clumping frequency pass its maximum value of 100, use the"Clumping Frequency" attribute of a geometry attribute node attached to the FurFeedbacknode, or add it as a 3Delight Geoemtry Modifier attribute. See [Geometry Attribute NodeClumping Frequency], page 34.

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 isincluded in the 3Delight for Maya plugin itself and asks the Shave and a Haircut plugin to generateone RIB file per shave hair node. The second approach is to load the 3dfm shave plugin; this plugininteracts 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 pluginare:• 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 whatprimitive variables are output. Opacity will also be affected by the value of the "Tip Fade" attributeof each Shave shape. The available primitive variables are listed in Figure 5.1.

Shave Globals Attribute Primitive VariableExport Normals uniform normal N SrfExport Opacity varying color OsExport Root/Tip Colors uniform color rootcolor, tipcolorExport Vert Colors varying color CsExport W Coords varying float wExport UVs uniform float s, tExport Root Positions uniform point P Srf1

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 optionsoffered in the RenderMan section of the Shave Globals are supported, except the "Global RIB Text"

1 Only output when 3dfm shave is not loaded.

Page 138: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 132

attribute and the motion blur and shutter attributes. Motion blur attributes are defined by theRender Pass node being used, except that the number of samples for defomration blur is limited totwo. 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 136.

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’ "ArchivePath" attribute. See Section 3.9.3.13 [Render Pass Search Paths], page 82 for details. When the"Enable Voxels" option is enabled, Shave and a Haircut may attempt to create illegal filenames ifthe shave hair shape name is long, so it is recommended that shave hair shape names are madeunique and short.

Shading and Lighting

By default, Shave and a Haircut hair nodes are not assigned any Hypershade shading group, ex-cluding them from the light linking system. In 3Delight for Maya, geometric objects that have noHypershade shading group nor RenderMan shader node attached to them are rendered using thedefaultSurface shader, which does not take into account any lighting. Simply assigning a Ren-derMan surface shader node while rendering with the default Render Pass values will make the lackof light links on the Shave and a Haircut node obvious since it will appear black. Some possiblesolutions 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 "IlluminationFrom" attribute of this geometry attributes node to the lights object set that has just beencreated. Note that the Shave and a Haircut node will still not be part of shadow maps; to fixthis, select all objects that need to appear in the shadow map and create an object set withthem. Create a light attribute node and attach it to a desired light source. Finally, select thisnew 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 byassigning an Hypershade surface shader to the Shave and a Haircut node, or by issuing thefollowing 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 softwarerenderer is to attach the Shave shader that is packaged with Shave and a Haircut to the shave hairshape 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 changeduring the sequence, it is recommended to select a value for the "Motion Blur Position" attributeof 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 BlurPosition" should be set to ‘start on frame’ since this is the only value that defines a samplinginterval 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 atime period before time 2.0.

Page 139: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 133

5.5 Miscellaneous Guidelines

5.5.1 Dynamics Animation Rendering

3Delight for Maya could change the current time while rendering in two cases: when rendering aframe sequence (obviously) and when motion blur is enabled. If motion blur is requested, the blurredobjects need to be sampled a number1 of times during the frame’s interval in order to detect theextent of their movement. This means that the current time will move a number times to samplethe 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 Mayamay yield consistent results. To avoid this problem, the dynamics computations need to be exactlythe same for a given frame, regardless of what was the previously played frame. One way to achievethis is to cache the dynamics results. It is highly recommended to use Maya disk caching systemwhen working with a scene that contains dynamics. Refer to the Maya documentation for moredetails about this; look into the Solvers and caching book in the Dynamics -> Dynamic and Effectssection.

5.5.2 Using Atmosphere Shaders

Atmosphere shaders in RenderMan are used to compute the appearance of the volume between thecamera and the object closest to it. This means that if there are no objects facing the camera at agiven point in the camera’s field of view, no atmosphere shader will be applied. Following this basicprinciple, here are some tips using atmosphere shaders, such as fog or smoke:• Atmosphere shaders can be attached to any geometric objects using the shader assignment

panel (see Section 3.2.2 [Assignment Panel Components], page 10).• 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), suchas a cube or a sphere, and apply the atmosphere shader to it. This will ensure that theatmosphere 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 be-tween that object and the camera. Conversely, it is possible to exclude the volume betweena given object and the camera from the atmosphere computation simply by not attaching theatmosphere shader to that object.

• An easy way to apply an atmosphere shader to every geometric object in the scene is to createa shader collection and use the Override shaders section to specify the atmosphere shader tobe 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 suchas the File 2D texture node), 3Delight for Maya will first convert the texture to 3Delight ’s texturefile3, and then use this converted file for rendering. It is possible to prepare the texture file manuallyin order to avoid this automatic conversion completely by using the tdlmake utility. The preparedtexture file should have the ‘.tdl’ extension. It can then be used directly in an Hypershade nodesuch as the File 2D texture node.

important: It is recommended to use the ‘-preview’ option of tdlmake; doing so will createan embedded thumbnail that Maya can display as a texture preview image.

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.3 Which is a standard TIFF file, augmented with mip maps.

Page 140: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 134

5.5.4 File Path Expressions

When an attribute that specifies a file path contains a relative path, the path will be consideredrelative to the current Maya project directory. This path can contain various tokens; this allows thepath to dynamically change to reflect the current value of a given token. The following tokens canbe 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 filename. The expression must be enclosed in curly braces. The expression componentsare:

‘<frame_num_char>’A character that represents the current frame number. ‘@’ will producethe current frame number, and ‘#’ will produce the same current framenumber, 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 replacedwith the command’s result.

‘<layer>’ This string will be replaced with the currently rendered Maya render layer.

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

Page 141: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 135

‘<fragment_set>’This string will be replaced with the name of the object set used by the RIB fragmentbeing output. It is valid only in render pass rib fragment filename attributes.

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

‘<output_variable>’This string is deprecated in favor of ‘<aov>’.

Page 142: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 136

5.5.5 Automatic File Output Control

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

It is possible to prepend all of the 3Delight for Maya project directories that produce temporaryfiles with a path assigned to the 3DFM OUTPUT PATH environment variable. Note that thisvariable needs to be defined before Maya is launched and does not apply to the templates projectsetting.

The available 3Delight for Maya project directories are:

3Delight Fluids3Delight for Maya needs to generate data files for each fluid node visible in the scene.These files are saved under the folder specified in the 3Delight Fluids Files projectsetting. If the 3DFM FLUIDS PATH environment variable is defined, its value willbe used (and thus will override the directory specified in the 3Delight Fluids projectsetting).

3Delight Fur Files3Delight for Maya needs to generate a geometry file for each Fur Feedback node visiblein the scene. These files are saved under the folder specified in the 3Delight Fur Filesproject setting. If the 3DFM FURFILES PATH environment variable is defined, itsvalue will be used (and thus will override the directory specified in the 3Delight FurFiles project setting). This project setting is also used to store RIB file produced bythe Shave and a Haircut plugin in some cases. Refer to Section 5.4.8 [Shave and aHaircut Tips], page 131.

RIB FragmentsThis project setting specifies the folder where RIB fragments will be saved. If the3DFM RIBFRAGMENTS PATH environment variable is defined, its value will be

used (and thus will override the directory specified in the 3Delight RIB Fragmentsproject setting). See Section 3.9.3.11 [Render Pass RIB Fragments], page 80 for detailsabout their purpose.

3Delight ShadersWhen an object has no RenderMan shader attached to it, 3Delight for Maya willattempt to translate any Hypershade shading network attached to that shader to Ren-derMan shaders, which are then used in the rendering. This process generates shadersource files, which are stored in a ‘src’ directory. These source files are then com-piled 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 3De-light Shaders project setting. If the 3DFM SHADERS PATH environment variableis defined, its value will be used (and thus will override the directory specified in the3Delight Shaders project setting). Note that this project setting is relevant only fortranslated shaders from Hypershade networks. It has no effect on RenderMan shadernodes or on the shader paths displayed in the Shader Selector .

Shadow MapsShadow 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 MapShadows" attribute is turned on, and the render pass node used for rendering hasits "Render Shadow Maps" attribute turned on.

Page 143: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 137

2. A light source has a light attribute node attached to it. This light attribute nodehas its "Generate Shadow Maps" attribute turned on, but nothing is specified inthe "Shadow Map Name" attribute. The render pass node used for rendering hasits "Render Shadow Maps" attribute turned on.

If one of these two situations is encountered, a shadow map file name will be generatedbased on the current values of the light source node’s attributes in the section "DiskBased Dmaps". The file will be created under the directory specified in the 3DelightShadow Maps project setting. If the 3DFM SHADOWMAPS PATH environmentvariable is defined, its value will be used (and thus will override the directory specifiedin the 3Delight Shadow Maps project setting). Shadow map rendering parametersare obtained by the current settings in the attached light attribute node. If no lightattribute node is attached to the light source, the shadow map rendering settingsare derived from the light source node’s "Depth Map Shadow Attributes". Refer toSection 5.2.5 [Shadow Map Tips], page 118 for more details.

3Delight TemplatesThis project setting specifies the folder where render pass templates will be saved. 3De-light for Maya will also look up this directory and list the render pass templates it con-tains in the Add Render Pass menu. If the 3DFM TEMPLATES PATH environmentvariable is defined, its value will be used (and thus will override the directory speci-fied in the 3Delight Templates project setting). Note that template files are createdon-demand only and are not affected by the 3DFM OUTPUT PATH environmentvariable. See Section 3.9.2 [Managing Render Passes], page 50.

3Delight TexturesAny node in an Hypershade network that uses a texture file name not ending withthe ‘.tdl’ extension will undergo a texture conversion process in order to speed uptexture lookup during rendering. This conversion produces a 3Delight texture file thatis stored under the directory specified in the 3Delight Textures project setting. Ifthe 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 inSection 5.5.3 [Textures In The Hypershade], page 133.

Page 144: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 138

5.5.6 Hypershade translation quirks

3Delight for Maya automatically translates most hypershade networks into equivalent RenderManshading language. However, some nodes require special attention for various reasons.

‘bump2d’ To use the Tangent Space Normals and Object Space Normals modes, some extrasetup is required. Create a vector attribute named bumpNormal on the node and connectthe bump texture’s output color to it. A connection of the texture’s alpha to thebumpValue input like Maya is using is not required but will not hurt either.

‘bump2d’ When using with a bump map, it is best if the map’s average value is near 0 or someartifacts are likely to appear in areas of high curvature. As bump maps will typicallyaverage to grey, this can be achieved by setting the file node’s alpha or color offset to-0.5.

Page 145: 3DelightForMaya-UserManual

Chapter 5: Rendering Guidelines 139

5.6 A Few Words About Fluids

This version of 3Delight For Maya comes with an SL implementation of Maya fluids. Since it stillin 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.• Intersecting fluid containers are not supported.• Fluids cannot be motion blurred.

All theses shortcomings will be addressed in a future version.

Page 146: 3DelightForMaya-UserManual

Chapter 6: MEL Binding 140

6 MEL Binding

The following MEL bindings are implemented in 3Delight For Maya. Help on every command 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

RiPixelSamplesRiPixelFilterRiShutter

RiProjectionRiImager

RiHider

RiDisplay

RiClippingRiClippingPlaneRiCropWindowRiQuantizeRiScreenWindowRiDepthOfFieldRiPerspectiveRiFormat

RiProjection

Attributes

RiAttributeRiColor

RiOpacity

RiSides

RiShadingRateRiMultiplyShadingRateRiMatte

RiSurface

RiDisplacementRiAtmosphereRiInteriorRiExteriorRiLightSourceRiAreaLightSourceRiIlluminateRiReverseOrientationRiResource

Page 147: 3DelightForMaya-UserManual

Chapter 6: MEL Binding 141

Transforms

RiIdentityRiCoordinateSystemRiScale

RiTranslateRiTransformRiRotate

Structure

RiBegin

RiEnd

RiWorldBeginRiWorldEndRiAttributeBeginRiAttributeEndRiMotionBeginRiMotionEndRiTransformBeginRiTransformEndRiArchiveBeginRiArchiveEndRiObjectBeginRiObjectEndRiObjectInstanceRiDeclare

RiIfBegin

RiElseIf

RiElse

RiIfEnd

Archives

RiReadArchiveRiProcDelayedReadArchive (through RiProcedural)RiArchiveRecord

Texture Creation

RiMakeShadowRiMakeTextureRiMakeCubeFaceEnvironmentRiMakeLatLongEnvironmentRiMakeBrickMap

Others

RiProcedural (RiProcDelayedReadArchive, RiProcRunProgram, RiProcDynamicLoad)

Page 148: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 142

7 Developer’s Corner

7.1 General User Defined MEL Procedures

The following procedures can be defined to customize 3Delight for Maya’s behavior. Since callingthe ‘exists’ MEL command repeatedly is costly, a cache of this command’s results is kept. Thiscache is flushed before every render. It can also be flsuhed manually by calling:

delightExists -user -flush;

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

global proc DL_userGetExpandedString (string $str, string $shape name, string$pass name)

This procedure is called when a string attribute is parsed, offering the opportunityto completely replace the default string expansion in 3Delight for Maya. DL_userGetExpandedString is passed the string to expand, a string that contains the shapename (or an empty string), and a string containing the render pass name (or an emptystring). The last two parameters are usually used to replace the ‘<shape>’ and ‘<pass>’tokens, respectively. The procedure should return a string that requires no further expansion,as there will be no further subsitution attempts done on it.

global proc DL_userGetStringTokens (string $tokens[], string $values[])This procedure is called when a string attribute is parsed by DL_expandString() to expandthe tokens and environment variables the attribute may contain. DL_userGetString is passedtwo empty string arrays and it is expected to fill the first one with the tokens to look for andthe second one with their replacement strings. The user defined token substitution is doneafter 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 texturenode, needs to be converted to a tdl texture file. The procedure is passed the full path tothe source file and the full path to the desired tdl file. The returned string is expected tocontained an error message, or an empty string if the conversion completed successfully. Thedefault behaviour is to call DL_defaultConvertTexture.

global proc string[] DL_userGetNodesForRibArchiveBBox (string $nodes[], string$pass name)

This procedure is called when computing the bounding box of a RIB archive being written.It will receieve the list of nodes being considered for bounding box evaluation, and the anmeof the render pass being rendered. The procedure returns the objects that must be used forbounding box evaluation, so it can arbitrarily add or exclude specific nodes from that list.

Here is an example procedure that excludes objects from the bounding box evaluation accord-ing to the value of a "ignoreBBoxContribution" attribute in an assigned geometry attributesnode:

Page 149: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 143

global proc string[]DL_userGetNodesForRibArchiveBBox(string $nodes[], string $pass_name){string $nodes_for_rib_archive_bbox[];clear($nodes_for_rib_archive_bbox);

// Retreive the collection used for rendering//string $all_related_passes[] = DRP_getAllRelatedPasses($pass_name);string $shader_collection =DRP_getHighestAttrNode("shaderCollection", $all_related_passes);

// Construct the list of objects to consider for bounding box evaluation.// Exclude from the list the objects that have a "ignoreBBoxContribution"// attribute set to "true" in an assigned geo attribs node.//string $all_attribs_nodes[];string $attribs_node;

for($curr_node in $nodes){// Get all geo attribs nodes that affect this object//$all_attribs_nodes =DL_getAllGeoAttribsNodesFromShape($curr_node, $shader_collection);

// Find the geo attribs node that contains the "ignoreBBoxContribution"// attribute that we must consider (needed because of the various ways the// attributes of a geo attribs node can be inherited).//// Note: this "ignoreBBoxContribution" would be a user-defined attribute// and not something predefined by 3Delight for Maya.//$attribs_node =DL_highestNodeWithAttrib("ignoreBBoxContribution", $all_attribs_nodes);

// Exclude this object from the list if relevant//if($attribs_node != "" &&getAttr($attribs_node + ".ignoreBBoxContribution"))

{continue;

}

// Object was not excluded, so add if to the list//$nodes_for_rib_archive_bbox[size($nodes_for_rib_archive_bbox)] = $curr_node;

}

return $nodes_for_rib_archive_bbox;}

Page 150: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 144

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 beingrendered is executed.

global proc DL_userPostRenderMel (string $render pass)This procedure is called right before the Post Render Mel script of the render pass beingrendered is executed.

global proc DL_userPreFrameMel (string $render pass)This procedure is called right before the Pre Frame Mel script of the render pass beingrendered is executed.

global proc DL_userPostFrameMel (string $render pass)This procedure is called right before the Post Frame Mel script of the render pass beingrendered is executed.

global proc DL_userPostOptionMel (string $render pass)This procedure is called right before the Post Option Mel script of the render pass beingrendered 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 renderedis executed.

global proc DL_userPostWorldMel (string $render pass)This procedure is called right before the Post World Mel script of the render pass beingrendered 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 geometryattribute 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 maprendering. It is set to ‘0’ when called during a regular frame rendering. Itcan 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 connectedto a particle instancer.

‘string $geo_attrib_nodes[]’The list of geometry attribute nodes that are either connected or inherited bythe 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 geometryattribute nodes is called. The parameter list is identical to DL_userPreGeoMel.

Page 151: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 145

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 nodeattached 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 lightattribs node attached to the light source shape. The parameters list is identical toDL_userLightPreRenderMel.

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 is alsocalled as the last step of the DRP_Init() procedure. It could be used to configure a render passnode with different values than the default ones. It can also be used to add various customattributes, in which case it might be useful to also define DL_userRenderPassAEtemplate().Finally, it can be used to updat4e custom render pass attributes of older scenes. It shouldbe desgined so that it can be called several times with the same render pass node during asession.

global proc DL_userRenderPassAEtemplate (string $render pass)This procedure is called at the end of AEdelightRenderPassTemplate(), which isresponsible for defining the attribute editor template for render pass nodes. DL_userRenderPassAEtemplate can be used to define editor template command for user-definedattributes 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 displaydrivers 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 expectedto return an array of strings that will be used to build the user interface corresponding tothe AOV declarations returned by DL_userGetAllDisplayAOVDeclarations. Note that bothDL_userGetAllDisplayAOVs and DL_userGetAllDisplayAOVDeclarations procedures mustbe defined to be used; they are assumed to return arrays of the same size. The built-in AOVscan 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. 3Delightfor Maya looks for the currently selected AOV, figure its index in the array returnedby DL_userGetAllDisplayAOVs(), and uses that index on the array returned byDL_userGetAllDisplayAOVDeclarations to provide the display driver an outputvariable. Inline declarations are allowed. Note that both DL_userGetAllDisplayAOVs and

Page 152: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 146

DL_userGetAllDisplayAOVDeclarations procedures must be defined to be used; they areassumed to return arrays of the same size. The built-in AOV declarations can be retrievedby 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 thatprocedure). Invoking DL_userGeoAttribsInit is also the last thing done by DGA_Init().This procedure can be used to add extra attributes to a newly-created geometry attributesnode, or to update these custom attributes when an older scene is loaded. It should bedesgined so that it can be called several times with the same geometry attribute node duringa session.

global proc DL_userGeoAttribsAEtemplate (string $geo attr node name)This procedure is called at the end of AEdelightGeoAttribsTemplate(), which isresponsible for defining the attribute editor template for geometry attributes nodes.DL_userGeoAttribsAEtemplate can be used to define editor template command foruser-defined attributes added to the geometry attribute nodes.

7.5 Customizing Light Attribute Nodes

global proc DL_userLightAttribsInit (string $light attr node name)This procedure is called when a light attribute node is created using DLA_create() (the3Delight for Maya user interface always create light attribute nodes using that procedure).Invoking DL_userLightAttribsInit is also the last thing done by DLA_Init(). This proce-dure can be used to add extra attributes to a newly-created light attribute node, or to updatethese custom attributes when an older scene is loaded. It should be desgined so that it canbe called several times with the same light attribute node during a session.

global proc DL_userLightAttribsAEtemplate (string $light attr node name)This procedure is called at the end of AEdelightLightAttribsTemplate(), whichis responsible for defining the attribute editor template for light attribute nodes.DL_userLightAttribsAEtemplate can be used to define editor template command foruser-defined attributes added to the light attribute nodes.

7.6 Customizing Shader Nodes User Interface

7.6.1 Attribute Grouping

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

Grouping definition is done using shader annotations in the shader’s RenderMan shading lan-guage source file. The grouping information will be used to create frame layouts containing thespecified 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 putthe ‘tipcolor’ parameter gadgets in it.

Page 153: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 147

#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 annotationswill 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. Forexample, 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 macrotricks which are explained in 3Delight’s User’s Manual.

7.6.2 Defining Shader Parameter Gadgets

It is possible to modify the gadgets that are created by default using shader annotations in theshader’s RenderMan shading language source file. The annotations to define the user interface for agiven 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 allbe concatenated in a single annotation string by the shader compiler. The supported annotationsfor defining the user interface of a parameter are:

‘gadgettype=<type>’Specifies the type of gadget to create. The supported types are:

‘floatfield’A numeric text field that supports floating point values.

‘floatslider’A float text field with a slider. Supported only for the float shader parame-ter type. It is recommended to also supply the ‘min’ and ‘max’ annotationsas 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 shaderparameter 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 forthe string shader parameter type.

‘optionmenu:menuitem1<=value1>:...’An option menu that offers specified menu items. Supported only forstring and float parameter types. For the string parameter type, thedefault value of each menu item is the menu item string itself. For the

Page 154: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 148

float parameter type, the first menu item has a default value of 0, thesecond has a default value of 1, and so on. For example:

"gadgettype=optionmenu:zero:one:fifty=50:fifty-one;"

‘connectednodeoptionmenu[:option=value][...]’An option menu that lists nodes that can be connected to this shader node.Supported only for string parameters. The string shader parameter willreceive the name of the connected node. Since the node name is resolvedthrough the connection, it will always be up-to-date and take referenceprefixes into account. The following gadget options are available:

‘:type=<node_type>’The type of nodes that can be connected to this shader pa-rameter. Used in the window title that shows up when toomany nodes of this type exists to be listed in a menu. Ifno ‘listcmd’option is specified, the node type specified herewill be used to determine the list of candidate nodes for theconneciton. At least one of ‘type’ or ‘listcmd’ must bespecified.

‘:listcmd=<list_command>’A command that will return the list of nodes that are can-didates for connection to this shader parameter. When nolist command is specified, all nodes of the type specified bythe ‘type’ option are candidate for the connection. At leastone of ‘type’ or ‘listcmd’ must be specified.

‘:noconnectionlabel=<label>’The specified string will be displayed in the option menuwhen there are no connections defined for the shader pa-rameter. The default label in this case is ‘ <none>’.

‘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’slabel is the parameter name itself.

‘hide=<true/false>’When true, no gadget is generated for that parameter. However, the shader node willstill contain an attribute related to this parameter, thus the parameter’s value can bedefined outside of the Attribute Editor (by a ‘setAttr’ command for instance).

‘disable=<true/false>’When true, the gadget is generated for the parameter, but will be disabled (insensitive).

‘ignore=<true/false>’When true, the shader parameter is completely ignored - no gadget and no relatedattribute in the shader node are created; the shader parameter will not be specified inthe shader call made when rendering.

Page 155: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 149

‘min=<value>’‘max=<value>’

Specify min and max values for the attribute. These values are used at attributecreation time so Maya will enforce these limits even for incoming connections, scriptedsetAttr commands, etc.

‘hint=<hint text>’Specify a gadget annotation that appears when the mouse pointer is left over the gadgetfor 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;"

#pragma annotation cameraParam "label=camera label;"

#pragma annotation cameraParam "gadgettype=connectednodeoptionmenu:listcmd=ls -type camera"

#pragma annotation coordSysParam "label=coordinate system;"

#pragma annotation coordSysParam "gadgettype=connectednodeoptionmenu

#pragma annotation coordSysParam ":type=delightCoordinateSystem"

#pragma annotation coordSysParam ":noconnectionlabel=no connection"

surface annotationTestShader(

float floatenum=0;

string stringenum="item 2";

float floatParam = 2;

string cameraParam = "";

string coordSysParam = "";)

{

}

7.6.3 Defining Presets

Predefined groups of shader parameter values can be defined by using the "preset" annotation.Shaders using this annotation will display a "Preset" option menu near the top of the attributeeditor. This option menu will list the defined preset names; selected one will assign the definedshader parameter values to their respective attribute. Other attributes are not affected by thepreset selection. The preset annotation syntax is:

#pragma annotation preset:<preset_name> "<shader_param_name>=<value>;[<shader_param_name>=<value>;...]"

7.7 Defining Custom Shader Nodes

It is possible to define custom Maya nodes to be used along with a RenderMan shader file. Thefollowing should be considered for the custom nodes to be correctly assigned and output by the3Delight for Maya:

• The shader node should contain a string attribute named "shaderType"; this attribute is as-sumed to be set to a value corresponding to the type of shader that the node is related to. Thefollowing string values are available:

‘surface’

Page 156: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 150

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

‘string $light_handle’The handle of the light source assigned to the shader. An empty stringis passed when the shader node is assigned to something else than a lightsource shape.

• The shader node type can be unregistered by passing the node type string toDSN_removeCustomShaderNodeType.

7.8 Defining Custom Hypershade Nodes

3Delight for Maya provides header files in the ‘$DELIGHT/maya/rsl’ directory; these header filesare used for translating the Hypershade nodes to RenderMan shading language source code. It ispossible to complement (in case some custom Hypershade nodes are used) or replace the content ofthis 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, separatedby a colon character.

7.9 Rendering Custom Nodes

7.9.1 Rendering Custom Geometry Nodes

It is possible to extend 3Delight for Maya to support custom DAG nodes. The steps to define howto render custom geometry nodes are:• Define a cache command, responsible for taken snapshots of the object’s geometry and out-

putting 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 passnode used for rendering. Once the current time is set, every renderable object in the scene is cached

Page 157: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 151

via a cache command. Then 3Delight for Maya will move the current time to the next motion sampleif needed and the caching process will occur again. When working with motion-blurred objects, itmay be required to know their topology at all time samples prior outputting the object data toRIB. The cache mechanism was implemented to avoid several current time changes done by everyrendered objects, as changing the current time can be a time-consuming operation in Maya anddynamic 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 andwhen the object should be output to RIB. The command can have any name and must support thefollowing syntax: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 currenttime, which is passed via the -sampleTime flag; the command can assume that Maya’scurrent time is already set to this value when it is called. The command should store acombination of the object’s name, topology, sample time. No return value is expected.

cache_command -listReturn the names of the shapes that have been cached by this command in a stringarray.

cache_command -flushClear 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 ArchiveBegin/End blockfor the specified object. If the object can be deformation blurred, it should producethe 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:

Page 158: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 152

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 requirements. Theprocedure is passed empty string arrays. For a given index, each array is expected to containthe 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 tryingto cache nodes of that type, 3Delight for Maya will check if the specified pluginname is loaded. If the plugin is not loaded, any nodes of the related type willbe ignored from the rendering. Setting the plugin name to an empty string willavoid any plugin verification.

‘string $cache_commands[]’The names of the cache commands. Nodes of type ‘$node_type[x]’ will becached 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 anObjectBegin / End block (which are more efficient with object instances) and will issue properObjectInstance statements for each renderable object. If the cache command produces an inlinearchive 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 thename of the shape to be rendered. If the procedures returns a non-zero value, ObjectInstancecommands will be used; otherwise ReadArchive statements will be issued.

7.9.2 Rendering Custom Light Nodes

It is possible to extend 3Delight for Maya to support custom light nodes. The steps to define howto render custom light nodes nodes are:

• Properly define and register the custom light node. The custom node type should be listed inthe return value of the command listNodeTypes light. This can be achieved by deriving thecustom 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 lightshader call when outputting a light source shape. If the custom node type requires a differentbehaviour, 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.

Page 159: 3DelightForMaya-UserManual

Chapter 7: Developer’s Corner 153

• (Optional) define an illuminate procedure. By default 3Delight for Maya will issue one Illumi-nate state per custom light node whenever an illuminate statement is needed. If the customnode type requires a different behaviour (such as producing multiple illuminate statements perlight), a custom light illuminate procedure should be defined:

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 uniqueDAG 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, thefollowing 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. Theprocedure is passed empty string arrays. For a given index, each array is expected tocontain 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 ofthe related type. If set to an empty string, of if the procedure evaluationreturns a non-zero value, the related light node type is assumed to be avalid, renderable node type.

‘string $output_commands[]’The names of the light output procedure matching the related custom nodetype. If set to an empty string, 3Delight for Maya will produce a light shadercall when relevant.

‘string $illuminate_commands[]’The names of the light illuminate procedure matching the related customnode type. If set to an empty string, 3Delight for Maya will produce asimple RiIlluminate statement when relevant.

Page 160: 3DelightForMaya-UserManual

Chapter 8: Limitations 154

8 Limitations

3Delight for Maya tries to closely replicate Maya behaviour when rendering. There are howeversome 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 RollPivot, 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 followingconditions 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, anextra connection must be added. Create a bumpNormal attribute of type vector on the bump2dnode and connect the desired normal (e.g. texture) to it. This is needed to avoid fetching thenormal from whatever node is connected on the bumpValue input, which is unreliable and notflexible.

• The following nodes are not supported: hairTubeShader, envSky, movie, water. Nodes in theVolumetric section are also not supported.

Page 161: 3DelightForMaya-UserManual

List of Figures 155

List of Figures

Figure 3.1: The 3Delight Relationship Editor in two-pane mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Figure 3.2: List of all operations available to all panes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Figure 3.3: List of all operations in the Show menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Figure 3.4: List of all operations in the Edit menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Figure 3.5: List of all actions available through the contextual menu of the attribute pane. . . 7Figure 3.6: The 3Delight Relationship Editor in three-pane mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Figure 3.7: List of all actions available through the contextual menu of the collection as passes

pane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Figure 3.8: The Assignment Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Figure 3.9: The Shader Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Figure 3.10: The Add / Remove Attributes Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Figure 3.11: An empty Geometry Atrtibute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Figure 3.12: The General attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Figure 3.13: The Quality attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Figure 3.14: The Visibility attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Figure 3.15: The Lighting attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Figure 3.16: The Raytracing attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Figure 3.17: The Motion Blur attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Figure 3.18: The Global Illumination Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Figure 3.19: The Displacement attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Figure 3.20: The Culling And Dicing attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Figure 3.21: The Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Figure 3.22: The Polygons Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Figure 3.23: The Polygons Geometry Wireframe attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figure 3.24: The NURBS Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figure 3.25: The Curves Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figure 3.26: The Particles Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Figure 3.27: The Maya Fur Geometry attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Figure 3.28: The Reference Geometry panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Figure 3.29: The Subsurface Scattering panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Figure 3.30: The MEL Scripts panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Figure 3.31: The RIB Archive panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Figure 3.32: The Reflection shading attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Figure 3.33: An empty Light Attribute Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Figure 3.34: The Shadow Maps attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figure 3.35: The Shadow Objects attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Figure 3.36: The Photon Maps Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figure 3.37: The Category Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figure 3.38: The Motion Blur Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figure 3.39: The Area Light Light Attribute Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figure 3.40: The Light MEL Scripts attribute panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Figure 3.41: An empty Render Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Figure 3.42: The Camera panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Figure 3.43: The Output panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Figure 3.44: The Quality panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Figure 3.45: The Raytracing Quality panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Figure 3.46: The Motion Blur panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Figure 3.47: The Displays panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Figure 3.48: The Advanced Displays panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Page 162: 3DelightForMaya-UserManual

List of Figures 156

Figure 3.49: The Edge Detection Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Figure 3.50: The Shadow Maps panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Figure 3.51: The Global Illumination section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Figure 3.52: The Global Illumination section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Figure 3.53: The Environment section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Figure 3.54: The Photon Maps section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Figure 3.55: The Point Cloud section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Figure 3.56: The Render Sets panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Figure 3.57: The RIB Archives panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Figure 3.58: The RIB Fragments panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Figure 3.59: The Search Paths panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Figure 3.60: The MEL Scripts panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Figure 3.61: The Advanced panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Figure 3.62: The Network Cache panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Figure 3.63: The Statistics Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Figure 3.64: The 3Delight Render Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Figure 3.65: The RIB Archive panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Figure 3.66: The RenderMan Code panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Figure 3.67: The RenderMan Material panel for a newly created node . . . . . . . . . . . . . . . . . . . . . . 95Figure 3.68: The RenderMan Material panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Figure 3.69: The Coordinate System Node Drawing Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Figure 3.70: The CSG node panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Figure 3.71: The File Viewing Applications Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Figure 3.72: The Shaders Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Figure 5.1: List of all primitive variables for Shave hair shapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Page 163: 3DelightForMaya-UserManual

Concept Index 157

Concept Index

3DFM FLUIDS PATH, environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM FURFILES PATH, environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM OUTPUT PATH, environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM RIBFRAGMENTS PATH, environmentvariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM SHADERS PATH, environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM SHADOWMAPS PATH, environmentvariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3DFM SL INCLUDE PATH, environmentvariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

3DFM TEMPLATES PATH, environmentvariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

3DFM TEXTURES PATH, environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

33delight fluids files, project setting . . . . . . . . . . . . 1363delight fur files, project setting . . . . . . . . . . . . . . 1363delight shaders, project setting . . . . . . . . . . . . . . 1363delight shadow saps, project setting . . . . . . . . . . 1363delight templates, project setting . . . . . . . . . . . . 1373delight textures, project setting . . . . . . . . . . . . . . 137

Aaccessor call, renderman material . . . . . . . . . . . . . . 97add call, renderman material . . . . . . . . . . . . . . . . . . . 97add display, render pass . . . . . . . . . . . . . . . . . . . . . . . 60add render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50add rib fragment, render pass . . . . . . . . . . . . . . . . . . 81add to final mix, render pass . . . . . . . . . . . . . . . . . . . 72advanced, Number Of CPUs . . . . . . . . . . . . . . . . . . . 85advanced, standard atmosphere . . . . . . . . . . . . . . . . 86advanced, translate Maya shaders . . . . . . . . . . . . . . 85advanced, translate maya shaders aovs . . . . . . . . . 85advanced, use Maya shaders . . . . . . . . . . . . . . . . . . . 85advanced, volume shading rate . . . . . . . . . . . . . . . . . 86ambient render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 63animation, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 53AOV, a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62AOV, ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, camera space normal . . . . . . . . . . . . . . . . . . . . 65AOV, color no shadow . . . . . . . . . . . . . . . . . . . . . . . . . 64AOV, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59AOV, diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, diffuse intensity . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, diffuse intensity no shadow . . . . . . . . . . . . . . 63AOV, diffuse no shadow . . . . . . . . . . . . . . . . . . . . . . . 63

AOV, environment diffuse . . . . . . . . . . . . . . . . . . . . . 65AOV, environment reflection . . . . . . . . . . . . . . . . . . . 64AOV, environment specular . . . . . . . . . . . . . . . . . . . . 65AOV, facing ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65aov, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135AOV, global illumination . . . . . . . . . . . . . . . . . . . . . . 65AOV, incandescence . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, indirect diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . 65AOV, key lights diffuse intensity . . . . . . . . . . . . . . . 63AOV, key lights diffuse intensity no shadow . . . . 63AOV, key lights specular intensity . . . . . . . . . . . . . 64AOV, key lights specular intensity no shadow . . 64AOV, luminance depth . . . . . . . . . . . . . . . . . . . . . . . . 64AOV, occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65AOV, Oi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62AOV, raytraced reflection . . . . . . . . . . . . . . . . . . . . . . 64AOV, reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, refraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, rgba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62AOV, shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, specular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63AOV, specular intensity . . . . . . . . . . . . . . . . . . . . . . . 64AOV, specular intensity no shadow . . . . . . . . . . . . 64AOV, specular no shadow . . . . . . . . . . . . . . . . . . . . . . 64AOV, surface color . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64AOV, translucence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63aovs, translate maya shaders, advanced . . . . . . . . 85aperture, number of blades, render pass . . . . . . . . 57aperture, polygonal, render pass . . . . . . . . . . . . . . . 57aperture, rotation, render pass . . . . . . . . . . . . . . . . . 57archive lighting, RIB archive . . . . . . . . . . . . . . . . . . . 78archive search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . 82archive write mode, RIB archive . . . . . . . . . . . . . . . 79area light samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48area light, sampling strategy . . . . . . . . . . . . . . . . . . . 48aspect ratio, pixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53associate alpha, display . . . . . . . . . . . . . . . . . . . . . . . . 68automatic file output directory . . . . . . . . . . . . . . . 136

Bbackfacing surfaces culling . . . . . . . . . . . . . . . . . . . . . 26background render log, render pass . . . . . . . . . . . . 55background render parameters, render pass . . . . 55background render, render pass . . . . . . . . . . . . . . . . 55base ambient color, maya fur . . . . . . . . . . . . . . . . . . . 35base color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . 34basis, normalize, nurbs . . . . . . . . . . . . . . . . . . . . . . . . . 30beauty render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62bias, ray tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22binary RIB output, render pass . . . . . . . . . . . . . . . . 55binary rib, rib fragments, render pass . . . . . . . . . . 81bit depth, display, render pass . . . . . . . . . . . . . . . . . 65black point, render pass . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 164: 3DelightForMaya-UserManual

Concept Index 158

bmp display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61browse file, rib fragment, render pass . . . . . . . . . . . 81browse image file, display, render pass . . . . . . . . . . 61bucket order, render pass . . . . . . . . . . . . . . . . . . . . . . 53bucket, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Ccalls, renderman material . . . . . . . . . . . . . . . . . . . . . . 96camera motion blur samples, render pass . . . . . . . 58camera motion blur, render pass . . . . . . . . . . . . . . . 58camera name, render pass . . . . . . . . . . . . . . . . . . . . . . 52camera space normal render pass . . . . . . . . . . . . . . 65camera visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20camera, dicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26camera, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134camera, shadow map . . . . . . . . . . . . . . . . . . . . . . . . . . 46cast shadows from environment, render pass . . . . 73casts shadows render stat . . . . . . . . . . . . . . . . . . . . . 123category, light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47cineon display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 61clipping plane, far, shadow map . . . . . . . . . . . . . . . . 46clipping plane, near, shadow map . . . . . . . . . . . . . . 46clipping planes, render sets . . . . . . . . . . . . . . . . . . . . 77close, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . 12clump id, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36clumping frequency, maya fur . . . . . . . . . . . . . . . . . . 34coefficient scale, subsurface scattering . . . . . . . . . . 37color bleeding intensity, render pass . . . . . . . . . . . . 73color bleeding output variable . . . . . . . . . . . . . . . . . . 65color no shadow render pass . . . . . . . . . . . . . . . . . . . 64color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34color, surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18command line rendering . . . . . . . . . . . . . . . . . . . . . . 106composite objects behind, visibility . . . . . . . . . . . . 20compressed RIB output, render pass . . . . . . . . . . . 55compressed rib, rib fragments . . . . . . . . . . . . . . . . . . 81compute alpha, display . . . . . . . . . . . . . . . . . . . . . . . . 68constructive solid geometry . . . . . . . . . . . . . . . . . . . 101coordinate system, cylinder . . . . . . . . . . . . . . . . . . . . 98coordinate system, dome . . . . . . . . . . . . . . . . . . . . . . . 98coordinate system, draw method . . . . . . . . . . . . . . . 98coordinate system, plane . . . . . . . . . . . . . . . . . . . . . . . 98coordinate system, sphere . . . . . . . . . . . . . . . . . . . . . . 98coordinate system, texture filename . . . . . . . . . . . . 98coordinate system, texture opacity . . . . . . . . . . . . . 98coordinate system, texture resolution . . . . . . . . . . 98creating a render pass . . . . . . . . . . . . . . . . . . . . . . . . . 50crop window, render pass . . . . . . . . . . . . . . . . . . . . . . 53csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101csg node, difference . . . . . . . . . . . . . . . . . . . . . . . . . . . 101csg node, intersection . . . . . . . . . . . . . . . . . . . . . . . . . 101csg node, operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 101csg node, select objects . . . . . . . . . . . . . . . . . . . . . . . 101csg node, union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101cube shadow map, generate . . . . . . . . . . . . . . . . . . . . 46culling, backfacing surfaces . . . . . . . . . . . . . . . . . . . . 26culling, hidden surfaces . . . . . . . . . . . . . . . . . . . . . . . . 26

current frame number, file paths . . . . . . . . . . . . . . 134cylinder, coordinate system . . . . . . . . . . . . . . . . . . . . 98

Ddeep shadow map, display driver . . . . . . . . . . . . . . . 62deep shadow map, volume interpretation . . . . . . . 45deep shadow map, volume interpretation,

continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71deep shadow map, volume interpretation, discrete

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71deep shadow map, volume interpretation, distance

inside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71deep shadow maps, volume interpretation . . . . . . 71deformation blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23deformation motion blur samples, render pass . . 58deformation motion blur, render pass . . . . . . . . . . 58depth filter, average, shadow map . . . . . . . . . . . . . . 45depth filter, average, shadow maps . . . . . . . . . . . . . 71depth filter, max, shadow map . . . . . . . . . . . . . . . . . 45depth filter, max, shadow maps . . . . . . . . . . . . . . . . 71depth filter, midpoint, shadow map . . . . . . . . . . . . 45depth filter, midpoint, shadow maps . . . . . . . . . . . 71depth filter, min, shadow map . . . . . . . . . . . . . . . . . 45depth filter, min, shadow maps . . . . . . . . . . . . . . . . 71depth filter, shadow map . . . . . . . . . . . . . . . . . . . . . . 45depth filter, shadow maps . . . . . . . . . . . . . . . . . . . . . . 70depth of field, focus factor . . . . . . . . . . . . . . . . . . . . . 19depth of field, motion factor . . . . . . . . . . . . . . . . . . . 19depth, luminance, render pass . . . . . . . . . . . . . . . . . . 64dicing camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26dicing, hair, micropolygons in U . . . . . . . . . . . . . . . 26dicing, raster oriented . . . . . . . . . . . . . . . . . . . . . . . . . 26difference, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . 101diffuse intensity no shadow render pass . . . . . . . . . 63diffuse intensity render pass . . . . . . . . . . . . . . . . . . . . 63diffuse no shadow render pass . . . . . . . . . . . . . . . . . . 63diffuse render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63diffuse, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21directional shadows, render pass . . . . . . . . . . . . . . . 73directory, fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136directory, fragments . . . . . . . . . . . . . . . . . . . . . . . . . . 136directory, fur files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136directory, shader selector . . . . . . . . . . . . . . . . . . . . . . 11directory, shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136directory, shadow maps . . . . . . . . . . . . . . . . . . . . . . . 136directory, templates . . . . . . . . . . . . . . . . . . . . . . . . . . 137directory, textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137displacement bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 25displacement bound space . . . . . . . . . . . . . . . . . . . . . 25displacement, raytracing . . . . . . . . . . . . . . . . . . . . . . . 22display AOV, rgb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62display AOV, z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62display driver, bmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, cineon . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, deep shadow map . . . . . . . . . . . . . . . 62display driver, dsm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62display driver, eps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Page 165: 3DelightForMaya-UserManual

Concept Index 159

display driver, exr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, framebuffer . . . . . . . . . . . . . . . . . . . . . 61display driver, i-display . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, iff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, maya render view . . . . . . . . . . . . . . . 61display driver, null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62display driver, png . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, psd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display driver, render pass . . . . . . . . . . . . . . . . . . . . . 61display driver, shadow map . . . . . . . . . . . . . . . . . . . . 62display driver, texture . . . . . . . . . . . . . . . . . . . . . . . . . 62display driver, tiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61display mode, render pass . . . . . . . . . . . . . . . . . . . . . . 62display subset, display, render pass . . . . . . . . . . . . . 67display, add, render pass . . . . . . . . . . . . . . . . . . . . . . . 60display, bit depth, render pass . . . . . . . . . . . . . . . . . 65display, browse image file, render pass . . . . . . . . . . 61display, compute alpha . . . . . . . . . . . . . . . . . . . . . . . . 68display, display mode, render pass . . . . . . . . . . . . . 62display, exclusive output . . . . . . . . . . . . . . . . . . . . . . . 68display, gain, render pass . . . . . . . . . . . . . . . . . . . . . . 67display, gamma, render pass . . . . . . . . . . . . . . . . . . . 67display, image filename, render pass . . . . . . . . . . . . 60display, output variable, a . . . . . . . . . . . . . . . . . . . . . 62display, output variable, Oi . . . . . . . . . . . . . . . . . . . . 62display, output variable, render pass . . . . . . . . . . . 62display, output variable, rgb . . . . . . . . . . . . . . . . . . . 62display, output variable, rgba . . . . . . . . . . . . . . . . . . 62display, output variable, z . . . . . . . . . . . . . . . . . . . . . . 62display, override pixel filter, render pass . . . . . . . . 67display, pixel filter, render pass . . . . . . . . . . . . . . . . 67display, quantize, render pass . . . . . . . . . . . . . . . . . . 65display, remove, render pass . . . . . . . . . . . . . . . . . . . 61display, render, render pass . . . . . . . . . . . . . . . . . . . . 60display, use matte attribute . . . . . . . . . . . . . . . . . . . . 68display, view image, render pass . . . . . . . . . . . . . . . 61display,associate alpha . . . . . . . . . . . . . . . . . . . . . . . . . 68displays, filter width, render pass . . . . . . . . . . . . . . 67displays, render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 59dome, coordinate system . . . . . . . . . . . . . . . . . . . . . . . 98double shaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18double sided . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18double sided render stat . . . . . . . . . . . . . . . . . . . . . . 123double sided shading . . . . . . . . . . . . . . . . . . . . . . . . . . . 18draw method, coordinate system . . . . . . . . . . . . . . . 98driver, display, render pass . . . . . . . . . . . . . . . . . . . . . 61dsm display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62duplicate render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 51dynamics, rendering . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Eend angle, polygon mesh, round edges . . . . . . . . . . 29end sharpness, polygon mesh, round edges . . . . . 29end width, maya curves . . . . . . . . . . . . . . . . . . . . . . . . 30environment color gain, global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

environment color offset, global illumination,render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

environment diffuse output variable . . . . . . . . . . . . 65environment intensity, global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74environment map, global illumination, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74environment reflection render pass . . . . . . . . . . . . . 64environment specular output variable . . . . . . . . . . 65environment specularity, global illumination,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74environment variable, 3DFM FLUIDS PATH

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136environment variable, 3DFM FURFILES PATH

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136environment variable, 3DFM OUTPUT PATH

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136environment variable,

3DFM RIBFRAGMENTS PATH . . . . . . . 136environment variable, 3DFM SHADERS PATH

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136environment variable,

3DFM SHADOWMAPS PATH . . . . . . . . . 136environment variable,

3DFM SL INCLUDE PATH . . . . . . . . . . . . 150environment variable,

3DFM TEMPLATES PATH . . . . . . . . . . . . 137environment variable, 3DFM TEXTURES PATH

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137environment variables, file paths . . . . . . . . . . . . . . 134eps display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61exclusive output, display . . . . . . . . . . . . . . . . . . . . . . . 68export creases, polygon mesh . . . . . . . . . . . . . . . . . . 28export hard edges, polygon mesh . . . . . . . . . . . . . . . 28exr display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61extension, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . 134extreme motion depth of field, motion blur . . . . . 59

Ffacing ratio render pass . . . . . . . . . . . . . . . . . . . . . . . . 65falloff, global illumination, render pass . . . . . . . . . 74far clipping plane, shadow map . . . . . . . . . . . . . . . . 46fast image based lighting, global illumination,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72file output, fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136file output, fragments, render pass . . . . . . . . . . . . 136file output, fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136file output, hypershade shaders . . . . . . . . . . . . . . . 136file output, shadow map . . . . . . . . . . . . . . . . . . . . . . 136file output, templates, render pass . . . . . . . . . . . . 137file output, textures . . . . . . . . . . . . . . . . . . . . . . . . . . 137file path tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, aov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135file paths, camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, current frame number . . . . . . . . . . . . . . 134file paths, environment variables . . . . . . . . . . . . . . 134file paths, extension . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Page 166: 3DelightForMaya-UserManual

Concept Index 160

file paths, fragment set . . . . . . . . . . . . . . . . . . . . . . . 134file paths, frame number expressions . . . . . . . . . . 134file paths, home directory . . . . . . . . . . . . . . . . . . . . . 134file paths, layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, MEL command . . . . . . . . . . . . . . . . . . . . 134file paths, output variable . . . . . . . . . . . . . . . . . . . . 135file paths, pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134file paths, shape name . . . . . . . . . . . . . . . . . . . . . . . . 134file viewing applications, preferences . . . . . . . . . . 103filename shadow map . . . . . . . . . . . . . . . . . . . . . . . . . . 44filename, rib fragment . . . . . . . . . . . . . . . . . . . . . . . . . 81filter width, display, render pass . . . . . . . . . . . . . . . 67filter width, render pass . . . . . . . . . . . . . . . . . . . . . . . . 56fluids, project setting . . . . . . . . . . . . . . . . . . . . . . . . . 136focus factor, depth of field . . . . . . . . . . . . . . . . . . . . . 19focus factor, quality . . . . . . . . . . . . . . . . . . . . . . . . . . . 19fragment set, file paths . . . . . . . . . . . . . . . . . . . . . . . 134fragments, project setting . . . . . . . . . . . . . . . . . . . . . 136fragments, render pass, file output . . . . . . . . . . . . 136frame increment, render pass . . . . . . . . . . . . . . . . . . 53frame number expressions, file paths . . . . . . . . . . 134frame range, render pass . . . . . . . . . . . . . . . . . . . . . . . 53framebuffer display driver . . . . . . . . . . . . . . . . . . . . . . 61fuilds files output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136full global illumination, global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72fur files output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136fur files, project setting . . . . . . . . . . . . . . . . . . . . . . . 136fur, maya, clumping frequency . . . . . . . . . . . . . . . . . 34fur, maya, output base ambient color . . . . . . . . . . . 35fur, maya, output base color . . . . . . . . . . . . . . . . . . . 34fur, maya, output clump id . . . . . . . . . . . . . . . . . . . . 36fur, maya, output hair id . . . . . . . . . . . . . . . . . . . . . . 35fur, maya, output hair length . . . . . . . . . . . . . . . . . . 35fur, maya, output hair tip point . . . . . . . . . . . . . . . . 36fur, maya, output specular color . . . . . . . . . . . . . . . 35fur, maya, output specular sharpness . . . . . . . . . . . 35fur, maya, output surface color . . . . . . . . . . . . . . . . . 34fur, maya, output surface normal . . . . . . . . . . . . . . 35fur, maya, output surface opacity . . . . . . . . . . . . . . 34fur, maya, output surface point . . . . . . . . . . . . . . . . 35fur, maya, output surface u . . . . . . . . . . . . . . . . . . . . 35fur, maya, output surface v . . . . . . . . . . . . . . . . . . . . 35fur, maya, output tip ambient color . . . . . . . . . . . . 35fur, maya, output tip color . . . . . . . . . . . . . . . . . . . . . 34fur, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Ggain, display. render pass . . . . . . . . . . . . . . . . . . . . . . 67gamma, display. render pass . . . . . . . . . . . . . . . . . . . 67generate first frame only, shadow map . . . . . . . . . . 45generate shadow maps . . . . . . . . . . . . . . . . . . . . . . . . . 44geometry, post geometry MEL script . . . . . . . . . . . 38geometry, pre geometry MEL script . . . . . . . . . . . . 38global illumination effect, render pass . . . . . . . . . . 71

global illumination output variable . . . . . . . . . . . . . 65global illumination, add to final mix, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72global illumination, black point, render pass . . . . 73global illumination, cast shadows from

environment, render pass . . . . . . . . . . . . . . . . . . 73global illumination, color bleeding intensity, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73global illumination, environment color gain, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75global illumination, environment color offset,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75global illumination, environment intensity, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74global illumination, environment specularity,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74global illumination, falloff, render pass . . . . . . . . . 74global illumination, fast image based lighting,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72global illumination, full global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72global illumination, max distance, render pass . . 73global illumination, occlusion, render pass . . . . . . 71global illumination, point based full global

illumination, render pass . . . . . . . . . . . . . . . . . . 72global illumination, point cloud bake camera,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76global illumination, point cloud bias, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77global illumination, point cloud file, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76global illumination, point cloud max solid angle,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77global illumination, point cloud shading rate

multiplier, render pass . . . . . . . . . . . . . . . . . . . . 76global illumination, point cloud write mode, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76global illumination, samples, render pass . . . . . . . 73global illumination, use as background, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74global illumination, use coordinate system, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74global illumination, white point, render pass . . . 73group, subsurface scattering . . . . . . . . . . . . . . . . . . . 37

Hhair dicing, micropolygons in U . . . . . . . . . . . . . . . . 26hair id, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35hair length, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . 35hair tip point, maya fur . . . . . . . . . . . . . . . . . . . . . . . . 36hidden surface culling . . . . . . . . . . . . . . . . . . . . . . . . . . 26hide attributes, shader nodes . . . . . . . . . . . . . . . . . 105hider, composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20home directory, file paths . . . . . . . . . . . . . . . . . . . . . 134hypershade header files . . . . . . . . . . . . . . . . . . . . . . . 150hypershade shader file output . . . . . . . . . . . . . . . . . 136hypershade shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Page 167: 3DelightForMaya-UserManual

Concept Index 161

hypershade translation . . . . . . . . . . . . . . . . . . . . . . . 138hypershade, textures . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Ii-display display driver . . . . . . . . . . . . . . . . . . . . . . . . . 61iff display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61ignore archived displacement shaders, RIB archive

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39ignore archived geometry attributes, RIB archive

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39ignore archived light links, RIB archive . . . . . . . . 39ignore archived light sources, RIB archive . . . . . . 39ignore archived surface shaders, RIB archive . . . 39ignore archived transforms, RIB archive . . . . . . . . 39illumination, from light linking . . . . . . . . . . . . . . . . . 22image filename, display, render pass . . . . . . . . . . . . 60image pixel aspect ratio . . . . . . . . . . . . . . . . . . . . . . . . 53image resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52image resolution multiplier . . . . . . . . . . . . . . . . . . . . . 53image viewing application . . . . . . . . . . . . . . . . . . . . 103image, crop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53imager shader, use, render pass . . . . . . . . . . . . . . . . 54incandescence render pass . . . . . . . . . . . . . . . . . . . . . 63indirect diffuse output variable . . . . . . . . . . . . . . . . . 65input plug, renderman code . . . . . . . . . . . . . . . . . . . . 94installation, linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2installation, mac os x . . . . . . . . . . . . . . . . . . . . . . . . . . . 2installation, windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 2interpolate boundary, polygon mesh . . . . . . . . . . . . 28intersection, csg node . . . . . . . . . . . . . . . . . . . . . . . . . 101irradiance, max error . . . . . . . . . . . . . . . . . . . . . . . . . . 25irradiance, shading rate . . . . . . . . . . . . . . . . . . . . . . . . 25

Kkey light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47key lights diffuse intensity render pass . . . . . . . . . 63key lights diffuse intensity render pass no shadow

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63key lights specular intensity no shadow render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64key lights specular intensity render pass . . . . . . . . 64

Llaunch rendering, render pass . . . . . . . . . . . . . . . . . . 51layer to render, render sets . . . . . . . . . . . . . . . . . . . . . 77layers, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134light category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47light emitting photons . . . . . . . . . . . . . . . . . . . . . . . . . 47light linking, objects illumination . . . . . . . . . . . . . . 22light, key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47light, shadow map post render MEL script . . . . . 49light, shadow map pre render MEL script . . . . . . 49light, transformation blur . . . . . . . . . . . . . . . . . . . . . . 47lights illuminating object . . . . . . . . . . . . . . . . . . . . . . 22lights to render, render sets . . . . . . . . . . . . . . . . . . . . 77

linux, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2log viewing application . . . . . . . . . . . . . . . . . . . . . . . 103luminance depth render pass . . . . . . . . . . . . . . . . . . . 64

Mmac os x, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2material file, renderman material . . . . . . . . . . . . . . . 96matte object, visibility . . . . . . . . . . . . . . . . . . . . . . . . . 20max distance, global illumination, render pass . . 73max error, irradiance . . . . . . . . . . . . . . . . . . . . . . . . . . 25maya curves, end width . . . . . . . . . . . . . . . . . . . . . . . . 30maya curves, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 30maya curves, start width . . . . . . . . . . . . . . . . . . . . . . . 30maya fur, animation problem . . . . . . . . . . . . . . . . . 130maya fur, clumping frequency . . . . . . . . . . . . . 34, 130maya fur, not reflected . . . . . . . . . . . . . . . . . . . . . . . . 130maya fur, not refracted . . . . . . . . . . . . . . . . . . . . . . . 130maya fur, output base ambient color . . . . . . . . . . . 35maya fur, output base color . . . . . . . . . . . . . . . . . . . . 34maya fur, output clump id . . . . . . . . . . . . . . . . . . . . . 36maya fur, output hair id . . . . . . . . . . . . . . . . . . . . . . . 35maya fur, output hair length . . . . . . . . . . . . . . . . . . . 35maya fur, output hair tip point . . . . . . . . . . . . . . . . 36maya fur, output specular color . . . . . . . . . . . . . . . . 35maya fur, output specular sharpness . . . . . . . . . . . 35maya fur, output surface color . . . . . . . . . . . . . . . . . 34maya fur, output surface normal . . . . . . . . . . . . . . . 35maya fur, output surface opacity . . . . . . . . . . . . . . . 34maya fur, output surface point . . . . . . . . . . . . . . . . . 35maya fur, output surface u . . . . . . . . . . . . . . . . . . . . . 35maya fur, output surface v . . . . . . . . . . . . . . . . . . . . . 35maya fur, output tip ambient color . . . . . . . . . . . . . 35maya fur, output tip color . . . . . . . . . . . . . . . . . . . . . 34maya fur, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130maya fur, U samples . . . . . . . . . . . . . . . . . . . . . . . . . . 130maya fur, V samples . . . . . . . . . . . . . . . . . . . . . . . . . . 130Maya hair, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Maya Paint FX, tips . . . . . . . . . . . . . . . . . . . . . . . . . . 129maya render view display driver . . . . . . . . . . . . . . . . 61MEL command, file paths . . . . . . . . . . . . . . . . . . . . 134MEL script, light pre render . . . . . . . . . . . . . . . . . . . 49MEL script, post geometry . . . . . . . . . . . . . . . . . . . . 38MEL script, pre geometry . . . . . . . . . . . . . . . . . . . . . 38MEL script, shadow map post render . . . . . . . . . . 49method call, renderman material . . . . . . . . . . . . . . . 97motion blur and visibility . . . . . . . . . . . . . . . . . . . . . 132motion blur position, render pass . . . . . . . . . . . . . . 58motion blur render stat . . . . . . . . . . . . . . . . . . . . . . . 123motion blur, camera, render pass . . . . . . . . . . . . . . 58motion blur, deformation blur . . . . . . . . . . . . . . . . . 23motion blur, deformation, render pass . . . . . . . . . . 58motion blur, extreme motion DOF, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59motion blur, raytracing . . . . . . . . . . . . . . . . . . . . . . . . 22motion blur, sample motion, render pass . . . . . . . 59motion blur, samples, camera motion blur . . . . . . 58motion blur, shadow map, generate with . . . . . . . 46

Page 168: 3DelightForMaya-UserManual

Concept Index 162

motion blur, transformation blur . . . . . . . . . . . . . . . 23motion blur, transformation, render pass . . . . . . . 58motion factor, depth of field . . . . . . . . . . . . . . . . . . . 19motion factor, quality . . . . . . . . . . . . . . . . . . . . . . . . . . 19motion quality, motion factor . . . . . . . . . . . . . . . . . . 19move call down, renderman material . . . . . . . . . . . 97move call up, renderman material . . . . . . . . . . . . . . 97multi-bounce global illumination . . . . . . . . . . . . . . . 75multiplier, resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 53multiprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Nname filter, shader selector . . . . . . . . . . . . . . . . . . . . . 12nCloth, render as particles . . . . . . . . . . . . . . . . . . . . . 32near clipping plane, shadow map . . . . . . . . . . . . . . . 46network cache, directory . . . . . . . . . . . . . . . . . . . . . . . 86network cache, size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87normalize nurbs basis . . . . . . . . . . . . . . . . . . . . . . . . . . 30Nref, output, reference geometry . . . . . . . . . . . . . . . 36null display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62nurbs, normalize basis . . . . . . . . . . . . . . . . . . . . . . . . . 30

Oobject set, rib fragment, render pass . . . . . . . . . . . 82objects in shadow map . . . . . . . . . . . . . . . . . . . . . . . . . 46objects to render, render sets . . . . . . . . . . . . . . . . . . 77occlusion render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 65occlusion, global illumination, render pass . . . . . . 71occlusion, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21opacity threshold, shadow maps . . . . . . . . . . . . . . . . 70opacity, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34opacity, surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18openexr display driver . . . . . . . . . . . . . . . . . . . . . . . . . 61operation, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . 101opposite render stat . . . . . . . . . . . . . . . . . . . . . . . . . . 124options, command line . . . . . . . . . . . . . . . . . . . . . . . . 106orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18output all uvsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27output maya curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30output Nref, reference geometry . . . . . . . . . . . . . . . . 36output Pref, reference geometry . . . . . . . . . . . . . . . . 36output progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87output render mode, render pass . . . . . . . . . . . . . . . 54output variable, display, render pass . . . . . . . . . . . 62output variable, file paths . . . . . . . . . . . . . . . . . . . . 135output variables, a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62output variables, ambient . . . . . . . . . . . . . . . . . . . . . . 63output variables, camera space normal . . . . . . . . . 65output variables, color bleeding . . . . . . . . . . . . . . . . 65output variables, color no shadow . . . . . . . . . . . . . . 64output variables, diffuse . . . . . . . . . . . . . . . . . . . . . . . 63output variables, diffuse intensity . . . . . . . . . . . . . . 63output variables, diffuse intensity no shadow . . . 63output variables, diffuse no shadow . . . . . . . . . . . . 63output variables, environment diffuse . . . . . . . . . . 65

output variables, environment reflection . . . . . . . . 64output variables, environment specular . . . . . . . . . 65output variables, facing ratio . . . . . . . . . . . . . . . . . . . 65output variables, global illumination . . . . . . . . . . . 65output variables, incandescence . . . . . . . . . . . . . . . . 63output variables, indirect diffuse . . . . . . . . . . . . . . . 65output variables, key lights diffuse intensity . . . . 63output variables, key lights diffuse intensity no

shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63output variables, key lights specular intensity . . 64output variables, key lights specular intensity no

shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64output variables, luminance depth . . . . . . . . . . . . . 64output variables, occlusion . . . . . . . . . . . . . . . . . . . . . 65output variables, Oi . . . . . . . . . . . . . . . . . . . . . . . . . . . 62output variables, raytraced reflection . . . . . . . . . . . 64output variables, reflection . . . . . . . . . . . . . . . . . . . . . 63output variables, refraction . . . . . . . . . . . . . . . . . . . . 63output variables, rgb . . . . . . . . . . . . . . . . . . . . . . . . . . 62output variables, rgba . . . . . . . . . . . . . . . . . . . . . . . . . 62output variables, shadow . . . . . . . . . . . . . . . . . . . . . . . 63output variables, specular . . . . . . . . . . . . . . . . . . . . . . 63output variables, specular intensity . . . . . . . . . . . . 64output variables, specular intensity no shadow . . 64output variables, specular no shadow . . . . . . . . . . . 64output variables, surface color . . . . . . . . . . . . . . . . . 64output variables, translucence . . . . . . . . . . . . . . . . . . 63output variables, z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62output vertex color . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28output, binary RIB, render pass . . . . . . . . . . . . . . . 55output, compressed RIB, render pass . . . . . . . . . . . 55output, RIB filename, render pass . . . . . . . . . . . . . . 55override pixel filter, display. render pass . . . . . . . . 67

Pparameters, renderman code . . . . . . . . . . . . . . . . . . . 94particle system, as volumes in DSMs . . . . . . . . . . . 32particle system, color as Cs . . . . . . . . . . . . . . . . . . . . 32particle system, output custom variables . . . . . . . 33particle system, output variables . . . . . . . . . . . . . . . 33particle system, render nCloth . . . . . . . . . . . . . . . . . 32particle system, render type . . . . . . . . . . . . . . . . . . . . 31particle system, rgbPP as Cs . . . . . . . . . . . . . . . . . . 32particle system, size override . . . . . . . . . . . . . . . . . . . 32particle system, size scale . . . . . . . . . . . . . . . . . . . . . . 32particle system, size space . . . . . . . . . . . . . . . . . . . . . 32pass, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134path, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . . 11photon color, photon map . . . . . . . . . . . . . . . . . . . . . 24photon estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24photon map, photon color . . . . . . . . . . . . . . . . . . . . . 24photon map, shading model . . . . . . . . . . . . . . . . . . . . 24photon, light emitting . . . . . . . . . . . . . . . . . . . . . . . . . 47photon, map, render . . . . . . . . . . . . . . . . . . . . . . . . . . . 75photon, map, write . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75photonhitmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24photonmap viewing application . . . . . . . . . . . . . . . 103

Page 169: 3DelightForMaya-UserManual

Concept Index 163

photons, visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22pixel aspect ratio, render pass . . . . . . . . . . . . . . . . . 53pixel filter width, render pass . . . . . . . . . . . . . . . . . . 56pixel filter, display. render pass . . . . . . . . . . . . . . . . 67pixel filter, render pass . . . . . . . . . . . . . . . . . . . . . . . . 56pixel samples, render pass . . . . . . . . . . . . . . . . . . . . . 56pixel samples, shadow map . . . . . . . . . . . . . . . . . . . . 45plane, coordinate system . . . . . . . . . . . . . . . . . . . . . . . 98png display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61point based full global illumination, global

illumination, render pass . . . . . . . . . . . . . . . . . . 72point cloud bake camera, global illumination,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76point cloud bias, global illumination, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77point cloud file, global illumination, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76point cloud max solid angle, global illumination,

render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77point cloud shading rate multiplier, global

illumination, render pass . . . . . . . . . . . . . . . . . . 76point cloud write mode, global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76pointlight shadow map, generate . . . . . . . . . . . . . . . 46polygon mesh, export creases . . . . . . . . . . . . . . . . . . 28polygon mesh, export hard edges . . . . . . . . . . . . . . . 28polygon mesh, interpolate boundary . . . . . . . . . . . 28polygon mesh, output all uvsets . . . . . . . . . . . . . . . . 27polygon mesh, output as subdivision mesh . . . . . 28polygon mesh, output as subdivision mesh, export

creases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28polygon mesh, output as subdivision mesh, export

hard edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28polygon mesh, output vertex color . . . . . . . . . . . . . 28polygon mesh, output wireframe . . . . . . . . . . . . . . . 29polygon mesh, round edges . . . . . . . . . . . . . . . . . . . . 28polygon mesh, round edges, end angle . . . . . . . . . . 29polygon mesh, round edges, end sharpness . . . . . 29polygon mesh, round edges, start angle . . . . . . . . 29polygon mesh, round edges, start sharpness . . . . 29polygon mesh, use current uvsets . . . . . . . . . . . . . . 27polygon mesh, uvsets, output all . . . . . . . . . . . . . . . 27polygon mesh, uvsets, use current . . . . . . . . . . . . . . 27polygon mesh, vertex color, output . . . . . . . . . . . . . 28polygon mesh, wireframe width . . . . . . . . . . . . . . . . 29polygon mesh, wireframe, raster space . . . . . . . . . 29Pref, output, reference geometry . . . . . . . . . . . . . . . 36preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103preferences, shader preview . . . . . . . . . . . . . . . . . . . 104preferences, viewing applications . . . . . . . . . . . . . . 103primary display, render, render pass . . . . . . . . . . . . 60primary visibility render stat . . . . . . . . . . . . . . . . . 123primitive RIB archive, shader preview . . . . . . . . 104primitive scale, shader preview . . . . . . . . . . . . . . . . 104primitive variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124primitive, shader preview . . . . . . . . . . . . . . . . . . . . . 104procedurals search paths . . . . . . . . . . . . . . . . . . . . . . . 82progress, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

progressive raytrace hider . . . . . . . . . . . . . . . . . . . . . . 84project setting, 3delight fluids . . . . . . . . . . . . . . . . 136project setting, 3delight fur files . . . . . . . . . . . . . . 136project setting, 3delight shaders . . . . . . . . . . . . . . 136project setting, 3delight shadow maps . . . . . . . . . 136project setting, 3delight templates . . . . . . . . . . . . 137project setting, 3delight textures . . . . . . . . . . . . . . 137project setting, rib fragments . . . . . . . . . . . . . . . . . 136project settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136project, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134psd display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Qquality, focus factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19quality, shading rate multiplier . . . . . . . . . . . . . . . . . 19quality, smooth derivatives . . . . . . . . . . . . . . . . . . . . . 19quantize, display, render pass . . . . . . . . . . . . . . . . . . 65

Rraster oriented, dicing . . . . . . . . . . . . . . . . . . . . . . . . . 26raytrace depth, render pass . . . . . . . . . . . . . . . . . . . . 57raytrace diffuse depth, render pass . . . . . . . . . . . . . 57raytrace specular depth, render pass . . . . . . . . . . . 57raytraced reflection render pass . . . . . . . . . . . . . . . . 64raytracing, bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22raytracing, diffuse rays visibility . . . . . . . . . . . . . . . 21raytracing, displacement . . . . . . . . . . . . . . . . . . . . . . . 22raytracing, motion blur . . . . . . . . . . . . . . . . . . . . . . . . 22raytracing, occlusion visibility . . . . . . . . . . . . . . . . . . 21raytracing, reflection rays visibility . . . . . . . . . . . . . 21raytracing, refraction rays visibility . . . . . . . . . . . . 21raytracing, shadow rays visibility . . . . . . . . . . . . . . 20raytracing, trace sets . . . . . . . . . . . . . . . . . . . . . . . . . . 22receive shadows render stat . . . . . . . . . . . . . . . . . . . 123reduced absorption, subsurface scattering . . . . . . 37reduced scattering, subsurface scattering . . . . . . . 37reference geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36reference geometry, output Nref . . . . . . . . . . . . . . . . 36reference geometry, output Pref . . . . . . . . . . . . . . . . 36reflection rays, visibility . . . . . . . . . . . . . . . . . . . . . . . 21reflection render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 63refraction index, subsurface scattering . . . . . . . . . . 37refraction rays, visibility . . . . . . . . . . . . . . . . . . . . . . . 21refraction render pass . . . . . . . . . . . . . . . . . . . . . . . . . . 63refresh, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . 12relationship editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5remove call, renderman material . . . . . . . . . . . . . . . 97remove display, render pass . . . . . . . . . . . . . . . . . . . . 61remove, rib fragment, render pass . . . . . . . . . . . . . . 81render as volumes in DSMs, particle . . . . . . . . . . . 32render camera, render pass . . . . . . . . . . . . . . . . . . . . 52render display, render pass . . . . . . . . . . . . . . . . . . . . . 60render globals, use resolution from . . . . . . . . . . . . . 52render log, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 55render mode, render pass . . . . . . . . . . . . . . . . . . . . . . 54render parameters, render pass . . . . . . . . . . . . . . . . . 55

Page 170: 3DelightForMaya-UserManual

Concept Index 164

render pass, add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50render pass, add display . . . . . . . . . . . . . . . . . . . . . . . 60render pass, ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, animation . . . . . . . . . . . . . . . . . . . . . . . . . 53render pass, aperture, number of blades . . . . . . . . 57render pass, aperture, polygonal . . . . . . . . . . . . . . . 57render pass, aperture, rotation . . . . . . . . . . . . . . . . . 57render pass, background render . . . . . . . . . . . . . . . . 55render pass, beauty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62render pass, black point . . . . . . . . . . . . . . . . . . . . . . . . 73render pass, bucket order . . . . . . . . . . . . . . . . . . . . . . 53render pass, camera motion blur . . . . . . . . . . . . . . . 58render pass, camera motion blur samples . . . . . . . 58render pass, camera name . . . . . . . . . . . . . . . . . . . . . . 52render pass, camera space normal . . . . . . . . . . . . . . 65render pass, cast shadows from environment . . . . 73render pass, color bleeding intensity . . . . . . . . . . . . 73render pass, color no shadow . . . . . . . . . . . . . . . . . . . 64render pass, creating . . . . . . . . . . . . . . . . . . . . . . . . . . . 50render pass, crop window . . . . . . . . . . . . . . . . . . . . . . 53render pass, definition . . . . . . . . . . . . . . . . . . . . . . . . . 50render pass, deformation motion blur . . . . . . . . . . 58render pass, deformation motion blur samples . . 58render pass, depth of field . . . . . . . . . . . . . . . . . . . . . 57render pass, diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, diffuse intensity . . . . . . . . . . . . . . . . . . . 63render pass, diffuse intensity no shadow . . . . . . . . 63render pass, diffuse no shadow . . . . . . . . . . . . . . . . . 63render pass, display subset . . . . . . . . . . . . . . . . . . . . . 67render pass, display, add . . . . . . . . . . . . . . . . . . . . . . . 60render pass, display, bit depth . . . . . . . . . . . . . . . . . 65render pass, display, browse . . . . . . . . . . . . . . . . . . . . 61render pass, display, driver . . . . . . . . . . . . . . . . . . . . . 61render pass, display, image filename . . . . . . . . . . . . 60render pass, display, output variable . . . . . . . . . . . 62render pass, display, remove . . . . . . . . . . . . . . . . . . . 61render pass, display, render . . . . . . . . . . . . . . . . . . . . 60render pass, display, view image . . . . . . . . . . . . . . . 61render pass, displays . . . . . . . . . . . . . . . . . . . . . . . . . . . 59render pass, duplicate . . . . . . . . . . . . . . . . . . . . . . . . . . 51render pass, environment color gain, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75render pass, environment color offset, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75render pass, environment intensity, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74render pass, environment reflection . . . . . . . . . . . . . 64render pass, environment specularity, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74render pass, facing ratio . . . . . . . . . . . . . . . . . . . . . . . 65render pass, falloff, global illumination . . . . . . . . . 74render pass, file paths . . . . . . . . . . . . . . . . . . . . . . . . 134render pass, filter width . . . . . . . . . . . . . . . . . . . . . . . . 56render pass, frame increment . . . . . . . . . . . . . . . . . . 53render pass, frame range . . . . . . . . . . . . . . . . . . . . . . . 53render pass, global illumination effect . . . . . . . . . . 71render pass, global illumination, fast image based

lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

render pass, global illumination, full globalillumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

render pass, global illumination, occlusion . . . . . . 71render pass, global illumination, point based full

global illumination . . . . . . . . . . . . . . . . . . . . . . . . 72render pass, incandescence . . . . . . . . . . . . . . . . . . . . . 63render pass, key light specular intensity . . . . . . . . 64render pass, key light specular intensity no shadow

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64render pass, key lights diffuse intensity . . . . . . . . . 63render pass, key lights diffuse intensity no shadow

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, luminance depth . . . . . . . . . . . . . . . . . . 64render pass, max distance, global illumination . . 73render pass, motion blur . . . . . . . . . . . . . . . . . . . . . . . 57render pass, motion blur, camera . . . . . . . . . . . . . . 58render pass, motion blur, extreme motion DOF

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59render pass, motion blur, position . . . . . . . . . . . . . . 58render pass, motion blur, sample motion . . . . . . . 59render pass, motion blur, sample on integer frames

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59render pass, occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . 65render pass, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54render pass, output, binary RIB . . . . . . . . . . . . . . . 55render pass, output, compressed RIB . . . . . . . . . . . 55render pass, output, render log . . . . . . . . . . . . . . . . . 55render pass, output, render parameters . . . . . . . . . 55render pass, pixel aspect ratio . . . . . . . . . . . . . . . . . 53render pass, pixel filter . . . . . . . . . . . . . . . . . . . . . . . . 56render pass, pixel samples . . . . . . . . . . . . . . . . . . . . . 56render pass, point cloud bake camera, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76render pass, point cloud bias, global illumination

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77render pass, point cloud file, global illumination

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76render pass, point cloud max solid angle, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77render pass, point cloud shading rate multiplier,

global illumination . . . . . . . . . . . . . . . . . . . . . . . . 76render pass, point cloud write mode, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76render pass, polygonal aperture . . . . . . . . . . . . . . . . 57render pass, raytrace depth . . . . . . . . . . . . . . . . . . . . 57render pass, raytrace diffuse depth . . . . . . . . . . . . . 57render pass, raytrace specular depth . . . . . . . . . . . 57render pass, raytraced reflection . . . . . . . . . . . . . . . 64render pass, reflection . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, refraction . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, render mode . . . . . . . . . . . . . . . . . . . . . . 54render pass, render output . . . . . . . . . . . . . . . . . . . . . 54render pass, render primary display . . . . . . . . . . . . 60render pass, rendering . . . . . . . . . . . . . . . . . . . . . . . . . 51render pass, resolution . . . . . . . . . . . . . . . . . . . . . . . . . 52render pass, resolution multiplier . . . . . . . . . . . . . . . 53render pass, RIB archive output . . . . . . . . . . . . . . . 54render pass, RIB filename . . . . . . . . . . . . . . . . . . . . . . 55

Page 171: 3DelightForMaya-UserManual

Concept Index 165

render pass, rib fragment, browse . . . . . . . . . . . . . . 81render pass, rib fragment, object set . . . . . . . . . . . 82render pass, rib fragment, remove . . . . . . . . . . . . . . 81render pass, rib fragment, use . . . . . . . . . . . . . . . . . . 81render pass, rib fragment, view RIB . . . . . . . . . . . . 82render pass, rib fragment, write . . . . . . . . . . . . . . . . 81render pass, rib fragments, add . . . . . . . . . . . . . . . . 81render pass, rib fragments, binary rib . . . . . . . . . . 81render pass, samples, global illumination . . . . . . . 73render pass, save RIB output . . . . . . . . . . . . . . . . . . 54render pass, save template . . . . . . . . . . . . . . . . . . . . . 52render pass, selecting . . . . . . . . . . . . . . . . . . . . . . . . . . 51render pass, shading rate . . . . . . . . . . . . . . . . . . . . . . 56render pass, shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, shutter angle scale . . . . . . . . . . . . . . . . 59render pass, shutter efficiency . . . . . . . . . . . . . . . . . . 59render pass, specular . . . . . . . . . . . . . . . . . . . . . . . . . . 63render pass, specular intensity . . . . . . . . . . . . . . . . . 64render pass, specular intensity no shadow . . . . . . 64render pass, specular no shadow . . . . . . . . . . . . . . . 64render pass, surface color . . . . . . . . . . . . . . . . . . . . . . 64render pass, template, save . . . . . . . . . . . . . . . . . . . . 52render pass, transformation motion blur . . . . . . . . 58render pass, transformation motion blur samples

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58render pass, translucence . . . . . . . . . . . . . . . . . . . . . . 63render pass, use as background, global illumination

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74render pass, use coordinate system, global

illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74render pass, use imager shader . . . . . . . . . . . . . . . . . 54render pass, use resolution from render globals . . 52render pass, viewing . . . . . . . . . . . . . . . . . . . . . . . . . . . 51render pass, white point . . . . . . . . . . . . . . . . . . . . . . . 73render photon maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 75render primary display, render pass . . . . . . . . . . . . 60render pss, add to final mix . . . . . . . . . . . . . . . . . . . . 72render sets, clipping planes . . . . . . . . . . . . . . . . . . . . 77render sets, layer to render . . . . . . . . . . . . . . . . . . . . . 77render sets, lights to render . . . . . . . . . . . . . . . . . . . . 77render sets, objects to render . . . . . . . . . . . . . . . . . . 77render sets, shader collection . . . . . . . . . . . . . . . . . . . 77render settings, use resolution from . . . . . . . . . . . . 52render shadow maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 70render stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123render stats, casts shadows . . . . . . . . . . . . . . . . . . . 123render stats, double sided . . . . . . . . . . . . . . . . . . . . . 123render stats, motion blur . . . . . . . . . . . . . . . . . . . . . 123render stats, opposite . . . . . . . . . . . . . . . . . . . . . . . . . 124render stats, primary visibility . . . . . . . . . . . . . . . . 123render stats, receive shadows . . . . . . . . . . . . . . . . . 123render stats, visible in reflections . . . . . . . . . . . . . 123render stats, visible in refractions . . . . . . . . . . . . . 123rendering in layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50rendering resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 52rendering resolution multiplier . . . . . . . . . . . . . . . . . 53rendering, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 51renderman code node, definition . . . . . . . . . . . . . . . 93

renderman code, input plug . . . . . . . . . . . . . . . . . . . . 94renderman code, list of examples . . . . . . . . . . . . . . . 93renderman code, parameters . . . . . . . . . . . . . . . . . . . 94renderman code, shading code . . . . . . . . . . . . . . . . . 94renderman code, shading parameters . . . . . . . . . . . 93renderman material, accessor call . . . . . . . . . . . . . . 97renderman material, add call . . . . . . . . . . . . . . . . . . . 97renderman material, calls . . . . . . . . . . . . . . . . . . . . . . 96renderman material, material file . . . . . . . . . . . . . . . 96renderman material, method call . . . . . . . . . . . . . . . 97renderman material, move call down . . . . . . . . . . . 97renderman material, move call up . . . . . . . . . . . . . . 97renderman material, remove call . . . . . . . . . . . . . . . 97renderman material, shading parameters . . . . . . . 96resolution shadow map . . . . . . . . . . . . . . . . . . . . . . . . 44resolution, multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . 53resolution, render pass . . . . . . . . . . . . . . . . . . . . . . . . . 52resolution, rendered image . . . . . . . . . . . . . . . . . . . . . 52resolution, rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . 52resolution, use render globals settings . . . . . . . . . . 52resolution, use render settings . . . . . . . . . . . . . . . . . . 52reverse orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18RIB archive node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91RIB archive, archive lighting . . . . . . . . . . . . . . . . . . . 78RIB archive, archive write mode . . . . . . . . . . . . . . . 79RIB archive, definition . . . . . . . . . . . . . . . . . . . . . . . . . 91RIB archive, ignore displacement shaders . . . . . . 39RIB archive, ignore geometry attributes . . . . . . . . 39RIB archive, ignore light links . . . . . . . . . . . . . . . . . 39RIB archive, ignore light sources . . . . . . . . . . . . . . . 39RIB archive, ignore surface shaders . . . . . . . . . . . . 39RIB archive, ignore transforms . . . . . . . . . . . . . . . . . 39RIB archive, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 54RIB filename, output, render pass . . . . . . . . . . . . . . 55rib fragment, add, render pass . . . . . . . . . . . . . . . . . 81rib fragment, browse file, render pass . . . . . . . . . . . 81rib fragment, filename . . . . . . . . . . . . . . . . . . . . . . . . . 81rib fragment, object set, render pass . . . . . . . . . . . 82rib fragment, use, render pass . . . . . . . . . . . . . . . . . . 81rib fragment, view RIB, render pass . . . . . . . . . . . . 82rib fragment, write, render pass . . . . . . . . . . . . . . . . 81rib fragments, binary rib, render pass . . . . . . . . . . 81rib fragments, compressed rib . . . . . . . . . . . . . . . . . . 81rib fragments, project setting . . . . . . . . . . . . . . . . . 136rib fragments, remove, render pass . . . . . . . . . . . . . 81rib fragments, render pass, file output . . . . . . . . . 136rib fragments, write mode . . . . . . . . . . . . . . . . . . . . . 81rib viewing application . . . . . . . . . . . . . . . . . . . . . . . 103RIB, binary output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55RIB, compressed output . . . . . . . . . . . . . . . . . . . . . . . 55RIB, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54RIB, output filename . . . . . . . . . . . . . . . . . . . . . . . . . . 55round edges, end angle, polygon mesh . . . . . . . . . . 29round edges, end sharpness, polygon mesh . . . . . 29round edges, polygon mesh . . . . . . . . . . . . . . . . . . . . 28round edges, start angle, polygon mesh . . . . . . . . 29round edges, start sharpness, polygon mesh . . . . 29

Page 172: 3DelightForMaya-UserManual

Concept Index 166

Ssample motion blur on integer frames, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59sample motion, render pass . . . . . . . . . . . . . . . . . . . . 59sample positions, motion blur, render pass . . . . . 58samples, area light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48samples, camera motion blur, render pass . . . . . . 58samples, deformation motion blur, render pass . . 58samples, global illumination, render pass . . . . . . . 73samples, pixel, render pass . . . . . . . . . . . . . . . . . . . . . 56samples, transformation motion blur, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58sampling strategy, area light . . . . . . . . . . . . . . . . . . . 48scene, file paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82secondary display, output variable, a . . . . . . . . . . . 62secondary display, output variable, Oi . . . . . . . . . . 62secondary display, output variable, rgb . . . . . . . . . 62secondary display, output variable, rgba . . . . . . . . 62select render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51select, shader selector . . . . . . . . . . . . . . . . . . . . . . . . . . 12shader collection, render sets . . . . . . . . . . . . . . . . . . . 77shader file list, shader selector . . . . . . . . . . . . . . . . . 12shader nodes, hide attributes . . . . . . . . . . . . . . . . . 105shader preview, preferences . . . . . . . . . . . . . . . . . . . 104shader preview, primitive . . . . . . . . . . . . . . . . . . . . . 104shader preview, primitive RIB archive . . . . . . . . 104shader preview, primitive scale . . . . . . . . . . . . . . . . 104shader preview, shading rate . . . . . . . . . . . . . . . . . . 104shader search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82shader selection logic . . . . . . . . . . . . . . . . . . . . . . . . . 115shader selector, close . . . . . . . . . . . . . . . . . . . . . . . . . . 12shader selector, directory . . . . . . . . . . . . . . . . . . . . . . 11shader selector, name filter . . . . . . . . . . . . . . . . . . . . . 12shader selector, path . . . . . . . . . . . . . . . . . . . . . . . . . . . 11shader selector, refresh . . . . . . . . . . . . . . . . . . . . . . . . . 12shader selector, select . . . . . . . . . . . . . . . . . . . . . . . . . . 12shader selector, shader file list . . . . . . . . . . . . . . . . . 12shaders, hypershade . . . . . . . . . . . . . . . . . . . . . . . . . . 115shaders, hypershade, file output . . . . . . . . . . . . . . . 136shaders, project setting . . . . . . . . . . . . . . . . . . . . . . . 136shading code, renderman code . . . . . . . . . . . . . . . . . 94shading model, photon map . . . . . . . . . . . . . . . . . . . . 24shading parameters, renderman code . . . . . . . . . . . 93shading parameters, renderman material . . . . . . . 96shading rate multiplier, quality . . . . . . . . . . . . . . . . 19shading rate, irradiance . . . . . . . . . . . . . . . . . . . . . . . . 25shading rate, render pass . . . . . . . . . . . . . . . . . . . . . . 56shading rate, shader preview . . . . . . . . . . . . . . . . . . 104shading rate, shadow map . . . . . . . . . . . . . . . . . . . . . 45shading rate, subsurface scattering . . . . . . . . . . . . . 37shading rate, volume . . . . . . . . . . . . . . . . . . . . . . . . . . . 86shadow casting object . . . . . . . . . . . . . . . . . . . . . . . . . 46shadow map display driver . . . . . . . . . . . . . . . . . . . . . 62shadow map filename . . . . . . . . . . . . . . . . . . . . . . . . . . 44shadow map, camera . . . . . . . . . . . . . . . . . . . . . . . . . . 46shadow map, clipping plane, far . . . . . . . . . . . . . . . . 46shadow map, clipping plane, near . . . . . . . . . . . . . . 46

shadow map, cube shadow map, generate . . . . . . 46shadow map, deep shadow maps . . . . . . . . . . . . . . . 45shadow map, depth filter . . . . . . . . . . . . . . . . . . . . . . 45shadow map, depth filter, average . . . . . . . . . . . . . . 45shadow map, depth filter, max . . . . . . . . . . . . . . . . . 45shadow map, depth filter, midpoint . . . . . . . . . . . . 45shadow map, depth filter, min . . . . . . . . . . . . . . . . . 45shadow map, depth map . . . . . . . . . . . . . . . . . . . . . . . 45shadow map, far clipping plane . . . . . . . . . . . . . . . . 46shadow map, file output . . . . . . . . . . . . . . . . . . . . . . 136shadow map, generate . . . . . . . . . . . . . . . . . . . . . . . . . 44shadow map, generate first frame only . . . . . . . . . 45shadow map, motion blur, generate with . . . . . . . 46shadow map, name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44shadow map, near clipping plane . . . . . . . . . . . . . . . 46shadow map, objects in . . . . . . . . . . . . . . . . . . . . . . . . 46shadow map, pixel samples . . . . . . . . . . . . . . . . . . . . 45shadow map, post render MEL script . . . . . . . . . . 49shadow map, pre render MEL script . . . . . . . . . . . 49shadow map, resolution . . . . . . . . . . . . . . . . . . . . . . . . 44shadow map, shading rate . . . . . . . . . . . . . . . . . . . . . 45shadow map, type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45shadow map, type, deep shadow maps . . . . . . . . . 45shadow map, type, depth map . . . . . . . . . . . . . . . . . 45shadow map, type, normal . . . . . . . . . . . . . . . . . . . . . 45shadow map, volume interpretation . . . . . . . . . . . . 45shadow map, volume interpretation, continuous

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71shadow map, volume interpretation, discrete . . . 45shadow map, volume interpretation, distance inside

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71shadow maps, depth filter . . . . . . . . . . . . . . . . . . . . . . 70shadow maps, depth filter, average . . . . . . . . . . . . . 71shadow maps, depth filter, max . . . . . . . . . . . . . . . . 71shadow maps, depth filter, midpoint . . . . . . . . . . . 71shadow maps, depth filter, min . . . . . . . . . . . . . . . . 71shadow maps, opacity threshold . . . . . . . . . . . . . . . . 70shadow maps, project setting . . . . . . . . . . . . . . . . . 136shadow maps, render . . . . . . . . . . . . . . . . . . . . . . . . . . 70shadow maps, volume interpretation . . . . . . . . . . . 71shadow maps, volume interpretation, discrete . . 71shadow maps, zthreshold . . . . . . . . . . . . . . . . . . . . . . 70shadow rays, visibility . . . . . . . . . . . . . . . . . . . . . . . . . 20shadow render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Shadowmap viewing application . . . . . . . . . . . . . . 103shape name, file paths . . . . . . . . . . . . . . . . . . . . . . . . 134shave and a haircut, lighting . . . . . . . . . . . . . . . . . . 132shave and a haircut, plugin . . . . . . . . . . . . . . . . . . . . . 2shave and a haircut, shading . . . . . . . . . . . . . . . . . . 132shutter, angle scale, render pass . . . . . . . . . . . . . . . . 59shutter, efficiency, render pass . . . . . . . . . . . . . . . . . 59shutter, motion blur position, render pass . . . . . . 58sidedness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18smooth derivatives, quality . . . . . . . . . . . . . . . . . . . . 19smooth uvs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28space, displacement bound . . . . . . . . . . . . . . . . . . . . . 25specular color, maya fur . . . . . . . . . . . . . . . . . . . . . . . 35specular intensity no shadow render pass . . . . . . . 64

Page 173: 3DelightForMaya-UserManual

Concept Index 167

specular intensity render pass . . . . . . . . . . . . . . . . . . 64specular no shadow render pass . . . . . . . . . . . . . . . . 64specular rays, visibility . . . . . . . . . . . . . . . . . . . . . . . . 21specular render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . 63specular sharpness, maya fur . . . . . . . . . . . . . . . . . . . 35sphere, coordinate system . . . . . . . . . . . . . . . . . . . . . . 98standard atmosphere, advanced . . . . . . . . . . . . . . . . 86start angle, polygon mesh, round edges . . . . . . . . 29start render, render pass . . . . . . . . . . . . . . . . . . . . . . . 51start sharpness, polygon mesh, round edges . . . . 29start width, maya curves . . . . . . . . . . . . . . . . . . . . . . . 30statistics file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87statistics level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87statistics viewing application . . . . . . . . . . . . . . . . . 103subsurface scattering . . . . . . . . . . . . . . . . . . . . . . . . . . 37subsurface scattering, coefficient scale . . . . . . . . . . 37subsurface scattering, disable . . . . . . . . . . . . . . . . . . 37subsurface scattering, enable . . . . . . . . . . . . . . . . . . . 37subsurface scattering, group . . . . . . . . . . . . . . . . . . . 37subsurface scattering, reduced absorption . . . . . . 37subsurface scattering, reduced scattering . . . . . . . 37subsurface scattering, refraction index . . . . . . . . . . 37subsurface scattering, shading rate . . . . . . . . . . . . . 37subsurface scattering, subsurface group . . . . . . . . 37surface color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18surface color render pass . . . . . . . . . . . . . . . . . . . . . . . 64surface group, subsurface scattering . . . . . . . . . . . . 37surface opacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18surface point, maya fur . . . . . . . . . . . . . . . . . . . . . . . . 35surface u, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35surface v, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Ttemplate, render pass, save . . . . . . . . . . . . . . . . . . . . 52templates, project setting . . . . . . . . . . . . . . . . . . . . . 137templates, render pass, file output . . . . . . . . . . . . 137texture display driver . . . . . . . . . . . . . . . . . . . . . . . . . . 62texture filename, coordinate system . . . . . . . . . . . . 98texture opacity, coordinate system . . . . . . . . . . . . . 98texture resolution, coordinate system . . . . . . . . . . 98texture search paths . . . . . . . . . . . . . . . . . . . . . . . . . . . 82textures file output . . . . . . . . . . . . . . . . . . . . . . . . . . . 137textures, hypershade . . . . . . . . . . . . . . . . . . . . . . . . . . 133textures, project setting . . . . . . . . . . . . . . . . . . . . . . 137tiff display driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61tip ambient color, maya fur . . . . . . . . . . . . . . . . . . . . 35tip color, maya fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34trace sets, raytracing . . . . . . . . . . . . . . . . . . . . . . . . . . 22transformation blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23transformation blur, light . . . . . . . . . . . . . . . . . . . . . . 47transformation motion blur samples, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58transformation motion blur, render pass . . . . . . . . 58translate maya shader aovs, advanced . . . . . . . . . . 85translate Maya shaders, advanced . . . . . . . . . . . . . . 85translucence render pass . . . . . . . . . . . . . . . . . . . . . . . 63transmission rays, visibility . . . . . . . . . . . . . . . . . . . . 20

Uunion, csg node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101use as background, global illumination, render pass

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74use coordinate system, global illumination, render

pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74use matte attribute, display . . . . . . . . . . . . . . . . . . . . 68use Maya shaders, advanced . . . . . . . . . . . . . . . . . . . 85use, rib fragment, render pass . . . . . . . . . . . . . . . . . . 81uv smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28uvsets, output all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27uvsets, use current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Vvertex color, output . . . . . . . . . . . . . . . . . . . . . . . . . . . 28view image, display, render pass . . . . . . . . . . . . . . . 61view RIB, rib fragment, render pass . . . . . . . . . . . . 82viewing application, Image . . . . . . . . . . . . . . . . . . . . 103viewing application, Log . . . . . . . . . . . . . . . . . . . . . . 103viewing application, Photonmap . . . . . . . . . . . . . . 103viewing application, rib . . . . . . . . . . . . . . . . . . . . . . . 103viewing application, Shadowmap . . . . . . . . . . . . . . 103viewing application, statistics . . . . . . . . . . . . . . . . . 103viewing applications, preferences . . . . . . . . . . . . . . 103viewing render pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51visibility and motion blur . . . . . . . . . . . . . . . . . . . . . 132visibility, camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20visibility, composite objects behind . . . . . . . . . . . . 20visibility, diffuse rays . . . . . . . . . . . . . . . . . . . . . . . . . . 21visibility, matte object . . . . . . . . . . . . . . . . . . . . . . . . . 20visibility, occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21visibility, photons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22visibility, reflection rays . . . . . . . . . . . . . . . . . . . . . . . . 21visibility, refraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21visibility, specular rays . . . . . . . . . . . . . . . . . . . . . . . . . 21visibility, transmission rays . . . . . . . . . . . . . . . . . . . . 20visible in reflections render stat . . . . . . . . . . . . . . . 123visible in refractions render stat . . . . . . . . . . . . . . 123volume interpretation, deep shadow map . . . . . . . 45volume interpretation, deep shadow map,

continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71volume interpretation, deep shadow map, discrete

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71volume interpretation, deep shadow map, distance

inside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 71volume interpretation, deep shadow maps . . . . . . 71volume shading rate, advanced . . . . . . . . . . . . . . . . . 86

Wwhite point, render pass . . . . . . . . . . . . . . . . . . . . . . . 73windows, installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2wireframe, polygon mesh . . . . . . . . . . . . . . . . . . . . . . 29wireframe, polygon mesh, raster space . . . . . . . . . 29wireframe, width, polygon mesh . . . . . . . . . . . . . . . 29write mode, rib fragments . . . . . . . . . . . . . . . . . . . . . 81write photon maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 174: 3DelightForMaya-UserManual

Concept Index 168

write, rib fragment, render pass . . . . . . . . . . . . . . . . 81 Zzthreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85zthreshold, shadow maps . . . . . . . . . . . . . . . . . . . . . . 70