CSE168: Rendering Algorithms
Spring 2004

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


Henrik Wann Jensen

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


CENTER 216, Tuesdays and Thursdays: 3:30pm - 4:50pm

Teaching Assistant

Craig Donner

Lab. hours:
Monday 3pm - 6pm
Tuesday 10pm - 1pm
Wednesday 3pm - 6pm
Thursday 10pm - 1pm

Programming Lab

AP&M 2444

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 Craig.

Programming assignment 1 [PDF] Due 11:59pm, Wednesday, April 14
Programming assignment 2 [PDF] Due 11:59pm, Wednesday, April 28
Programming assignment 3 [PDF] Due 11:59pm, Wednesday, May 19
Final Project [PDF] Due 11:59pm, Thursday, June 10

Here are the three test scenes for Assignment 3:

  • teapot.txt
  • bunny1.txt
  • bunny20.txt

    Here are three test scenes for Assignment 1:

  • sphere.txt and teapot.txt and bunny.txt

    You can get a bunny.obj without the big triangle here.

    You can now download the modified files for Assignment 2 for Windows and others. A new example scene file is also available.

    Photon Map implementation from Realistic Image Synthesis Using Photon Mapping.

    Useful Ressources

    Ray Tracing News


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


    Mike Caloud
    Kajun Cheng
    Joseph Chow
    Sunny Chow
    Cameron Chrisman
    Tak Chu
    Sonny Diao
    Thomas Hsieh
    Linda Ip
    Wojciech Jarosz
    Alex Kulungowski
    Henry Mitchell
    Jefferson Ng
    Ivan Ospina
    Dana Qu
    Jack Quinn
    Geoffrey Romer
    Siddartha Saha
    Brandon Schwartz
    Mara Silva
    Stephan Steinbach
    Diem Vu
    Timothy Wernette
    Brian Yu

    Neil Alldin
    Peter Byeon
    Jeremy Carver
    Cliff Chan
    Ashwin Chandra
    Hui-Chun Chang
    Andrew Chen
    Eddie Chu
    Dennis Chun
    Patrick Dwyer
    Armen Gregorian
    Joey Hammer
    Bekki Hui
    Arash Keshmirian
    Allen Lam
    Wade Roberts
    Ariel Roldan
    Nathan Schad
    Haixia Shi
    Siu-Cheong Tam
    David Tanguilig
    Phuong Vo
    Justin Wallace
    Xin Wang
    Hubert Wong

    Last update: June 7, 2004
    Henrik Wann Jensen