CSE168: Rendering Algorithms
Winter 2011

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


Henrik Wann Jensen
Office hours: Tuesdays 1-2pm

Teaching Assistant



CSE168 Discussion Forum

Mailing List

CSE168 Mailing List


TuTh 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 will cover the basic algorithms used for computer graphics rendering. During the course a ray tracing program will be implemented. This program will include 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.


The programming assignments use the Miro base code. 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
Jan 4 Topics Overview, Introduction to Ray Tracing
Chapter 2,5,6,7 (should be known material), Section 10.1, 10.2 slides
Jan 6 Intersection algorithms 1 Section 10.3, 10.4  
Week 2
Jan 11 Introduction to Miro and How to Render spheres
Jan 13 Shading 1
Week 3
Jan 18 Intersection algorithms 2    
Jan 20 Intersection algorithms 3    
Week 4
Jan 25 Procedural texturing   slides
Jan 27 Textures, Environments, and Bumps   slides
Week 5
Feb 1 Bumps and Displacement Mapping
Acceleration Structures 1
Feb 3 Acceleration Structures 2 BVH paper -
Week 6
Feb 8 Acceleration Structures 3   slides
Feb 10 Acceleration Structures 4 Surface area heuristic slides
Week 7
Feb 15 Monte Carlo Ray Tracing 1 Chapter on Sampling slides
Feb 17 Monte Carlo Ray Tracing 2 Chapter on Global Illumination slides
Week 8
Feb 22 Midterm 2010 midterm  
Feb 24 Photon Mapping 1 Assignment 2 deadline slides
Week 9
Mar 1 Photon Mapping 2   slides
Mar 3 Irradiance Caching    
Week 10
Mar 8 Tone Mapping    
Mar 10 -    

Last update: Mar. 1, 2011