CSE168: Rendering Algorithms |

Henrik Wann Jensen

Office hours: TBA

Wojciech Jarosz (cse168-ta(at)graphics.ucsd.edu)

TuTh 11:00-12:20pm, SOLIS 109

Wednesday 10:00-10:50am, EBU3B b250 (Discussion/Lab)

Wednesday 11:00-11:50am, EBU3B b250 (Lab)

Thursday 10:00-10:50am, EBU3B b250 (Lab)

A webboard for the class is set up. To access it go to http://webboard.ucsd.edu and use your network (e-mail) username and your PID as the password.

**Remember to check the webboard often for announcements!**

Peter Shirley et al., "Fundamentals of Computer Graphics", 2nd 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. The course will have several programming assignments in which the students will implemeent a ray tracer with 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. It will be graded based on (tentatively) 5 programming exercises (including a final project) plus a midterm.

The programming assignments use the Miro base code.

**Programming assignment 0**[PDF] [Gallery]**Programming assignment 1**[PDF] [Gallery]**Programming assignment 2**[PDF] [assignment2.h] [assignment2.cpp] [Gallery]**Programming assignment 3**[PDF] [Perlin.h] [Perlin.cpp] [PFMLoader.h] [PFMLoader.cpp] [assignment3.h] [assignment3.cpp] [cornell_box.obj] [Gallery]**Programming assignment 4**[PDF]

For additional inspiration check previous years' entries:

Here are some object files in OBJ format which you can use in your assignments:

- teapot.obj
- sphere.obj
- sphere_smooth.obj
- bunny.zip
- bunny_smooth.zip
- sponza.zip
- budda_smooth.zip
- dragon_smooth.zip

Photon Map implementation from Realistic Image Synthesis Using Photon Mapping.

Ray Tracing News

Ray Tracing Document (raytrace.pdf)

Date |
Topic |
Reading |
Slides |

Week 1 |
|||

April 3 | Topics Overview, Introduction to Ray TracingHandout of Assignment 0 |
Chapter 2,5,6,7 (should be known material), Section 10.1, 10.2 | PDF + PDF2006 |

April 5 | Intersection algorithms 1 | Section 10.3, 10.4 | |

Week 2 |
|||

April 10 | Intersection algorithms 2Handout of Assignment 1 |
||

April 12 | Intersection algorithms 3Deadline Assignment 0 |
||

Week 3 |
|||

April 17 | Basic Shading | Section 9.1,9.2, 10.5,10.6,10.7 | |

April 19 | Acceleration structures 1 | Section 10.9 + BVH paper | |

Week 4 |
|||

April 24 | Acceleration structures 2Deadline Assignment 1Handout of Assignment 2 |
Adaptive grid paper | |

April 26 | Acceleration structures 3 | BSP Tree paper | |

Week 5 |
|||

May 1 | Advanced Geometry | Section 10.10 | |

May 3 | Midterm |
2004 Midterm | |

Week 6 |
|||

May 8 | Textures, Environment mapping, and ProceduralsDeadline Assignment 2Handout of Assignment 3 |
||

May 10 | Monte Carlo Ray Tracing | Chapter 14, p. 288-295 | |

Week 7 |
|||

May 15 | Global Illumination 1 | Chapter 23 | |

May 17 | Photon Mapping 1 | photon mapping paper | |

Week 8 |
|||

May 22 | Photon Mapping 2
Deadline assignment 3Handout final project |
||

May 24 | Volume Rendering and Subsurface Scattering | bssrdf paper | |

Week 9 |
|||

May 29 | Rendering Whisky and Bump Mapping | ||

May 31 | Sampling and Anti-Aliasing | Chapter 14 | |

Week 10 |
|||

June 5 | Tone Mapping | Chapter 22 | PDF and PDF (nightsky) |

June 7 | Rendering Competition in CSE4140 |
||

Finals Week |
|||

June 14 | Deadline Final Project |

Last update: June 8, 2007