CSC – CPE 476: Real-time 3D Computer Graphics Software Systems
Syllabus
Professor: Zoë Wood
Office: Building 14, room 209
Phone: 756-5540
office hours: TTh 11-12:30, W ?-?
email: zwood@csc.calpoly.edu
General: Welcome to 3D gaming. This course will teach you some of the important principals of 3D games. This course requires substantial math and programming skills. Experience with C or C++ will be essential and experience with linear algebra will be helpful. We will be using OpenGL and GLUT for graphics APIs, along with C++ to create computer graphics games throughout the quarter. The labs will be held in the PC labs but you are welcome to develop your programs under alternative operating systems as long as the final programs compile and run in the PC labs (e.g. 14-302).
Assignments:
n 2 mid-term exams (24% of final grade – 12% each)
n Lab exercises (8% of final grade)
n 3 programming assignments (11% each of final grade)
· GLUT, OpenGL & C++ applications
n 1 oral game topic report (7% of final grade)
· ten minute oral class report about a relevant assigned/chosen topic
n One larger team final programming project (25% of final grade)
· of your team’s choice (again using GLUT, OpenGL and C++)
· project must be approved by the instructor (details to follow)
· teams will likely be 2-4 people – the size of the team will need to be approved by the instructor
n Participation (5% of final grade)
· attend class/ talk in class or office hours interaction
Please see the program description for deadline details. There is a strict late policy for all assignments – if your program is late you will lose:
· -20% within first 24 hours after deadline
· -40% within 48 hours
· -100% after 48 hours
You do get 1 *free* day, which can be applied to any of the three programming assignments only. You do not need to explain why you are using the days, just make it clear you are using them for any late assignments.
Text: “3D Games: Real-time Rendering and Software Technology” by Alan Watt & Fabio Policarpo Recommended: “OpenGL: A primer” by Edward Angel (required)
“OpenGL: programming guide” by OpenGL ARB
Cheating: Although we encourage you to have lively discussions with one another, all work (except the final project) you hand in must be your own work. Plagiarism, cheating, and other forms of academic dishonesty will be reported and can have very serious consequences for your academic career. If your program or parts of your program are plagiarized from another student or unapproved source, you will receive a zero for the assignment and a letter will be put in your file with Calpoly Judicial Affairs.
The following schedule for the lectures and assignments will likely change and is provided to give you a rough outline of the topics we will cover and the possible timings of programs. Topics, mid-term dates and program due dates will likely change!!!
Week 1 |
3/30 |
Introduction – some math |
|
4/1 |
Game engine overview |
Week 2 |
4/6 |
Culling in the pipeline |
|
4/8 |
Graphics card architectures |
Week 3 |
4/13 |
Program 1 |
|
4/13 |
Visibility - BSP |
|
4/15 |
Visibility - BSP |
Week 4 |
4/20 |
Modeling and representing meshes |
|
4/22 |
Midterm 1 |
Week 5 |
4/27 |
Modeling: Level of detail |
|
4/29 |
Landscape generation |
|
4/29 |
Program 2 due |
Week 6 |
5/4 |
Modeling: Simplification |
|
5/6 |
Modeling |
|
5/6 |
Program 3 due |
Week 7 |
5/11 |
Quaternions |
|
5/13 |
Texture mapping |
Week 8 |
5/18 |
Midterm 2 |
|
5/20 |
Collision detection |
Week 9 |
5/25 |
Collision detection |
|
5/28 |
Motion control |
Week 10 |
6/1 |
Lighting in games |
|
6/3 |
Final Projects |
Final |
6/11 |
Final exam period
7:10-10am |