420 3D Virtual Environments


Where & When
Room 242 : T&T 9:00 am

Instructor
Josephine Anstey
jranstey@buffalo.edu

Description
This production course will extend students knowledge of OpenGL and c++ into the realm of 3D computer graphics programming. We will be using the CAVE library to build virtual environments, which will be displayed on a low-cost VR system at Media Study. Students will learn about the hardware needed for VR systems, (tracking, interactive devices and display devices).  The programming will focused on skills for designing VR applications and object-oriented programming. However, the major focus of the course will be on creating interactive art experiences by programming both graphics and sound.
 

Books
Practical C++ Programming
Steve Oualine
O'Reilly & Associates ISBN: 1565921399 ;

The OpenGL Programming Guide, Third Edition
Jackie Neider, Tom Davis, & Mason Woo
Addison-Wesley  ISBN: 0201604582

Work Load
Weekly Assignments, Mid Term, Final project of Scope, Final Show in VR system
10 hours per week outside of class time
 
Jan 16
Intro - course expectations - email addresses
Computer graphics/CAVE
Our VR system
Jan 18 
CAVE lib - basic program
Jan 23/25 
object oriented programming 
c++ tutorial
Jan 30
CAVE lib - basic program
Adding square class to make a floor

Feb 1
workshop
Feb 6
3D primitives
Feb8
lighting I - materials, lights, & call lists
Feb13
 lighting II - directional and positional lights
Feb 15/ 20
Navigation, moving object over time not by frame rate
Feb 22
Vectors
Feb 27
Interaction and vectors I
Mar 1
Interaction and vectors I
Mar 6 (break)
Mar 8 (break)
Mar 13/15
reviewing textures/transparent textures
Mar 20
Paul's Chessgame - building a pawn class
Mar 22
Workshop
Mar 27
Classes and Inheritance - Grabber Class
Mar 29
Planning Projects
Final Project Ideas
Apr 3
Presentations in Advanced Lighting
Apr 5
Advanced Textures - Transparency
Apr 10
Advanced Textures - Moving Images
Apr12
Topics for Final
Apr 17
Navigation Revisited
Apr 19
Topics for Final
Apr 24
Topics for Final
Apr 26
Final Presentations