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 OpenGL programs. As the title
suggests, it was written primarily in the context of a video game assignment
that used to be project 4 (now a raytracer). Nevertheless, we present the
links below, in the event they are useful to you for assignment 3 and earlier.
Please send an email to the TA or instructor 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 previous versions
of this book is
available online, as well as the source
code (see pages xxiii - xxv of the red book). I can't seem to
find it for the newest version, but I assume it should soon be
available online or in the book, if not already.
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.
Resources for OpenGL
, and including code
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
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
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
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
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
- The SL sound
library is a fully portable (except MacOS) audio driver suited
to C++ and GLUT applications.