CSE168: Rendering Algorithms
Spring 2012


Henrik Wann Jensen
Office hours: Mondays 2-3pm

Teaching Assistant



Monday and Wednesday 11:00-12:20pm, CSE 2154



Peter Shirley et al., "Fundamentals of Computer Graphics", 2nd or later edition, AK Peters 2005 [Errata]


Useful book on geometry, ray intersections, transformations etc.
Philip Schneider and David Eberly, "Geometric Tools for Computer Graphics", Morgan Kaufmann 2002

More advanced text on global illumination and photon mapping
Henrik Wann Jensen, "Realistic Image Synthesis Using Photon Mapping, AK Peters, 2001

Slightly dated, but still a very comprehensive overview of image synthesis
Andrew Glassner, "Principles of digital image synthesis", Morgan Kaufmann, 1995

Course Objective

This course covers algorithms for computer graphics rendering of photorealistic images. We will cover the ray tracing algorithm, shading models, acceleration structures, and global illumination algorithms. There will be a number of assignments focusing on implementing a ray tracer capable of rendering realistic images of fairly complex scenes.


The ray tracing algorithm, camera models, geometry intersection, geometry tessellation, acceleration structures, shading models, texturing, bump mapping, sampling and filtering, and advanced topics such as Monte Carlo ray tracing.


This is class is for 4 units.


The programming assignments use the Miro base code. You may need these files if you compile miro on windows. You need OpenGL and GLUT to compile Miro. To download the base code, you will need to use the UCSD Proxy Server, or one of the ACS managed PCs.

Assignment 0
Assignment 1

Assignment 2
Assignment 3

Models for the assignments

bunny.zip (contains bunny.obj)
bunny_smooth.zip (contains bunny_smooth.obj with normals)
sponza.zip (contains sponza.obj)

Useful Resources

Ray Tracing News
Ray Tracing Document (raytrace.pdf)


Date Topic Reading Slides
Week 1
April 2 Topics Overview, Introduction to Ray Tracing
Chapter 2,5,6,7 (should be known material), Section 10.1, 10.2 slides
April 4 Intersection algorithms 1 Section 10.3, 10.4 Slides
Week 2
April 9 Shading 1
April 11 Intersection algorithms 2
Week 3
April 16 Intersection algorithms 3    
April 18 Procedural texturing   Slides
Week 4
April 23 Textures, Environments, and Bumps   Slides
April 25 Acceleration Structures 1    
Week 5
April 30 Acceleration Structures 2 BVH paper Slides
May 2 Acceleration Structures 3   Slides
Week 6
May 7 Acceleration Structures 4 Surface area heuristic Slides
May 9 Monte Carlo Ray Tracing 1 Chapter on Sampling Slides
Week 7
May 14 Monte Carlo Ray Tracing 2 Chapter on Global Illumination Slides
May 16 Monte Carlo Ray Tracing 3 Chapter on Global Illumination Slides
Week 8
May 21 Photon Mapping 1   1 and 2
May 23 Midterm 2010 midterm  
Week 9
May 28 Memorial day - No class    
May 30 Tone Mapping   Slides
Week 10
June 4 Advanced Geometry   Slides
June 6 Final project presentations    

Last update: May 30, 2012