Shader Networks

Class 301: Shader Network Design - Phenomena

Class Description: Shader Network Design - Phenomena

Intended for technical directors (TDs), this three-day class introduces fundamental mental ray concepts, covering a broad collection of shaders, and providing methods for extending the functionality of these shaders by developing Phenomena. Exercises rendering with standalone mentalray, while editing shader declaration and scene files, demonstrate how to develop sophisticated looks, using hands-on practice with the material covered in lecture.

Class Prerequisites: Shader Network Design - Phenomena

The minimum requirements for taking the class include:

  1. Experience using mental ray in one of the 3D applications (Maya, XSI, 3ds max, etc.).
  2. Familiarity with indirect illumination techniques
    |  GI and caustics photon mapping
    |  Finalgathering
  3. Knowledge of scripting language or common CG scene file format idioms:
    |  Variable declaration and type definition
    |  File data structures: block begin/end, keyword/value pairs
  4. Reasonable proficiency with a text editor and command-line tools.

Class Outline: Shader Network Design - Phenomena

Monday-Wednesday, 10AM-6PM

Day 1

Introduction

Introduction to mental ray Rendering
|  Exercise 1 - Render with ray, display with imf_disp

Break

Part 1 - Structure

.mi Scene File Structure
|  Exercise 2 - Editing and rendering a scene file
Shader Structure
Shaders in the Scene
|  Exercise 3 - Using a shader in a scene file
Shader Programming Overview

Lunch Break

Part 2 - Color

Single Color
Color from Orientation
Color from Position
|  Exercise 4 - Use color shaders
Transparency
|  Exercise 5 - Use transparency shader
Color from Image Files (Texture Maps)
|  Exercise 6 - Use texture shaders
Color of Edges

Break

Part 3 - Light

Point Lights, Spot Lights and Shadows
Light on Surface - Direct Illumination with Lambert, Phong, etc.
|  Exercise 7 - Use Lambert and other shader
Reflection
|  Exercise 8 - Using reflection
Refraction
|  Exercise 9 - Using refraction

Day 2

Light Paths, Traced Rays and Ray Types Review
Light from Other Surfaces - Indirect Illumination
Ambient Occlusion
|  Exercise 10 - Using ambient occlusion

Break

Part 4 - Shape

Modifying Surface Geometry
|  Exercise 11 - Displacement mapping
Modifying Surface Orientation
|  Exercise 12 - Bump mapping
Creating Shapes

Lunch Break

Part 5 - Space

Global and Object Environment
|  Exercise 13 - Environment shader
Global and Object Volume
|  Exercise 14 - Volume shader in hull object

Break

Part 6 - Image

Samples, Pixels and Tiles
|  Exercise 15 - Sample diagnostics, fixed and adaptive
|  Exercise 16 - Sample diagnostics, object samples
Lens Shaders
|  Exercise 17 - Fisheye lens

Break

Motion and Temporal Samples
Rendering Image Components
|  Exercise 18 - User Framebuffers
Output Shaders

Day 3

Part 7 - Implementation

Render Process
|  Jobs and execution order
|  Parallelism
|  The render report
Memory - Scene Cache
Placeholders - Object Files and Callbacks
|  Exercise 19 - Placeholder example
Sharing Data
|  Exercise 20 - User data example
State Shaders

Break

Using the Rasterizer
Alternate Pipeline Options
|  Exercise 21 - Alternate pipeline example

Lunch Break

Labels - Identifying Object Sets
|  Exercise 22 - Shader using labels
Leaf instances
Geometry shader object in scene DAG

Break

Part 8 - Illumination Models

Color and Energy Representation
Matching Shader Implementations
|  Traditional vs. physically correct
|  When to use shadow shaders

Break

Part 9 - Debugging Techniques and Resources

Summary of Techniques Used Throughout Exercises
-debug Option
Online Manual

Legal and Privacy Information
© mental images GmbH | Fasanenstr. 81 10623 Berlin Germany | phone +49.30.315.99.70 | fax +49.30.315.99.733 | office@mental.com