Real-time Rendering

Development Environment

Lab Assignments

Lab Assignments
Lab1 Lab2 Lab3
Interactive Model Viewer with GLSL
3D Paint Application and Vertex Textures
Shadow Mapping
Implement an examiner viewer for 3D models. The user should have the ability to rotate, pan and zoom (dolly) the camera. Implement GLSL shaders for lighting, including a vertex-based Gourand shader, a fragment-based Phong shader and a 2-hemisphere light shader (orange-book). Allow up to 4 light sources. Render 3D models with lighting and textures. Create a basic 3D paint program that allows you to paint on the diffuse color for a model. Use a normal map to determine the normal at each vertex. Use texture maps for the diffuse reflection. Integrate this with the lighting and interaction from lab1.

Develop a simple scene with multiple objects and at least two light sources. Use one of the packages mentioned in class to compute an ambient occlusion map. Implement shadow maps in your demoframework. Also include a shader with ambient occlusion to one of your models. The ambient term should still be multiplied by the ka weight unless you are doing hemispherical lighting.

 

Full specification

Demo Framework

Full specification
Full specification is above
Due Week 3 (extended) Due Week 7 Due Week 9

References:

See the Adding Examiner style viewer to a scene graph in my notes.

Orange Book.

 

References:

[497] Hanrahan, P., and P. Haeberli, "Direct WYSIWYG Painting and Texturing on 3D Shapes," Computer Graphics (SIGGRAPH '90 Proceedings), pp. 215-223, August 1990.

YouTube of BlackSmith

ZBrush: Brutus Scupting (Youtube)

MudBox: Concept Sculpting

3D Silo - a low cost alternative (demo)

References:

Ambient Occlusion Tools:

Shadow Mapping

Winter 2009 thru 2012 Results

Lab1 result

Lab1 result wireframe


2012 Results

(click for a larger image)

lab2

lab2 result

labs result

lab2 result

lab2 result

lab2 result

lab2 result

Earlier Results

lab2 image

2012 Results

(click for a larger image)

Lab3 result

lab3 result

lab3 result

lab3 result

lab3 result

Earlier Results

Lab3 results