Kein Folientitel
Download
Report
Transcript Kein Folientitel
Shading Languages
By Markus Kummerer
State of the Art Shading
Markus Kummerer
2 / 19
Overview
RenderMan Interface
Shape vs. Shading
Types of Shaders
Shading Language
Examples
Interactive Multi-Pass Shading
Markus Kummerer
3 / 19
RenderMan Interface
Powerful set of primitive surface types
Quadric surfaces
Polygons
Parametric surfaces
Hierarchical modeling, geometry
Constructive solid geometry
Camera model
Generalized shading model
Markus Kummerer
4 / 19
Shape vs. Shading
Shape
Geometric configuration of objects
Shading
Calculates the appearance of an object in a
scene under a set of light sources
Result defined by
Colors
of the surface and the light source(s)
Position and orientation of the surface relative to
the light
Roughness of the surface
Markus Kummerer
5 / 19
Shading Pipeline
Three basic parts of the shading process
Markus Kummerer
Emission at the light source
Interaction of the light with the surface
Atmospheric effects between the surface
and the viewpoint
6 / 19
Types of Shaders
RenderMan Interface supports
Markus Kummerer
Light source shaders
Surface shaders
Volume shaders
Transformation shaders
Displacement shaders
Imager shaders
7 / 19
Light Source Shader
Calculates the intensity and color of light
sent by the light source to a point on a
surface
Markus Kummerer
8 / 19
Surface Shader
Determines the color of light reflecting from
a point on a surface in a particular direction
Markus Kummerer
9 / 19
Volume Shader
Generalizes the idea of atmosphere
affecting light passing through space
between a surface and the eye
Markus Kummerer
10 / 19
Shading Language
Orthogonal definition
Rendering environment
Special data types
Uniform and varying variables
Integration constructs
Filtered map access
Function library
Markus Kummerer
11 / 19
Examples
Markus Kummerer
12 / 19
Example: Surface Shader
Markus Kummerer
13 / 19
Example: Surface Shader
Markus Kummerer
14 / 19
Example: Displacement Shader
Markus Kummerer
15 / 19
Interactive Programmable Shading
OpenGL acts as an assembly language for
shader execution
Compiler is introduced between the
application and the graphics library
Markus Kummerer
16 / 19
Interactive Programmable Shading
Results
Markus Kummerer
17 / 19
Conclusion
Shading in software
Common technique for production animation
Offers generalized shading models
Provides a highly flexible approach
But is not interactive...
Shading in hardware is needed for
interactivity
Markus Kummerer
18 / 19
Hope you are delighted, too
Markus Kummerer
19 / 19