CSE168: Rendering Algorithms
Spring 2007

The webpage with the results from our Rendering competition is now available.


Henrik Wann Jensen
Office hours: TBA

Teaching Assistant

Wojciech Jarosz (cse168-ta(at)graphics.ucsd.edu)


TuTh 11:00-12:20pm, SOLIS 109

Discussion/Lab Hours

Wednesday 10:00-10:50am, EBU3B b250 (Discussion/Lab)
Wednesday 11:00-11:50am, EBU3B b250 (Lab)
Thursday 10:00-10:50am, EBU3B b250 (Lab)


A webboard for the class is set up. To access it go to http://webboard.ucsd.edu and use your network (e-mail) username and your PID as the password.
Remember to check the webboard often for announcements!



Peter Shirley et al., "Fundamentals of Computer Graphics", 2nd 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 will cover the basic algorithms used for computer graphics rendering. The course will have several programming assignments in which the students will implemeent a ray tracer with acceleration structures, and advanced rendering capabilities such as Monte Carlo ray tracing and photon mapping. At the end of the course the students should be able to write a ray tracer, able to handle different types of geometry efficiently, capable of choosing good acceleration structures, have basic knowledge of shading models such as the Lambert and Phong models, knowledge of texture and bump mapping techniques (possibly mipmap filtering), basic knowledge of sampling and filtering, global illumination and photon mapping, and an idea of more advanced topics such as programmable graphics hardware.


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


This is class is for 4 units. It will be graded based on (tentatively) 5 programming exercises (including a final project) plus a midterm.

Programming Assignments

The programming assignments use the Miro base code.

Here are some object files in OBJ format which you can use in your assignments:

Photon Map implementation from Realistic Image Synthesis Using Photon Mapping.

Useful Resources

Ray Tracing News
Ray Tracing Document (raytrace.pdf)


Date Topic Reading Slides
Week 1
April 3 Topics Overview, Introduction to Ray Tracing
Handout of Assignment 0
Chapter 2,5,6,7 (should be known material), Section 10.1, 10.2 PDF + PDF2006
April 5 Intersection algorithms 1 Section 10.3, 10.4  
Week 2
April 10 Intersection algorithms 2
Handout of Assignment 1
April 12 Intersection algorithms 3
Deadline Assignment 0
Week 3
April 17 Basic Shading Section 9.1,9.2, 10.5,10.6,10.7 PDF
April 19 Acceleration structures 1 Section 10.9 + BVH paper PDF
Week 4
April 24 Acceleration structures 2
Deadline Assignment 1
Handout of Assignment 2
Adaptive grid paper PDF
April 26 Acceleration structures 3 BSP Tree paper PDF
Week 5
May 1 Advanced Geometry Section 10.10 PDF
May 3 Midterm 2004 Midterm  
Week 6
May 8 Textures, Environment mapping, and Procedurals
Deadline Assignment 2
Handout of Assignment 3
May 10 Monte Carlo Ray Tracing Chapter 14, p. 288-295 PDF
Week 7
May 15 Global Illumination 1 Chapter 23 PDF
May 17 Photon Mapping 1 photon mapping paper PDF
Week 8
May 22 Photon Mapping 2
Deadline assignment 3
Handout final project
May 24 Volume Rendering and Subsurface Scattering bssrdf paper PDF
Week 9
May 29 Rendering Whisky and Bump Mapping PDF
May 31 Sampling and Anti-Aliasing Chapter 14 PDF
Week 10
June 5 Tone Mapping Chapter 22 PDF and PDF (nightsky)
June 7 Rendering Competition in CSE4140  
Finals Week
June 14 Deadline Final Project  

Last update: June 8, 2007