VIZA 616 - Rendering & Shading
Spring 2003

Course Notes

Subject to change
Last updated 12/18/01


Specific class notes and auxiliary readings.

Notes on Homework - Some notes on homework policy and turn-in procedures.

Local shader directories. - Some local areas where you can find shaders.

Presentation Ideas. - For those of you suffering from a lack of presentation ideas, here's a short list.



Out of Date - But Probably Still Useful Section:

Reflection & Environment maps

Environment Map - environment.rib Renders six frames necessary for cubic environment map. 
Final Render - render_env.rib Renders final scene using environment map from environment.rib. Also uses shadow maps created by Mar. 2 lecture files... 

Shadow maps

Shadow Maps - shadows.rib Renders shadow map for distant & spot light. 
Final Render - render_shadows.rib Renders final scene using shadow maps from shadows.rib. 

Displacement and bump mapping
You may want to check out the shadertest.rib file to see an implementation of the displacementbound function.
 

Bump mapping - dented_b.sl Bump shader using fractal bump value. 
Displacement mapping - dented_d.sl Displacement shader using fractal bump value. 

Lecture - Noise() examples

Noise Shader: noise.sl A simple shader that demonstrates some of the properties of RenderMan noise().
Texture Noise: tex_noise.sl Blends a texure color and vector-valued noise color by a user-specified ratio.
Perturbed Texture: tex_perturb.sl Uses noise() to warp the texture space used to map a texture to the surface.
Warped Braid: celtic_noise.sl The same as the previously used celtic.sl, with noise() to warp the texture space of the surface.
Perturbed Noise Shader: perturbed_noise.sl Uses noise() to first warp the texture space of the surface, then generates the surface color with another noise() function.
Gloud Shader: gcloud.sl An example of Geoffrey Gardner's clouds. Opacity is varied using noise and a fading function based on the facing ratio of the surface.

Shading examples
 

Planet Rings Shader: rings.sl Uses a spline function to blend color ramp with input color Cs. Use on a disk surrounding your planet! 
Braided Line Shader: celtic.sl Uses the ptlined() function to draw a repeatable celtic braid pattern. Uses modified input color Cs. Create many user-definable parameters for linewidth, frequency, and switching between cartesian and polar coordinates. 
Terrain Shader: land.sl Utilizes layering for rock, grass, snow, beach, and water colors. Interpolations based on elevation and slope. For those of you who want to play with this shader, the RIB file for a terrain surface can be found here.

Maya Software Rendering and Shading

Pearce and Sung. Maya Software Rendering: A Technical Overview, Assist Publishing Group, September 1998. 

The Reyes Image Rendering Architecture

Cook, Carpenter, and Catmull.The Reyes Image Rendering Architecture, Computer Graphics, Vol 21, No 4. 95-102, 1987. 

Illumination Models

Glassner, Andrew S. Principles of Digital Image Synthesis, (The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling), 1995. 
Foley, James D., ed. et al.Computer Graphics: Principles and Practice, Second Edition in C. Addison-Wesley Pub Co, 1990. 

Shade Trees.
Here is the reference information for the first lecture. It is a 1984 SIGGRAPH paper that introduced a new concept for flexible shading models.
 

Cook, Robert L. Shade Trees, Computer Graphics (SIGGRAPH '84 Proceedings) v. 18, July 1984, pp. 223-31