Course Description

Programming advanced lighting using OpenGL and OpenGL Shading Language (GLSL). This includes per-pixel lighting, BRDFs, and multiple shadow rendering techniques.

The complete sylabus will be passed out on the first day of class.

Required Texts

Real-Time Rendering (2nd Ed.) by Tomas Akenine-Möller and Eric Haines. ISBN 1-56881-182-9. The book also has a website, http://www.realtimerendering.com/, that includes lots of additional references and sample code.

OpenGL Shading Language by Randi J. Rost. This book is optional, and either the 1st or 2nd edition should be sufficient. This book also has a web site, http://3dshaders.com/, that includes example shaders and some references. There will not be any readings assigned from this book.

OpenGL Programming Guide by Martin Ecker may also be useful. ISBN 0321335732. There will not be any readings assigned from this book. An older version of the book, which should be sufficient for this course, is available for download as a PDF from http://www.opengl.org/documentation/red_book/.

Programming Libraries

Last term we made heavy use of GLUT for the programming assigments. This term you are free to continue using GLUT, but I strongly recommend SDL instead. There are a number of tutorials available for SDL, though I think the two below will be the most useful.

In addition, there is some image loading code available. To use this code you will need the following:

There is also some glue to make interfacing with GLSL a bit easier.

OpenGL Shading Language Sample Code

Course Calendar

Specific details of the course calendar are subject to change. Some details, such as term project and assignments for the last half of the course will be determined later.

Week 1 (January 8th)

Week 2 (January 15th)

Martin Luther King Day. No class this week.

Week 3 (January 22nd)

Week 4 (January 29th)

Week 5 (February 5th)

Week 6 (February 12th)

Week 7 (February 19th)

Week 8 (February 26th)

Week 9 (March 5th)

Week 10 (March 12th)

Week 11 (March 19th)