Real-Time Rendering
Instructor:
David Luebke, luebke@cs.virginia.edu
Texts:
Required:
Real-Time Rendering (2nd edition) by Tomas Akenine-Moller and Eric Haines, AK Peters (2002).
This book is a significant update from the (excellent) first edition, and contains a great deal of additional material. In particular there are new chapters on advanced shading techniques, shading capabilities of modern hardware, and so on. It is an excellent book that anybody serious about a career in computer graphics ought to own. One of the best aspects of the book is the accompanying web site, a vast compendium of graphics resources that the authors keep very up-to-date.
Real-Time Rendering 3rd edition Book
Description:
This course will examine real-time rendering of high-quality interactive
graphics. Applications such as video games, simulators, and virtual reality have
recently become capable of near cinematic-quality visuals at real-time rates. We
will study the advances in graphics hardware and algorithms that are making this
possible. Over several projects throughout the semester students will work in
small teams to develop a small 3D game engine incorporating some
state of the art techniques. Examples of these techniques (and topics we will
cover in class) include non-photorealistic rendering, occlusion culling, level
of detail, terrain rendering, shadow generation, image-based rendering, and
physical simulation.
Lectures:
Some lectures are accompanied by Powerpoint presentations,
often from other sources (e.g., NVIDIA presentations at Game Developers
Conference). The original presentations will be included below for your
convenience. For copyright-related reasons, some of these links will only work if
you are browsing from a virginia.edu IP address.Lecture | Topic | |||||
1 | Introduction; overview; the graphics pipeline then and now [ppt] | |||||
2 | Rendering engine basics: high-level pipelining [ppt] | |||||
3 | Rendering engine basics: the scene graph | |||||
4 | ||||||
5 | Rendering engine basics: more on efficient rendering [ppt] | |||||
6 | Level of detail: introduction [ppt] | |||||
7 | Visibility: view-frustum culling, cells and portals [ppt] | |||||
8 | Visibility: cell and portals continued, hierarchical Z-buffer [ppt] | |||||
9 | Visibility: hardware-supported occlusion queries, portal textures [ppt] | |||||
10 | Advanced texturing: point sprites, billboards, special effects [ppt] | |||||
11 | NV30; writing vertex and fragment programs with Cg [ppt] | |||||
12 | Non-photorealistic rendering: toon shading, silhouettes [ppt] DROP DATE |
|||||
13 | Non-photorealistic rendering: painting, sketching, hatching [ppt] | |||||
14 | Shadow algorithms: planar shadows, shadow volumes [ppt] | |||||
15 | Shadow algorithms: shadow volumes cont., shadow maps [ppt] | |||||
SPRING BREAK | ||||||
16 | Shadow algorithms: smoothies and other advanced techniques [ppt] | |||||
17 | Image-based rendering: images with depth [ppt] | |||||
18 | Image-based rendering: pure IBR, hybrid approaches [ppt] | |||||
19 | Level of detail: simplification operators [ppt] | |||||
20 | Level of detail: simplification algorithms, geometric and perceptual error [ppt] | |||||
21 | Level of detail: quadrics and view-dependent LOD [ppt] | |||||
22 | Balancing the pipeline: finding and eliminating bottlenecks [ppt] [pdf] | |||||
23 | Balancing the pipeline cont. [ppt] | |||||
24 | Interruptible rendering [ppt] | |||||
25 | Parallel
rendering; Chromium (Guest lecture: Greg Humphreys). |
|||||
26 | Interactive ray tracing: software [ppt] | |||||
27 | Interactive ray tracing: hardware [ppt] | |||||
28 | General-Purpose GPU Computing [www] | |||||
Some Books On Computer Graphics for Reading and Downloading for Free:
Computer Vision: Algorithms and Applications, by Richard Szeliski, Springer, Nov. 2010, download for free. |
iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, Philip Rideout, O'Reilly Media, May 2010, read for free. The focus is more on OpenGL ES, which is all to the good. |
Programming Vertex, Geometry, and Pixel Shaders, Second Edition, by Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni, and Jason Zink, December 2008 (no publisher), read for free. An uneven draft of a book, but extremely valuable in places. I particularly like the lighting chapter by Jack Hoxley, which gives detailed explanations of various lighting models along with working shader code. |
GPU Gems 3, edited by Hubert Nguyen, August 2007, read for free. NVIDIA's munificence is what I assume is behind this excellent book being free. |
GPU Gems 2: Techniques for Graphics and Compute Intensive Programming, edited by Matt Pharr, March 2005, read for free. Another gift from NVIDIA; a wonderful book. |
GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, edited by Randima Fernando, March 2004, read for free. Likewise, worthwhile and great that it's free. |
ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes. I particularly like the articles that Marwan Ansari coauthored. |
ShaderX2: Introductions and Tutorials with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes. Notable are the fog article and the 82-page article on shadow volumes. |
The Cg Tutorial, by Randy Fernando and Mark J. Kilgard, March 2003, read for free. |
Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks, edited by Wolfgang Engel, June 2002, download for free, also free code download and notes. |
Michael Abrash's Graphics Programming Black Book, by Michael Abrash, July 1997, read for free. Ancient, yes, but there are still articles of |