In the last class meeting this Semester, I'll cover material from a very recent book on high-end, real-time graphics, developed for specialized processors and aimed primarily at games.
This collection of links to images, demos and other material is based on the book GPU Gems (2004). A GPU is of course a special-purpose graphics processing unit. The overwhelming majority of authors in the book are from NVidia
Here is an 18 page sample chapter from the book, Skin in the "Dawn" Demo, a PDF. (Note the date on this page set up for publishing, 2/25/2004, indicating its recent origin.)
Here's a four minute video sampler from NVidia. Displayed fine on my Mac PB in the Firefox and IE browsers. And here's a two-page PDF description of their GeForce 6800.
To be fair, the other leading vendor of high-end GPUs is ATI. But since the book we're dealing with here is NVidia-based, they will be my focus. But many of the links in the book and replicated below are to general graphics and gaming resources, not always NVidia related.
Cg is a high-level language for graphics programming, which is typically used to build applications for GPUs. Here's a Cg manual from NVidia (PDF, 290 pages, local NU copy). Here's a block diagram of the data/control flow in the GPU as "seen" by Cg.
The content below references both documents and graphics/demos. The topics covered are roughly what I'll try to cover in the last lecture.
Grass: Fields of grass, waving in wind, are hard to do in real time, but some clever tricks and powerful GPUs make it possible (Chap. 7). The demo on the NVidia site is an executable for their GPU, as is the demo on the ATI site. Here's a tutorial on grass for Maya with lots of screen stills. You can take Maya classes in Vancouver on Digital Character Animation.
Skin: This is best covered in the PDF mentioned earlier, Chapter 3 of the book, Skin in the "Dawn" Demo, a PDF.
Lighting controls: (Chap. 10) Here are two similar pages with lots of stills demonstrating some of the ideas in the chapter. Barzel 1997 and a more recent one using Renderman.
General Topics: Here are two lectures in PDF format (Lecture 1 and Lecture 2) that contain about 80 slides total, for talks at the 2002 GDC (Game Developers Conference). The next GDC will be in March 2005 in San Francisco.
Depth-of-Field: (Chap. 23). Here's a paper from Cant, et al, Nottingham, presented at Game On, 2001. Pages 20-34 of the this 85 page PDF of slides of NVidia demos discuss depth of field. The slides contain a number of other topics too. The slides are from an NVidia talk at GDC 2003. The Powerpoint version actually works better for me.
FX Composer is a shader development environment from NVidia. It's described by them as: "FX Composer empowers developers to create high performance shaders in an integrated development environment with unique real-time preview & optimization features. FX Composer was designed with the goal of making shader development and optimization easier for programmers while providing an intuitive GUI for artists customizing shaders for a particular scene."
Go to CSG140 home page. or RPF's Teaching Gateway or homepage