COMS 4160 Video Game Project Resources
This page includes links to a number of online resources which may provide
assistance or inspiration during development of your 3D video game project.
Please send an email to cs4160@cs.columbia.edu if you find problems with this page.
OpenGL Programming Information
-
The OpenGL Programming Guide book (aka "The Red Book") recommended
for this class is perhaps the best guide to learning OpenGL programming.
The errata for this book is
available online, as well as the source
code (see pages xxiii - xxv of the red book).
-
The "official" OpenGL Website. This
site is the most comprehensive collection of information about OpenGL,
including programming tips, tutorials, and developer documentation, as
well as the latest news about new OpenGL applications.
-
Tutorials
and classes on OpenGL from SIGGRAPH and the Game Developers' Conference.
These course notes from the
Advanced OpenGL course at the SIGGRAPH conference contain a wealth of information
that goes beyond the basic techniques discussed in the Red Book, as well
as source code. There
is a particularly good section on "Tuning
Your OpenGL Application" for peak performance. OpenGL/GLUT source code
from the 1997 course is available online.
-
Nate Robins's OpenGL
tutorial programs demonstrate basic OpenGL functionality by allow the
user to interactively modify parameters and see the effect on the 3D scene.
- The OpenGL FAQ and
Troubleshooting Guide probably has answers to many of your questions.
Windowing and Interface Toolkits
-
We recommend using GLUT to handle the windowing and event management
for your OpenGL programs. The primary GLUT Web page
has pointers to GLUT information. See the TA if you have difficulty
installing glut.
-
GLUT by itself provides very limited GUI widget functionality (only menus).
The Micro User Interface (MUI) toolkit comes with GLUT and can be used
for buttons, text fields, sliders, and other widgets. Some brief MUI
documentation is available online.
-
GLUI is yet another
C++ GUI library that sits on top of GLUT and OpenGL.
Game Development Resources
3D Modeling and Game Content
- A 3d format conversion program by Thomas Baier. To convert from a 3ds file to a C file use 3dto3d myobj.3ds /if1 /of18. Beware that creating detailed objects like this can result in files over a Mb that some compiler will choke on. Speed is also compromised.
-
Ultimate 3D Links is a great starting
point for programs and data for 3D game content. In particular, check out
their links to
shareware
3D modeling programs as well as their numerous links to collections
of thousands of free 3D models and textures (follow the index links
"3D Objects>Free Objects" and "Textures>Free" on the left side of their
Web page).
-
Viewpoint Digital is one of the
leading 3D content providers in the video game industry. Although most
of their models are expensive, it is fun to browse their extensive online
catalogs of 3D
models and textures.
Advanced Rendering Effects
- The
NVIDIA developer relations site has a number of
great demonstrations of advanced rendering
effects in OpenGL, often along with source code, presentation slides, or whitepapers
Text in OpenGL
- A number of libraries exist for doing text better and easier in
OpenGL. One of these is
GLTT.
Sound
- The SL sound
library is a fully portable (except MacOS) audio driver suited
to C++ and GLUT applications.