CS 6620 - Fall 2012
Ray Tracing for Graphics (a.k.a. Advanced Computer Graphics II)

Example images generated by students who took this class in Fall 2012.

Instructor:Cem Yuksel (Office hours: by appointment, WEB 2686)
Time:Tuesday & Thursday @ 3:40pm - 5:00pm
Location:WEB 1248


This course covers fundamental concepts of rendering and ray tracing. Each student implements a ray tracer from scratch. With each project students add a new feature to their ray tracers. The related theory and implementation details are discussed in the lectures.

Course Objectives

The main objective of this course is to introduce students the fundamental concepts of image syntesis in computer graphics. At the conclusion of this course students will be able to:
  • Understand the stages of a general purpose rendering pipeline,
  • Implement ray tracing for image syntesis and lighting simulation,
  • Indentify aliasing and sampling related problems in graphics, and
  • Obtain the necessary background knowledge for following the state-of-the-art advancements in rendering related research in computer graphcis.


WeekDateTopicProject Deadlines
1Aug 21Introduction
Aug 23Images and Transformations
2Aug 28Camera RaysProject 0 deadline - Scene Setup
Aug 30Ray Sphere Intersection
3Sep 4Materials and Shading ModelsProject 1 deadline - Ray Casting
Sep 6Lights
4Sep 11Shadows and ReflectionsProject 2 deadline - Shading
Sep 13Refractions
5Sep 18Ray Plane and Box IntersectionsProject 3 deadline - Shadows, Reflections, and Refractions
Sep 20Ray Triangle Intersection
6Sep 25Space PartitioningProject 4 deadline - Triangular Meshes
Sep 27Space Partitioning (cont.)
7Oct 2Textures and Texture MappingProject 5 deadline - Space Partitioning
Oct 4Ray Differentials and Sampling
8Oct 9— Fall Break —
Oct 11— Fall Break —
9Oct 16AntialiasingProject 6 deadline - Textures
Oct 18Reconstruction Filters
10Oct 23Depth of FieldProject 7 deadline - Antialiasing
Oct 25Motion Blur
11Oct 30Glossy SurfacesProject 8 deadline - Depth of Field
Nov 1Area Lights and Soft Shadows
12Nov 6Monte Carlo SamplingProject 9 deadline - Soft Shadows and Glossy Surfaces
Nov 8Ambient Occ. and Global Illum.
13Nov 13Path TracingProject 10 deadline - Monte Carlo GI
Nov 15Guest Lecture: Peter Shirley
14Nov 20Photon MappingProject 11 deadline - Path Tracer
Nov 22— Thanksgiving —
15Nov 27Photon Mapping (cont.)
Nov 29Final Gathering
16Dec 4Adv. Global IlluminationProject 12 deadline - Photon Mapping
Dec 6Adv. Global Illumination (cont.)
Dec 14Final ProjectsFinal Project


Students must prepare a project web page for each project (except for Project 0) that includes at least one image rendered using his/her project code, clearly showing that the requirements of the project have been completed. This web page can have multiple images showing different aspects of the project. Each image must also have a render time next to it (as well as hardware information). The images on the project web pages must be PNG or JPG. Students can convert the output images of their ray tracers using any image conversion software.

All project web pages of a student must be under the same web directory. The naming convention for the project web pages is prjN.html, where 1 ≤ N ≤ 13. Students should also prepare a 200x150 pixel thumbnail image for each project and put it in the same directory with the name convention prjN.jpg. For example, if the student's web directory is http://www.cs.utah.edu/~myname/courses/cs6620/, Project 1 submission should include:
http://www.cs.utah.edu/~myname/courses/cs6620/prj1.html and
as well as all the files that are linked within prj1.html. Students should pick a directory before the Project 0 deadline.

Students must also submit their source codes for each project, which should NOT be included on the project web pages. Students are highly encouraged to use C++ for their projects.

Deadlines and Late Submissions: The deadline for each project is the class start time (3:40pm) on the date indicated on the schedule (see above). Each student is permitted 3 late submissions without penalty, provided that the project is submitted before the next class time. Additional late submissions suffer a 20% penalty applied at each following class time. No late submission is accepted for the final project without prior permission from the instructor.

All projects are individual projects. Group projects are not permitted. Therefore, each student must write his/her own code. Collaboration between students is encouraged, but code sharing is not permitted. External libraries and source code can be used only for additional functionalities that are not core parts of the projects, and they should be clearly indicated with comments within the source code.


Project 00 points
Projects 1-85 points
Projects 9-1210 points
Final Project20 points
TOTAL100 points

University of Utah Disability Accommodation Policy

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you need accommodations in the class, reasonable prior notice should be given to the Center for Disability Services, 162 Olpin Union Building, 801-581-5020 (V/TDD), http://disability.utah.edu/. CDS will work with you and the instructor to make arrangements for accommodations.

2012 Teapot Rendering Competition Awards


Yang Shen

Juror Choice Award  &  Student Choice Award

Jin Cui