CSE168: Rendering Algorithms
Spring 2015

Instructor

Henrik Wann Jensen
Office hours: Tuesdays 2:30pm - 3:30pm

Teaching Assistant

Krishna Mullia


Office hours: Monday and Wednesday 2pm-3pm

Lectures

Tuesday and Thursday 12:30pm-1:50pm, CSE 4140

Book

Recommended

Peter Shirley et al., "Fundamentals of Computer Graphics", 2nd or later edition, AK Peters 2005 [Errata]

Optional

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
Free PDF version of this book.

Course Objective

This course covers algorithms for computer graphics rendering of photorealistic images. We will cover the ray tracing algorithm, shading models, acceleration structures, and global illumination algorithms. There will be a number of assignments focusing on implementing a ray tracer capable of rendering realistic images of fairly complex scenes.

Contents

The ray tracing algorithm, camera models, geometry intersection, geometry tessellation, acceleration structures, shading models, texturing, bump mapping, sampling and filtering, and advanced topics such as Monte Carlo ray tracing.

Grading

This is class is for 4 units.

Assignments

The programming assignments use the Miro base code (compiles on Mac, linux, and windows with visual studio 2015, Miro for visual studio 2013. You may need these files if you compile miro on windows. 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

sphere.obj
bunny.zip (contains bunny.obj)
bunny_smooth.zip (contains bunny_smooth.obj with normals)
teapot.obj
cornell_box.obj
sponza.zip (contains sponza.obj)

Useful Resources

Ray Tracing News
Ray Tracing Document (raytrace.pdf)

Schedule

Date Topic Reading Slides
Week 1
March 31 Topics Overview, Introduction to Ray Tracing
Chapter 2,5,6,7 (should be known material), Section 10.1, 10.2 slides
April 2 Introduction to Miro and How to Render spheres Section 10.3, 10.4 slides
Week 2
April 7 Intersection algorithms
  No slides
April 9 Shading
  slides
Week 3
April 14 Assignment 1 + Texturing   slides
April 16 Procedural texturing   slides
Week 4
April 21 Acceleration Structures 1   slides
April 23 Acceleration Structures 2 BVH paper slides
Week 5
April 28 Acceleration Structures 3 Surface area heuristic slides
April 30 Monte Carlo Ray Tracing 1   slides
Week 6
May 5 Monte Carlo Ray Tracing 2 Chapter on Sampling slides
May 7 Photon Mapping 1 Chapter on Global Illumination slides
Week 7
May 12 Photon Mapping and Irradiance Caching slides 1 slides 2
May 14 Progressive Photon Mapping   slides
Week 8
May 19 Tone Mapping night slides slides
May 21 Midterm 2010 midterm  
Week 9
May 26 Advanced Geometry   slides
May 28 Non Photorealistic Rendering   slides
Week 10
June 2 Sampling   slides
June 4 Final project presentations    

Last update: June 3, 2015