CSE168: Rendering Algorithms
Spring 2005

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


Henrik Wann Jensen

Office hours, Fridays 2:30-3:30pm


CENTER 214, Tuesdays and Thursdays: 6:30pm-7:50pm

Teaching Assistant

Wojciech Jarosz

Lab. hours:
Monday: 12pm-3pm
Tuesday: 1pm-4pm
Wednesday: 12pm-3pm
Thursday: 1pm-4pm
Friday: 9am-12pm (in AP&M 2337)

Programming Lab

New Lab location: 3313 AP&M
email Wojciech if you need the combination.

Mailing List




Peter Shirley, "Fundamentals of Computer Graphics", AK Peters 2002 [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

Additional notes

Ray tracing document

Course Objective

This course will cover the basic algorithms used for computer graphics rendering. The course will have four 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 and/or programmable graphics hardware.


This is class is for 4 units. It will be graded based on four programming exercises (including a final project) and a midterm. The grading for the projects are: 1 (15%), 2 (20%), 3 (20%), 4 final project (30%), midterm (15%)

Programming Assignments

The miro base code is available for Windows and OSX/Linux. It includes a README.pdf that should help answer most questions you might have. If there's still something confounding, email Wojciech.
New [04/05/05] : Visual Studio.NET 2003 project files are now available for the basecode. Just unzip them into the Win32 subdirectory of the miro code.
New [04/14/05] : New miro base code for assignment 2 for Windows and OSX/Linux. This contains just the modified files from the assignment 1 basecode. You should extract this new basecode into the directory containing the old code, overwritting files. Remember to back up your completed rasterization code! Read the README.pdf file within the archive. New [04/21/05] : New teapot model with vertex normals specified is now available.

Programming assignment 1 [PDF] Due 11:59pm, Wednesday, April 13
Programming assignment 2 [PDF] Due 11:59pm, Wednesday, April 27
Programming assignment 3 [PDF] Due 11:59pm, Wednesday, May 18
Programming assignment 4 [PDF] Due 11:59pm, Thursday, June 9
For additional inspiration check previous years' entries:

In case you want to use some other scanned models for your final project, here they are in OBJ format:

Assignment 3 uses four test scenes: teapot_coarse.txt, bunny1.txt, bunny20.txt, and sponza.txt.
Here are the three new test scenes for Assignment 3:

and also the sponza OBJ file:

Photon Map implementation from Realistic Image Synthesis Using Photon Mapping.

Useful Ressources

Ray Tracing News


Date Topic Reading Slides
Week 1
March 29 Topics overview, transformations and triangles Chapter 1-5 (should be known material) PDF
March 31 Line and Triangle Rasterization
Handout of assignment 1
Section 2.5, 3.5, and 3.6 PDF
Week 2
April 5 Perspective corrected interpolation
Ray Tracing (Camera model)
Chapter 6 and Pages 154-159 PDF
April 7 Intersection algorithms I - No slides
Week 3
April 12 Shading Models I
Handout of assignment 2
Chapter 8 + pages 159-165 No slides
Wednesday, April 13 Programming assignment 1 due
April 14 Shading Models II - PDF
Week 4
April 19 Textures, Environments, and Bumps Chapter 10 PDF
April 21 Acceleration Structures I Pages 167-174, BVH paper PDF
Week 5
April 26 Acceleration Structures II
Handout of assignment 3
Pages 174-180, adaptive grid paper PDF
Wednesday, April 27 Programming assignment 2 due
April 28 Acceleration Structures III BSP tree paper PDF
Week 6
May 3 Advanced Geometry Chapter 13 PDF
May 5 Procedural Texturing Noise paper and Cellular noise paper PDF
Week 7
May 10 Monte Carlo Ray Tracing + Questions - PDF
May 12 Midterm Slides + previous readings -
Week 8
May 17 Global Illumination I The Rendering Equation PDF
Wednesday, May 19 Programming assignment 3 due
May 19 Photon Mapping I
Handout of the final project assignment
Week 9
May 24 Photon Mapping II - PDF
May 26 Radiosity Chapter 14 PDF
Week 10
May 31 Sampling and Anti-Aliasing Chapter 14 PDF
June 2 Non Photorealistic Rendering - -
June 9, 3-6pmRendering Competition
Final project due in AP&M 4882
- -


Shuaib Arshad
Fred Birchmore
Will Chang
David Chhat
Jeff DeWall
Louka Dlagnekov
Jeff Kelly
Alex Kozlawski
Adam Levy
Chih Liang
Richard Mahler
Warren Mar
Atul Nayak
Julio Ng
David Shoemaker
Anton Vladimirov
Long Vo
Johnny Wang
Janvier Wijaya
Robert Wilson
Justin Yang

Allen Ding
Jonathan Holborn
Karen Hom
Jeff Hwang
David Klenk
Ji Lee
Fred Lionetti
Zhao Yong Liu
Jun Ma
Christopher Ritchie
Wade Roberts
Jeff Robertson
Hardile Shah
Fontaine Shu
Mara Silva
Donald Tai
Daniel Tracy

Last update: June 16, 2005
Henrik Wann Jensen