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

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 cover
Real-Time Rendering, 3rd Edition, Tonas Akenin-Moeller, Eric Haines, Naty Hoffman, A. K. Peters, Ltd (2008).
OpenGL(R) Shading Language (2nd Edition) (OpenGL)
OpenGL Shading Language, 2nd Edition, Randy J. Rost, Addison-Wesley (2006).
OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2.1 (6th Edition) (OpenGL)
OpenGL Programming Guide, 6th Edition, OpenGL ARB, Addison-Wesley (2007).

 

Course Notes

Powerpoint slides

Reading Assignments

Below are the reading assignments for the course:

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

Lab Assignments Tools

Grades

Programming labs 60%
Midterm 25%
Class attendance/participation 15%

Schedule (post-processed)

Lecture # / topic(s) (28 lectures - 1 holiday and 1 snow day)

  1. (M)Course overview (too much), OpenGL History, Shader History
  2. (W) PC Graphics card history, OpenGL Review
  3. (F) OpenGL 3.0 Pipeline, GLSL Types
  4. (M) GLSL variables and examples
  5. (W) GLSL demos, lab1 and software engineering (ShaderNull, TextureAssets, etc.)
  6. (F) Camera models and a trackball interface / implementation and FBO's (Need more on FBO's).
    (M) Holiday
  7. (W) Lighting review and Aliasing, Color choices (producing good images)
  8. (F) Texture mapping review and parameterization (Pepakura video)
  9. (M) Lab software / scene graphs and visitor pattern, Texture parameterization
    (W) Weather Day
  10. (F) FaceGen, DevIL, lab2 (separate shaders, scene graphs, ...)
  11. (M) Bump mapping, Numerical Differentiation review and Displacement mapping.
  12. (W) Picture day (for FaceGen), Lab3 overview and specification, ZBrush YouTube example
  13. (F) Environment mapping, Chrome mapping and Irradiance Maps
  14. (M) Spherical Harmonics, Texture anti-aliasing
  15. (W) Texture anti-aliasing
  16. (F) no class
  17. (M) Texture compression (Channel precision, GIF, JPEG/VQ, JPEG2000/Wavelets)
  18. (W) Texture compression for real-time (DXT1), Texture caching and animation, clip-maps
  19. (F) Shadows - introduction and definitions, ad-hoc shadows
  20. (M) Shadows - static scenes and static models, ambient occlusion
  21. (W) Shadows - ambient occlusion
  22. (F) Shadows - shadow volumes, Lab4
  23. (M) Shadows - shadow maps
  24. (W) Shadows - Advanced shadow maps
  25. (F) no class
  26. (M) Shadows - Advanced shadow maps, Multithreading and OpenGL.
  27. (W) Midterm (Study Guide)
  28. (F) Whirlwind tour of uncovered features: NPR, IBR, sub-surface scattering, volume rendering

Relationship to BS-CSE Program Outcomes/EC 2000 Criterion 3 Outcomes

a
b
c  
d
e  
f
g
h
i  
j
k  

 


Last modified: March 13, 2009 9:08 AM