Real-time Rendering
Background
This course will look at the latest GPU technologies, algorithms and issues for real-time rendering on modern GPUs.
Description
This course will cover the latest architectures, alogorithms and techniques for interactive rendering (shading) of models. A focus will be on programmable GPU's and advanced texture mapping algorithms.
Level, Credits, Class Time Distribution, Prerequisites
| Level |
Credits |
Class Time Distribution |
Prerequisites |
| U/G |
3 |
3 cl |
581 |
Quarters Offered
General Information, Exclusions, Cross-listings, etc.
Intended Learning Outcomes
- Master a programmable shader language (e.g., GLSL, Cg, HLSL).
- Master using a high-level API for integrating the programmable shader language (e.g., OpenGL, DirectX, XNA).
- Be familiar with algorithms for creating shadows on the GPU.
- Be familiar with high-performance rendering.
- Be familiar with advanced texture mapping algorithms.
- Be exposed to non-photorealistic rendering.
- Be exposed to some of the latest implementations for real-time rendering.
Topics (not in order)
| Number of Hours |
Topic |
| 1 |
Overview |
| 1 |
History and overview of graphics hardware and the GPU. |
| 1 |
Refresher on Interactive Graphics (e.g., OpenGL or DirectX) |
| 2 |
Overview of Programmable Shaders |
| 1 |
Interfacing Graphics library with Programmable Shaders |
| 1 |
Render Targets or Frame Buffer Objects |
| 5 |
Advanced Lighting on the GPU with Programmable Shaders |
| 3 |
Normal maps, bump mapping and displacement mapping. |
| 6 |
Shadow algorithms and implementations |
| 2 |
Environment mapping |
| 3 |
Lab assignments and discussions |
| 4 |
Advanced Topics |
Grader
The grader for this course is Steve Martin (martinst -at- osu.edu)
Texts and Other Course Materials
|
Real-Time Rendering, 3rd Edition, Tonas Akenin-Moeller, Eric Haines, Naty Hoffman, A. K. Peters, Ltd (2008).
|
|
OpenGL Shading Language, 2nd Edition,
Randy J. Rost, Addison-Wesley (2006).
|
|
OpenGL Programming Guide, 6th Edition, OpenGL ARB, Addison-Wesley (2007).
|
Course Notes
Powerpoint slides
Reading Assignments
Below are the reading assignments for the course:
- Week1:
- Chapters 1-4 in the Real-Time Rendering textbook
- Week 2
- Week 3
- The Direct3D 10 System, by David Blythe, Microsoft.
- Chapters 5-6 in the Real-Time Rendering textbook
- Frame Buffer Object Tutorials 101 and 201 (note: scroll down).
- Song Ho Ahn's FBO tutorial (his diagram on Renderbuffers may be wrong).
- Week 4
- Week 5
- Week 6
- Week 7
- Week 9
- Chapter 11 in the Real-Time Rendering textbook
Development Environment
You will need access to a decent DirectX 10 class machine and Visual Studio 2008 (Windows Vista is preferred). The machines in the graphics instructional lab in CL112D meet these criteria.
Representative Lab Assignments
Homework Ideas
Tentative Lab Assignments
- Lighting using programmable shaders
- Interactive 3D paint program with normal maps
- Interactive 3D paint program with multi-texture, multiple render targets, bump-mapping and geometry shaders
- Final Project - Student choice: NPR, Displacement mapping, Shadows, Volume Rendering, Shells and Fins, anything with the geometry shader,etc.
Lab Assignments Tools
- Here some vector and matrix classes if you do not already have one (Note the typedefs at the end - Vector3f).
- Here an example of creating a sphere using OpenGL's glu functions (note the source is in C#).
- The DevIL package is good one from reading images. It has some support for OpenGL, but I would suggest you do not use it.
Grades
| Programming labs |
60% |
| Midterm |
25% |
| Class attendance/participation |
15% |
Schedule (post-processed)
Lecture # / topic(s) (28 lectures - 1 holiday and 1 snow day)
- (M)Course overview (too much), OpenGL History, Shader History
- (W) PC Graphics card history, OpenGL Review
- (F) OpenGL 3.0 Pipeline, GLSL Types
- (M) GLSL variables and examples
- (W) GLSL demos, lab1 and software engineering (ShaderNull, TextureAssets, etc.)
- (F) Camera models and a trackball interface / implementation and FBO's (Need more on FBO's).
(M) Holiday
- (W) Lighting review and Aliasing, Color choices (producing good images)
- (F) Texture mapping review and parameterization (Pepakura video)
- (M) Lab software / scene graphs and visitor pattern, Texture parameterization
(W) Weather Day
- (F) FaceGen, DevIL, lab2 (separate shaders, scene graphs, ...)
- (M) Bump mapping, Numerical Differentiation review and Displacement mapping.
- (W) Picture day (for FaceGen), Lab3 overview and specification, ZBrush YouTube example
- (F) Environment mapping, Chrome mapping and Irradiance Maps
- (M) Spherical Harmonics, Texture anti-aliasing
- (W) Texture anti-aliasing
- (F) no class
- (M) Texture compression (Channel precision, GIF, JPEG/VQ, JPEG2000/Wavelets)
- (W) Texture compression for real-time (DXT1), Texture caching and animation, clip-maps
- (F) Shadows - introduction and definitions, ad-hoc shadows
- (M) Shadows - static scenes and static models, ambient occlusion
- (W) Shadows - ambient occlusion
- (F) Shadows - shadow volumes, Lab4
- (M) Shadows - shadow maps
- (W) Shadows - Advanced shadow maps
- (F) no class
- (M) Shadows - Advanced shadow maps, Multithreading and OpenGL.
- (W) Midterm (Study Guide)
- (F) Whirlwind tour of uncovered features: NPR, IBR, sub-surface scattering, volume rendering
Relationship to BS-CSE Program Outcomes/EC 2000 Criterion 3 Outcomes
Last modified:
March 13, 2009 9:08 AM