When: Monday/Wednesday 1:00 - 2:50 pm
Where: CFA 242
Instructor: Dave Pape
e-mail: dave.pape@acm.org
Office: CFA 248A
Office hours: MW 3-4
Website: http://resumbrae.com/ub/dms424/
This production course extends students knowledge of OpenGL and programming into the realm of 3D computer graphics. The course, a continuation of DMS 419, will cover more advanced techniques for rendering, animation and interaction. The major focus of the course will be on creating interactive art experiences by programming graphics and sound. However, the topics are also relevant to many real-time applications such as virtual reality and computer games.
OpenGL Programming Guide, Third Edition, Mason Woo et al.
Other books/websites that may be of interest:
Real-Time Rendering, Tomas Moeller, Eric Haines; http://realtimerendering.com/
This is a course that is still in flux, so participation is vital - I need to know where you're having problems and what you're interested in, in order to adjust the class. You are allowed up to three free absences; after that, each absence will cost you 2% of your overall grade.
Assignments will be given on Wednesday, and due (electronically) the following Wednesday at noon. Late assignments are penalized -10% per 24 hour period that they're late.
Assignments will be graded first on whether they visually accomplish what was required, and second on code quality. It is important that code be clear and understandable, both so that you can work on it, and so that others can make use of it in the future.
All assignments and projects must be your own work. Work is to be done individually - do not share code with, write code for, or copy code from other students. This applies to all assignments while they are outstanding - i.e., until everyone's program has been turned in and graded. A first violation of this policy will result in failure of the assignment; repeated violations will result in failure of the course.
The default course grading will be:
91-100 = A, 85-90 = A-, 80-84 = B+, 75-79= B, 70-74 = B-,
65-69 = C+, 60-64 = C, 55-59 = C-, 50-54 = D, 0-49 = F
The final cutoff points may be adjusted downward as appropriate.
(This will almost certainly change as the semester progresses.)
Last updated: 7 March
Topic | Textbook reading | ||
---|---|---|---|
13 Jan | Course overview | ||
15 Jan | Intro to 3D | projections, Z-buffering | pp. 96-100, 123-128, 175-177 |
20 Jan | [MLK day] | ||
22 Jan | transformations, coordinate systems | 96-116 | |
27 Jan | geometry | 37-48 | |
29 Jan | lighting | 64-66, 173-217 | |
3 Feb | lighting; fog | 173-217, 242-250 | |
5 Feb | basic texturing | 351-365 | |
10 Feb | alpha | 220-232 | |
12 Feb | review; making a toolkit | resumbrae.com/ub/dms424/libdms/ | |
17 Feb | libdms toolkit | ||
19 Feb | libdms toolkit | ||
24 Feb | Other tools | VR - CAVE library | www.vrco.com/CAVE_USER/ |
26 Feb | sound | ||
3 Mar | Simulation | vectors; basic motion; gravity sim | |
5 Mar | randomness | ||
10-14 Mar | [break] | ||
17 Mar | Advanced texturing | texture map "movies" | 367-370 |
19 Mar | Simulation | flocking | |
24 Mar | Advanced texturing | texture transformations | 420-421 |
26 Mar | Simulation | particle systems | |
31 Mar | Advanced texturing | texgen - contours, reflection maps | 413-419 |
2 Apr | [celebrity scholar series] | ||
7 Apr | Advanced texturing | reflection maps | 413-419 |
9 Apr | Simulation | springs | |
14 Apr | Advanced texturing | multi-texturing; light-mapping | 422-427 |
16 Apr | Real-time tricks | billboards & impostors | |
21 Apr | level-of-detail | ||
23 Apr | Python | Python | |
28 Apr | pyOpenGL | ||
5/7 May (finals) | Semester projects |