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