CS 636  Advanced Rendering Techniques
Spring 2022
Description: The creation of realistic images from 3D models is central
to the development of computer graphics. The ray tracing algorithm has
become one of the most popular and powerful techniques for creating
photorealistic images. Ray tracing's simplicity, elegance and ease of
implementation make it one of the most important image generation algorithms
in computer graphics. This class will explore in detail the algorithmic
components of ray tracing.
These include
 Object representations
 Objectray intersections
 Viewing/camera models
 Shading models
 Reflection & refraction models
 Acceleration techniques
 2D/3D texture mapping
 Antialiasing & filtering
 Participating media
Students will implement many of these components in their class programming projects.
Other types of rendering algorithms will be discussed, e.g. radiosity,
volume rendering, nonphotorealistic rendering and photon mapping.
Location  Online
Time  Wednesday, 6:00 PM → 8:50 PM
Instructor
Textbooks
Recommended

Ray Tracing from the Ground Up, Kevin Suffern, AK Peters, 2007,
ISBN: 9781568812724
Supplemental

An Introduction to Ray Tracing, Andrew S. Glassner (ed.),
Morgan Kaufmann, 1989, ISBN: 9780122861604
Now available for free download!
Grade
 Programming Assignments  90%
 Final Exam  10%
I intend to use the standard grading scale of 100→ 90 (A), 89→ 80 (B),
79→ 70 (C), 69→ 60 (D), else (F).
Please also note that
incompletes will not be given for this course.
Assignments
Each assignment is worth 10 points.
Post several (at least 3) images generated from each assignment to a web site.
Make sure that your images and the objects in your images are big enough
to see/evaluate the effect implemented in each assignment.
Your images should leave no doubt that you have implemented a particular feature
correctly.
Programming assignments may be written in any language. But student
experience has shown that interpreted languages, e.g. python, are too
slow and inefficient for the serious numerical computing needed to do
ray tracing.
Collect and submit all of the needed source files for an assignment in a single zip file.
Include a README file that says what source files and which lines contain
the code that implements the central feature for that assignment.
I will be looking over your code, instead of trying to run it, in order
to grade the assignments.
You can use ImageMagick to read/write images.
Follow all of the instructions listed in the assignments.
5 points will be subtracted from an assignment if all of the
instructions aren't followed.
Assignments are due at 11:59PM on the due date. Well, ... I will honor the vampire rule.
Post images on the web and code on Bb Learn.
Email me the URL.
Late Policy
 One point off per day late, up to a maximum of 5 points.
 All regular assignments due at 11:59 PM on June 5th.
 No Incompletes!
It is expected that you will do you own work, i.e. write your own
software for the assignments.
You cannot "borrow" code from other
students or download programs from the Internet.
Specifically, you cannot use the code provided by the Suffern or
Shirley books (or their derivatives) for your assignments.
Any student violating this policy will be
given an 'F' for the class.
You may use image and basic math libraries,
e.g. for storing and manipulating vectors and matrices.
Final Exam
There will be a final exam on material not covered by the
regular assignments.
Topics covered on the final exam are
 Radiosity
 Photon Mapping
 BRDFs
 Ray Tracing CSG models
 Volume Rendering
 Spot Lights
 Sampling and Reconstruction
 Texture Mapping
 Procedural Textures
 Perlin Noise and Turbulence Functions
 NonPhotorealistic Rendering
Questions related to these topics will be in a shortanswer format.
Class Schedule
Week 1  3/27/22
Week 2  4/3/22
Week 3  4/10/22
Week 4  4/17/22
 Read Suffern: Chapters 22
 Read Glassner: Chapter 6
 Related papers
 M. Agate, R.L. Grimsdale and P.F. Lister, "The HERO
Algorithm for RayTracing Octrees," Proc. Eurographics Workshop on Graphics Hardware, 1989.
 H. Samet, "Implementing Ray
Tracing with Octrees and Neighbor Finding," Computers & Graphics,
Vol. 13, No. 4, pp. 445460. 1989.
 K. Sung, "A DDA Octree
Traversal Algorithm for Ray Tracing," Proc. Eurographics,
pp. 7385. 1991.
 K.Y. Whang, et al., "OctreeR:
an adaptive octree for efficient ray tracing," IEEE Transactions on Visualization and Computer Graphics, vol. 1, no. 4, pp. 343349, Dec. 1995.
 J. Revelles, C. Urena and M. Lastra, "An Efficient
Parametric Algorithm for Octree Traversal," Journal of WSCG, pp. 212219, 2000.
 Lecture Topics  Acceleration Techniques
 Programming Assignment 3  Add an acceleration technique
Week 5  4/24/22
 Assignment 2 due 4/24/22
 Read Suffern: Chapters 13, 18 & 26
 Related papers
 D. Greenberg, M. Cohen and K. Torrance, "Radiosity: A method for
computing global illumination," The Visual Computer, 2(5):2917,
September 1986.
 M. Cohen and D. Greenberg, "The hemicube: a radiosity solution for complex environments,"
ACM Computer Graphics
(SIGGRAPH '85 Proceedings), Vol. 19, No. 3, July 1985, pp. 3440
 M. Cohen, S.E. Chen, J.R. Wallace and D. Greenberg, "A progressive refinement approach to fast radiosity image generation,"
ACM Computer Graphics
(SIGGRAPH '88 Proceedings), Vol. 22, No. 4, August 1985, pp. 7584
 H. Wann Jensen ,
"Global Illumination using Photon Maps ," Proc.
7th Eurographics Workshop on Rendering, 1996, pp. 2130
 Lecture Topics 
Week 6  5/1/22
Week 7  5/8/22
Week 8  5/15/22
Week 9  5/22/22
Last modified on May 27, 2022.