Next:
Introduction
Up:
No Title
Previous:
No Title
Contents
Contents
Introduction
0.1 Organization of this Book
0.2 Introduction to mental ray
0.3 WWW Resources
0.4 Acknowledgements
1. Functionality
1.1 Parallelism
1.2 Free-Form Surfaces
1.3 Edge Merging and Adjacency Detection
1.4 Special Points and Curves
1.5 Atmospheres and Volumes
1.6 Materials
1.7 Light Sources
1.8 Area Light Sources
1.9 Shadow Maps
1.10 Texture, Bump, Displacement, and Reflection Mapping
1.11 Texture Filtering
1.11.1 Pyramid Filtering
1.11.2 Elliptical Projection Filter Lookup
1.12 User-Defined Shaders
1.13 The Camera
1.14 Lens Effects
1.15 Depth of Field
1.16 Animation
1.17 Motion Blur
1.18 Sampling Algorithms
1.19 OpenGL Acceleration
1.20 Color Calculations
1.21 Output Shaders
1.22 Contours
1.23 Memory-mapped Textures
1.24 Caustics
1.24.1 Light Sources
1.24.2 Objects
1.24.3 Material Shaders and Photon Shaders for Caustics
1.24.3.1 Physically Plausible Material Shaders
1.24.4 Shader Functions
1.24.5 Fine-tuning Caustics
1.25 Global Illumination
2.1
1.25.1 Light Sources
1.25.2 Objects
1.25.3 Fine-tuning Global Illumination
1.26 Final Gathering
2.1
1.27 Volume Caustics
1.28 Global Illumination in Participating Media
2.1
1.29 Diagnostic modes
2.1
2. Scene Description Language
2.1 Shader Declarations
2.1.1 Parameter Types
2.1.2 Shader Apply Flags
2.1.3 Declaration Options
2.2 Shader Definitions
2.3 Shader Lists
2.4 Shader Graphs
2.5 Phenomena
2.5.1 Phenomenon Interface Parameters
2.5.2 Phenomenon Roots
2.6 Commands
2.7 Scene Entities
2.7.1 Options
2.7.1.1 Sampling Quality
2.7.1.2 Tessellation Quality
2.7.1.3 Motion Blur
2.7.1.4 Trace Depth
2.7.1.5 Shadows
2.7.1.6 Rendering Algorithms
2.7.1.7 Feature Disabling
2.7.1.8 Caustics
2.7.1.9 Global illumination
2.1
2.7.1.10 Frame Buffer Control
2.7.1.11 Scene Geometry
2.7.1.12 Contours
2.7.1.13 Diagnostic Modes
2.1
2.7.1.14 Miscellaneous
2.7.2 Cameras
2.7.3 Textures
2.7.4 Materials
2.7.5 Lights
2.7.6 Objects
2.7.7 Polygonal Geometry
2.7.8 Free-Form Surface Geometry
2.7.8.1 Bases
2.7.8.2 Surfaces
2.7.8.3 Surface Derivatives
2.7.8.4 Texture Surfaces
2.7.8.5 Curves
2.7.8.6 Trimming, Hole, and Special Curves; Special Points
2.7.8.7 Space Curve Geometry
2.7.8.8 Approximations
2.7.8.9 Connections
2.7.8.10 Example
2.7.9 Instances
2.7.10 Instance Groups
2.8 Contours
2.8.1 Where to Place Contours
2.8.2 Color and Width of Contours
2.8.3 Contour Output
2.8.4 Faster Contours
2.9 Scene Example
3. Using and Writing Shaders
3.1 Dynamic Linking of Shaders
3.2 Coordinate Systems
3.3 Shader Type Overview
3.4 State Variables
3.4.1 Frame
3.4.2 Image Samples
3.4.3 Rays
3.4.4 Intersection
3.4.5 Textures, Motion, Derivatives
3.4.6 User Fields
3.4.7 State Variables by Shader Type
3.5 Shader Parameter Declarations
3.6 Parameter Assignments and mi_eval
3.7 Shader Versioning
3.8 Material Shaders
3.9 Texture Shaders
3.10 Volume Shaders
3.11 Environment Shaders
3.12 Light Shaders
3.13 Shadow Shaders
3.14 Photon Shaders
3.15 Photon Emitter Shaders
3.16 Lens Shaders
3.17 Output Shaders
3.17.1 Parallel Output Shaders
3.18 Displacement Shaders
3.19 Geometry Shaders
3.20 Contours
3.20.1 Contour Computation
3.20.2 Contour Store Function
3.20.3 Contour Contrast Function
3.20.4 Contour Shaders
3.20.5 Contour Output Shaders
3.21 Functions for Shaders
3.21.1 DB Functions
3.21.2 RC Functions
3.21.3 Sampling with mi_sample
3.21.4 RC Photon Functions
3.21.5 RC Direction Functions
3.21.6 IMG Functions
3.21.7 Math Functions
3.21.8 Noise Functions
3.21.9 Auxiliary Functions
3.21.10 Obsolete Auxiliary Functions
3.21.11 Contour Functions
3.21.12 Memory Allocation
3.21.13 Thread Parallelism and Locks
3.21.14 Messages and Errors
3.21.15 Callable Functions by Shader Type
3.22 Initialization and Cleanup
3.23 Automatic Source Generation with mkmishader
3.24 Shaders and Trace Functions
3.25 Example Scene with Custom Shader
4. Geometry Shaders
4.1 Introduction
4.2 Examples
4.3 Geometry Shader API
4.3.1 Symbol Tables
4.3.2 Dynamic Lists
4.3.3 Incremental Changes
4.3.4 Options, Cameras, and Outputs
4.3.5 Lights, Materials, Textures
4.3.6 User Data
4.3.7 Instances and Instance Groups
4.3.8 Geometric Objects
4.3.8.1 Objects
4.3.8.2 Bases
4.3.8.3 Polygonal Geometry
4.3.8.4 Free-Form Surface Geometry
4.3.8.5 Curves
4.3.8.6 Space Curves
2.1
4.3.8.7 Subdivision Surfaces
2.1
4.3.9 Function Declarations
4.3.10 Function Definitions
4.3.11 Phenomenon Definitions
4.3.12 Verbatim C Sources
4.3.13 Scopes
4.3.14 Miscellaneous
4.4 Geometry Shader Data Structures
4.4.1 Instances
4.4.2 Groups
4.4.3 Cameras
4.4.4 Lights
4.4.5 Functions
4.4.6 User Data
4.4.7 Function Declarations
4.4.8 Boxes
4.4.9 Objects
4.4.10 Approximations
4.4.11 Polygon Lists
4.4.12 Polygon Indices
4.4.13 Polygon Vertices
4.4.14 Polygon Vectors
4.4.15 Surfaces: Face List
4.4.16 Surfaces: Surface List
4.4.17 Surfaces: Curve Segment List
4.4.18 Surfaces: Scalar Lists
4.4.19 Surfaces: Curve Point Lists
4.4.20 Surfaces: Basis Lists
4.4.21 Surfaces: Algebraic Lists
4.4.22 Space Curves
2.1
4.4.23 Books and Pages
4.4.24 Subdivision Surfaces
4.4.25 Materials
4.4.26 Rendering Options
4.4.27 Images
4.4.28 Strings
4.4.29 Tag Lists
5. Usage and Command Line Options
5.1 Command Line Options
5.2 Startup File
5.3 Stack Size
6. Upgrading from mental ray 1.9 to 2.x
6.1 Rendering Algorithms
6.2 Scene Description Language
6.3 Shader Writing
7. Scene File Grammar
Bibliography
Copyright 2000 by
mental images