Welcome to Real-time 3D games! This class will be taught using C/C++ and OpenGL.
The required book for the class is:
Supplemental (recommended) Books include:
More information about this course will be posted soon.
Programming assignments
*The Final Project Pages*
Lab assignments
Lab1: Compute and display frame rate &
Pitch & yaw camera with zoom and translate
Lab on cg: intro
(Likely lab topics)
Lecture and Lab notes
General Information about getting started
3D Games, Real-time Rendering and Software Technology
Alan Watt and Fabio Policarpo, Addison Wesley Longman, 2001
OpenGL, A Primer
Edward Angel, Addison Wesley Longman, 2002
OpenGL Programming Guide, Third Edition
Edward Angel, Addison Wesley Longman, 1999
Course material:
syllabus
game report assignment & topics
game report dates and topics
D. Phan: Billboards
Midterm 1 topics
Midterm 2 topics
Program 1 - simple game
Program 2 - simple game with fractal terrain with visability
Some useful links for program 2:
generating fractal terrains
Prof. Hitchner's
lecture notes on terrains, etc.
Fast extraction of viewing frustum planes
BinTriTree splitting algorithm
Program 3 - mesh simplification
Program 3 - updates!!!
Mesh classes for program 3
Updated MeshStructure.cpp for program 3
Updated MeshStructure.h for program 3
Diagram of the local neighborhood for an edge collapse for MeshStructure.cpp collapse
Additional notes about the CollapseEdge for those who are interested
Example executable and resulting files
Progressive Meshes by Hugues Hoppe
Final Project Specs
Final Proposal Write-up for Final Project
Lab2: 3D objects class design with AABB
Lab3: Two different 3D objects with AABB
Lab4:uniform 3D fractal terrain using bintritree
Test to compare 2 bounding boxes
Grid creation
Time based character movement
BSP tree for view frustum culling
Frame rate with BSP tree
Quaternions for orientation
Sphere & triangle intersection
Light maps
Resources
Many useful game tutorials/information can be found at:
GameTutorials.com
gamedev.net
gamasutra.com
Nehe.gamedev
EA: How games are made
`So you want to enter the game industry' article by B. Humphrey
`So you want to be a game designer?' article by E. Bartlett
If you would like to write your programs on your home machine, you will need to download GLUT. You can do so from a variety of places, including:
http://www.xmission.com/~nate/glut.html
Or just search for "download glut windows" under google for other options.
Likewise a search under google for "install glut windows" under google
will give you good reference for installing the library,
header and dll files in the correct place.
Anyone who would like to try a different compiler at home (than visual studio)
may be interested in this link which lists several free compilers for windows (there are similar resources available for macintosh and linux):
http://www.magma.ca/~louievb/gcc/several_free_compiler.html