Next:
Introduction
Up:
No Title
Previous:
No Title
Contents
Contents
Introduction
0.1 Organization of this Book
0.2 Introduction to mental ray
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 Subdivision Surfaces
1.6 Atmospheres and Volumes
1.7 Materials
1.8 Light Sources
1.9 Area Light Sources
1.10 IES and Eulumdat Light Profiles
3.1
1.11 Shadow Maps
1.12 Texture Mapping and Texture Files
1.13 Memory-mapped Textures
1.14 Bump, Displacement, and Reflection Mapping
1.15 Texture Filtering
1.15.1 Pyramid Filtering
1.15.2 Elliptical Projection Filter Lookup
1.16 Light Mapping
3.x
1.17 Multipass Rendering
3.1
1.18 User-Defined Shaders
1.19 The Camera
1.20 Lens Effects
1.21 Depth of Field
1.22 Animation
1.23 Motion Blur
1.24 Sampling Algorithms
1.25 OpenGL Acceleration
1.26 Color Calculations
1.27 Output Shaders
1.28 Pixel Coverage
1.29 Contours
1.30 Caustics
1.30.1 Light Sources
1.30.2 Objects
1.30.3 Material Shaders and Photon Shaders for Caustics
1.30.4 Physically Plausible Material Shaders
1.30.5 Shader Functions
1.30.6 Fine-tuning Caustics
1.31 Global Illumination
1.31.1 Light Sources
1.31.2 Objects
1.31.3 Fine-tuning Global Illumination
1.32 Final Gathering
1.33 Volume Caustics
1.34 Global Illumination in Participating Media
1.35 Diagnostic modes
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.7.1.10 Frame Buffer Control
2.7.1.11 Scene Geometry
2.7.1.12 Contours
2.7.1.13 Diagnostic Modes
2.7.1.14 Miscellaneous
2.7.2 Cameras
2.7.2.1 Output Statements
2.7.2.2 Multipass Rendering Statements
3.1
2.7.2.3 Other Camera Statements
2.7.3 Textures
2.7.4 Materials
2.7.5 Lights
2.7.6 User Data
2.7.7 Light Profiles
3.1
2.7.8 Objects
2.7.9 Polygonal Geometry
2.7.10 Free-Form Surface Geometry
2.7.10.1 Bases
2.7.10.2 Surfaces
2.7.10.3 Surface Derivatives
2.7.10.4 Texture Surfaces
2.7.10.5 Curves
2.7.10.6 Trimming, Hole, and Special Curves; Special Points
2.7.10.7 Connections and Edge Merging
2.7.10.8 Example
2.7.11 Space Curve Geometry
2.7.12 Hair Geometry
3.1
2.7.13 Subdivision Surface Geometry
2.7.13.1 Subdivision Surfaces
2.7.13.2 Base and Hierarchy Faces
2.7.13.3 Face Subdivision
2.7.13.4 Vertex Features
2.7.13.5 Smooth Creases
2.7.13.6 Trimming
2.7.13.7 Example
2.7.14 Approximations
2.7.14.1 Fine Approximations
3.1
2.7.15 Instances
2.7.16 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 Multipass Rendering
3.1
2.10 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 Options
3.4.8 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 Volume Shaders using Autovolume
3.x
3.12 Environment Shaders
3.13 Light Shaders
3.14 Shadow Shaders
3.15 Photon Shaders
3.16 Photon Emitter Shaders
3.17 Lens Shaders
3.18 Output Shaders
3.18.1 Parallel Output Shaders
2.1
3.19 Displacement Shaders
3.20 Geometry Shaders
3.21 Contours
3.21.1 Contour Computation
3.21.2 Contour Store Function
3.21.3 Contour Contrast Function
3.21.4 Contour Shaders
3.21.5 Contour Output Shaders
3.22 Lightmap Shaders
3.x
3.23 Render Pass Merge Shaders
3.1
3.24 Functions for Shaders
3.24.1 DB Functions
3.24.2 RC Functions
3.24.3 Sampling with mi_sample
3.24.4 RC Photon Functions
3.24.5 RC Direction Functions
3.24.6 IMG Functions
3.24.7 Math Functions
3.24.8 Noise Functions
3.24.9 Auxiliary Functions
3.24.10 Obsolete Auxiliary Functions
3.24.11 Contour Functions
3.24.12 Light Map Functions
3.24.13 Memory Allocation
3.24.14 Thread Parallelism and Locks
3.24.15 Messages and Errors
3.24.16 Callable Functions by Shader Type
3.25 Initialization and Cleanup
3.26 Persistent Shader Data Storage
3.26.1 Constant Data
3.26.2 Shader Instance Data
3.26.3 Thread-Local Storage
3.1
3.27 Automatic Source Generation with mkmishader
3.28 Shaders and Trace Functions
3.29 Example Scene with Custom Shader
4. Geometry Shaders
4.1 Examples
4.2 Geometry Shader API
4.2.1 Symbol Tables
4.2.2 Dynamic Lists
4.2.3 Incremental Changes
4.2.4 Options, Cameras, and Outputs
4.2.5 Lights, Materials, Textures
4.2.6 User Data
4.2.7 Light Profiles
3.1
4.2.8 Instances and Instance Groups
4.2.9 Geometric Objects
4.2.9.1 Objects
4.2.9.2 Bases
4.2.9.3 Polygonal Geometry
4.2.9.4 Free-Form Surface Geometry
4.2.9.5 Curves
4.2.9.6 Space Curves
4.2.9.7 Hair
3.1
4.2.9.8 Subdivision Surfaces
4.2.10 Function Declarations
4.2.11 Function Definitions
4.2.12 Phenomenon Definitions
4.2.13 Verbatim C Sources
4.2.14 Scopes
4.2.15 Miscellaneous
4.3 Geometry Shader Data Structures
4.3.1 Instances
4.3.2 Groups
4.3.3 Cameras
4.3.4 Lights
4.3.5 Functions
4.3.6 User Data
4.3.7 Function Declarations
4.3.8 Boxes
4.3.9 Objects
4.3.10 Approximations
4.3.11 Polygon Lists
4.3.12 Polygon Indices
4.3.13 Polygon Vertices
4.3.14 Polygon Vectors
4.3.15 Surfaces: Face List
4.3.16 Surfaces: Surface List
4.3.17 Surfaces: Curve Segment List
4.3.18 Surfaces: Scalar Lists
4.3.19 Surfaces: Curve Point Lists
4.3.20 Surfaces: Basis Lists
4.3.21 Space Curves
4.3.22 Books and Pages
4.3.23 Materials
4.3.24 Rendering Options
4.3.25 Images
4.3.26 Strings
4.3.27 Tag Lists
5. Upgrading
5.1 Upgrading from mental ray 1.9 to 2.x
5.1.1 Rendering Algorithms
5.1.2 Scene Description Language
5.1.3 Shader Writing
5.2 Upgrading from mental ray 2.1 to 3.0
5.2.1 Scene Description Language
5.2.2 Shader Writing
5.3 Upgrading from mental ray 3.0 to 3.1
5.3.1 Rendering Algorithms
5.3.2 Scene Description Language
5.3.3 Shader Writing and Integration
6. Command Line Options
6.1 mental ray
6.2 Inventor mental ray
6.3 Environment Variables
6.4 Image Display: imf_disp
6.5 Image Copy: imf_copy
6.6 Image Information: imf_info
6.7 Image Comparison: imf_diff
6.8 Create Shader Skeletons: mkmishader
6.9 Convert Scenes to C: mitoapi
7. Scene File Grammar
Bibliography
Bibliography
Copyright 2002 by
mental images