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