General InformationLectures: SL 402, Tuesdays, 6pm - 8.50pm
Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, email@example.com
Office Hours: Tuesdays: 4:00PM - 5:00PM Others by appointment
Text: Tomas Akenine-Moller and Eric Haines, "Real-Time Rendering", 3rd Edition, A K Peters Ltd, 2008
- Randy Rost et al "OpenGL Shading Language", Addison Wesley publishers, 2009
- Mike Bailey and Steve Cunningham Graphics Shaders: Theory and Practice, Second Edition, A K Peters/CRC Press;
Real-time applications such as video games, simulators, and virtual reality have become capable of near cinematic-quality visuals at real-time rates. Real-Time Rendering is a hot new area which is driving such applications. The goal of this course is to expose students to a wide range of state-of-the-art research, techniques, and systems in the field of computer graphics. The format of the course will be weekly seminars and presentations. Each student will make several presentations over the course of the semester. This semester's class will focus on Real-Time Rendering Techniques with special focus on Real-Time Global Illumination. Global illumination techniques such as ray tracing and photon mapping have been known to generate photorealistic images. However, classic ray tracing or photon mapping can take hours to render a single image, which makes them unsuitable for real time rendering. Recently, approximate real-time rendering algorithms have emerged, which are able to generate photorealistic images by computing real-time global illumination solutions at over 30 frames per second. The images below show screenshots from two popular game engines Torque 3D and Crysis game engine. The Torque 3D game engine (left) does not implement global illumination while the crysis game engine (four images on right) implements global illumination, which enables it to generate much more photorealistic images in real time.
This course will examine advances in graphics hardware, real-time rendering, and real-time global illumination algorithms for producing high-quality interactive graphics. Examples of topics to be covered include level of detail, terrain rendering, vertex/pixel/geometry shaders, shading languages, image-based rendering, occlusion culling, approximation algorithms for real-time global illumination, and real-time natural scene rendering. Students will carry out a final project that will entail implementing one or more of the algorithms discussed in the class and rendering a 3D image using at least one of the techniques learned in the class.
Note: : Although many of the topics covered in this class will touch on some of the techniques used in video games, this is not a course about building video games: it is about understanding selected classic and emerging techniques used in building a 3D graphics engine such as sits under the hood of modern games (as well as other 3D graphics applications). The course will be highly technical. At least one previous graphics class is a must and knowledge of shader-based openGL while not a MUST, would be immensely helpful. Many vital aspects of game design: character AI, the production process, artist tools, the network layer (for multiplayer or online games), interface design, multiplatform support, etc will not be discussed. In other words, don't take the class just because you like playing video games.
Student presentations: Students will be required to present papers from the list of topics in the schedule below. Topics will be assigned using a sign-up sheet on a first come-first served basis. While some of the readings from the class are taken from the course text, selected papers are also assigned from the computer graphics literature to augment. Students may also be required to perform a literature search to find other relevant papers.If there is a compelling argument, a student may be allowed to substitute (with my approval) an alternate topic which is found in current real-time graphics literature for one of the topics in the schedule. In such a case, topics chosen may focus on a single algorithm, a comparison of algorithms, or an overview of a topic, language, or system. If one of your presentations focusses on a particular article or set of articles, you must provide me with a copy of each article at least 2 weeks prior to your presentation. Do not be too broad; I'd rather see you do a thorough job of covering a focussed topic rather than a shallow overview of a large field. Presentations shall be done using in Microsoft Powerpoint. The following powerpoint template should be used for making your slides. Powerpoint Template This is done to ensure that all presentations have the same look and feel.
Projects: Students shall be assigned three projects during the course of the semester and will also be required to do a final project, which shall ideally involve implementing some of the real-time rendering techniques discussed in class. Students may choose to implement their final project using either a shader program or implement using an open source game engine such as Ogre . Some assigned projects will involve programming OpenGL and the OpenGL shading language. Since this is an advanced graphics class, it will be assumed that students either can either already program OpenGL/GLSL or be able to pick up these skills.
Grade Policy: Student presentations (30%), Class participation (10%) Assigned projects (30%) and Final project (30%). There will be no exams.
Final Project Proposals
- Will DiSanto: Real-time Simulation of Large Bodies of Water
- Xin Wang: Real Time Realistic Terrain Simulation
Weekly Topics and Presenters (Tentative!)
Week Topic Presenter Slides Week 1 Intro: Course overview Chapters 1 -4 of RTR Emmanuel Agu [ Slides ] Week 2 Visual Appearance (Light, material, shading), Chapters 5 of RTR Emmanuel Agu [ Slides ] Texturing (Image texturing, procedural texturing, alpha mapping, bump mapping), Chapters 6 of RTR Emmanuel Agu [ Slides ] Week 3 Advanced Shading (Radiometry, BRDF models), Chapters 7 of RTR Emmanuel Agu [ Slides ] Area and Environmental Lighting (Area light sources, environment mapping), Chapters 8 of RTR Will Disanto [ Slides ] Week 4 Image-based effects (Skyboxes, sprites, billboards, particle systems), Sections 10.1 - 10.8 of RTR Emmanuel Agu [ Slides ] Image-based effects (Tone mapping, lens flare, depth of field, motion blur, fog), Sections 10.9 - 10.16 of RTR Emmanuel Agu [ Slides ] Week 5 Global Illumination (Rendering equation, shadows, ambient occlusion, reflections, transmittance, caustics, Precomputer Radiance Transfer), Chapter 9 of RTR Emmanuel Agu [ Slides ] Introduction to Real-time Global Illumination
Intro slides of SIGGRAPH 2009 Real time GI Course [ Slides PDF ]
Emmanuel Agu Week 6 Screen Space Real-Time GI Techniques (Overview)
Screen Space Global Illumination slides of SIGGRAPH 2009 Real time GI Course [ Slides PDF ]
Will Disanto [ Slides ] Screen Space Real-Time GI Algorithm: Screen-Space Directional Occlusion Tobias Ritschel, Thorsten Grosch, Hans-Peter Seidel
Approximating Dynamic Global Illumination in Image Space
in Proc. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D) 2009
[ Paper PDF ] [ Paper Video ]
Xin Wang [ Slides ] Week 7 Virtual Point Lights-based Real-Time GI Techniques (Overview)
VPL Global Illumination slides of SIGGRAPH 2009 Real time GI Course [ Slides PDF ]
Will Disanto [ Slides ] VPL-based Real-Time GI algorithm: Light Propagation Volumes (LPV)
Anton Kaplanyan, Carsten Dachsbacher,
Cascaded Light Propagation Volumes for Real-time Indirect Illumination
in ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010
[ Paper PDF ]
Xin Wang [ Slides ] Week 8 Real-Time Indoor scenes: Shadows
Jiawen Chen, Ilya Baran, Fredo Durand, Wojciech Jarosz
Real-Time Volumetric Shadows using 1D Min-Max Mipmaps
in Proc Symposium on Interactive 3D Graphics and Games 2011
[ Paper Page ]
Rob Martin [ Slides ] Real-Time Indoor scenes: Shadows
T. Ritschel, E. Eisemann, I. Han, J. D. K Kim, H.-P. Seidel
Making Imperfect Shadow Maps View-Adaptive: High-Quality Global Illumination in Large Dynamic Scenes
in Proceedings Eurographics Symposium on Rendering 2011
[ PDF file ]
Frederik Clindermaillie [ Slides ] Week 9 Real-Time Trees/Forests
Yotam Livny, Soeren Pirk, Zhanglin Cheng Feilong Yan, Oliver Deussen, Daniel Cohen-Or, Baoquan Chen Texture-Lobes for Tree Modelling
in Proc. SIGGRAPH 2011
[Paper page (including video) ]
Rob Martin [ Slides ] Real-Time Ocean Rendering
Bruneton ic, Neyret Fabrice, Holzschuch Nicolas
Real-time Realistic Ocean Lighting using Seamless Transitions from Geometry to BRDF
Comput. Graph. Forum, 29 (2), 487.496, 2010. (In Eurographics 2010)
[Paper page ]
Xin Wang [ Slides ] Week 10 Real-time Natural Phenomena: Caustics
Chris Wyman and Greg Nichols
"Adaptive Caustic Maps Using Deferred Shading.
Computer Graphics Forum 28(2), 309-318. (April 2009)
[ Paper PDF ] [ Paper Video 1] [ Paper Video 2] [ Paper Video 3] [ Paper Video 4] [ Paper Video 5]
Frederik Clindermaillie [ Slides ] Project proposal presentations Everyone Week 11 Non-Photorealistic Rendering (NPR) (Toon shading, silhoutte edge rendering), Chapter 11 of RTR Frederik Clindermaillie [ Slides ] Polygonal Techniques (Tesselation, triangulation, triangle fans, simplification), Chapter 12 of RTR Rob Martin Week 12 Curves and Curved Surfaces (Parametric curves, implicit surfaces), Sections 13.1 - 13.3 of RTR Will Disanto [ Slides ] Curves and Curved Surfaces (Subdivision curves/surfaces), Sections 13.4 - 13.6 of RTR Xin Wang [ Slides ] Week 13 Acceleration Algorithms (Culling techniques, hierarchical view frustrum culling, portal culling), Sections 14.1 - 14.5 of RTR Rob Martin Acceleration Algorithms (occlusion culling, Level of detail, point rendering) Sections 14.6 - 14.9 of RTR Frederik Clindermaillie [ Slides ] Week 14 Project presentations Everyone