Real-time Rendering
News
- You can find the OpenGL reference cards here. The
- Final Project result write-ups and images from previous offerings of the quarter long CSE 781 can be found here.
- You can find my schedule on my Schedule page. My office hours (DL 683) are MF from 10:30-11:30, but feel free to set up a meeting time outside of these hours. Your grader's office hours are W 3:00-4:00 (DL 680), but again feel free to ask him for help as needed.
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 |
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 |
Mathematics and API's for 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 Cheng Li (li.4076 -at- buckeyemail.osu.edu)
His office hours are TBD.
Texts and Other Course Materials
There is no official text book for the course. Here are some suggested readings.
|
Real-Time Rendering, 3rd Edition, Tonas Akenin-Moeller, Eric Haines, Naty Hoffman, A. K. Peters, Ltd (2008).
|
|
OpenGL Shading Language, 3rd Edition,
Randy J. Rost, Addison-Wesley (2009).
|
|
OpenGL Programming Guide, 7th Edition, OpenGL ARB, Addison-Wesley (2007).
|
|
OpenGL
|
|
OpenGL Cookbook
|
Course Notes
Powerpoint slides
Reading Assignments
Below are the reading assignments for the course:
- Week1:
- Week 2
- Chapters 1-4 in the Real-Time Rendering textbook
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 9
Development Environment
You will need access to at least a decent DirectX 10 class machine and Visual Studio 2008 or 2010 (Windows 7 or 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)
- (W)Course overview,581/OpenGL Review
- (F)OpenGL 3.0 Pipeline, GLSL variables and examples
- (M) OpenGL Review, Lighting review
- (W) HW #1
- (F) Lab software / scene graphs and visitor pattern,
(M) Holiday
- (F) GLSL demos, lab1 and software engineering (ShaderNull, TextureAssets, etc.)
- (W) Finished GLSL language and OpenGL API calls.
- (F) Texture mapping review and parameterization (Pepakura video)
- (M) Aliasing, Texture anti-aliasing
- (W) Frame Buffer Objects (FBO's or render to texture), HW #2
- (F) Camera models and a trackball interface / implementation
- (M) FaceGen, DevIL
- (W) Snow day
- (F) HW #3, Buffers and VOA's
- (M) lab2 (separate shaders, scene graphs, ...)
- Bump mapping, Numerical Differentiation review and Displacement mapping.
- Environment mapping, Chrome mapping and Irradiance Maps
- (W) Spherical Harmonics
- (F) TBD
- (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
- (W) Tessellation (blackboard) (Some references: Loop, SIGGRAPH course, GLSL man pages)
- (Not covered) OpenGL History, PC Graphics card history, Shader History
Relationship to BS-CSE Program Outcomes/EC 2000 Criterion 3 Outcomes
Last modified:
August 16, 2017 4:10 PM