|Time:||TR 5:30-6:45 PM|
|Instructor:||David Luebke, email@example.com
Office hours: Mondays & Thursdays 10-11 AM
Location: Olsson 219
|Grade Book:||Check your grades on Toolkit (CS 551, CS 651).|
|E-mail:||The class e-mail list is
Check the e-mail archive on Toolkit.
|Feedback:||Send me anonymous feedback on toolkit.|
|Format:||Two lectures per week, with several programming assignments and a final project done in small groups. Graduate students (enrolled in the 651 version of the course) will also research and lecture on a topic of interest.|
|Prerequisites:||Grades of C- or better in CS 445, or permission of instructor. You will need significant competence in OpenGL or Direct3D for this course, as well as a solid understanding of the basics of computer graphics. See me if you have any questions.|
|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
A note of warning: Although the final project is to build a 3D game demo, this is not a course about building video games: it is about building a 3D graphics engine such as sits under the hood of modern games. The course will be highly technical and a lot of work. We will not touch on many vital aspects of game design: character AI, the production process, artist tools, the network layer (for multiplayer or online games), interface design, multiplatform support, etc. In other words, don't take the class just because you like playing video games.
|Lectures:||Some lectures are accompanied by Powerpoint presentations,
often from other sources (e.g., NVIDIA presentations at Game Developers
Conference). The original presentations are included below for your
convenience. For copyright-related reasons, these links will only work if
you are browsing from a virginia.edu IP address.
|Grading:||The final grade will be calculated as a weighted average:
|Late Policy:||I don't want people missing class in
order to work on assignments that are due that day. Hence the policy: assignments are always due at the beginning of class on the due date.
However, if you are in class on time that day, you get a free extension
till 11:59 PM that night. Assignments are due at 11:59 PM if there is no
class that day. Assignments one day late
subtract 10%; two days late loses 30%. Two days (48 hours) after the due date,
the assignment will be considered a zero.
You have up to five late days to use at your discretion. Each late day extends the due time by 24 hours.
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.
Other books that may be of interest:
|Honor Code:||The honor code applies to all work turned in for this course. There will be more detailed instructions regarding the use of previously written code (yours and others) with the assignments.|