CSE168: Rendering Algorithms |

Henrik Wann Jensen

Office hours: Tuesdays 1-2pm

None

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

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 2Assignment 3

Models for the assignments

sphere.objbunny.zip (contains bunny.obj)

bunny_smooth.zip (contains bunny_smooth.obj with normals)

teapot.obj

cornell_box.obj

sponza.zip (contains sponza.obj)

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 |
slides | |

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 |
slides | |

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