CS248 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 for Project 3. This
page is still under construction, so check back again soon!
CS248 Project-specific Links
OpenGL Programming Information
OpenGL Programming Guide
book (aka "The Red Book") recommended
for this class is perhaps the best guide to learning OpenGL programming.
is available online.
- 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.
- 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. These programs are also available in the class
- The OpenGL FAQ and
Troubleshooting Guide probably has answers to many of your questions.
- NeHe Productions - A phenomenal series of OpenGL tutorials that take you all the way from the basic HelloWorld app to more advanced techniques like clipping and reflections using the stencil buffer. (Thanks Dan Kroyman)
Windowing and Interface Toolkits
- We recommend using GLUT to handle the windowing and event management for
your OpenGL programs. GLUT is already installed on the Sweet Hall
Linux machines. The primary
GLUT Web page
has pointers to GLUT information, including
documentation and GLUT sample programs, which are also
available in the class directory.
- SDL is more heavyweight and comes with fewer
restrictions than GLUT, and is recommended if GLUT is frustrating you. It primarily
provides event handling and windowing functionality, but also will take care of other
features like sound and networking. It does not provide a widget set.
- 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. The necessary
MUI files are installed in the CS248 class directory (we think), and some brief
MUI documentation is available online.
- We've experienced some annoying bugs with MUI. Another simple UI toolkit
that sits on top of GLUT and OpenGL is
The Picoscopic User Interface (PUI). Note that PUI requires
that you program in C++.
- GLUI is
yet another C++ GUI library that sits on top of GLUT and OpenGL.
- Other windowing toolkits are nearly as portable but more complete,
- For a list of other interface toolkits, see
The GUI Toolkit, Framework Page.
Game Development Resources
- Gamasutra is a Web site devoted to
game development. It contains articles about all aspects of the game
industry and development process including a number of feature articles on game programming.
Gamasutra is a supplementary site of
Game Developer magazine.
- GameDev.net. Another good site
aimed at providing resources for game developers.
- Real-Time Rendering Resources.
This is the Web resource page accompanying your optional textbook,
Real-Time Rendering, and covers many topics of interest to developers
of video game graphics engines.
- Sourceforge.net - There are lots of games which are in various stages (planning to finished). (Thanks Ray Lon Chiang)
- FlipCode - Daily Game Development & News Resources. (Thanks Dan Kroymann)
- GameTutorials - Another site containing a bunch of great tutorials ranging in content from Win32 specific windowing, to Octrees and Binary Space Partitioning. (Thanks Dan Kroymann)
- UltraShok - Way-cool flash based design and interaction studies. Great place to procrastinate and get inspiration.
- Writing the Game Loop - Great article discussing various game loops designs.
- Scene.org - Scene.org is a non-profit organization aimed at providing the 'electronic art scene' with a forum for communication and for sharing their work. Mindblowing hacks, programming gems and visual stylings sure to keep you facinated for hours (check out their 64k competitions).
- Virtual Terrain Project is a very comphrehensive site covering all the details to render terrain effectively.
3D Modeling and Game Content
- 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.
- 3D Model simplification toolkit qslim. (Thanks Ulf Ochsenfahrt)
- Wotsit - site about all sorts of different file formats including the 3DS file format. (Thanks Ulf Ochsenfahrt)
- Graphics File Format Page - A nice collection of graphics file format specifications (useful if you want to be able to load textures from various graphics file formats). (Thanks Dan Kroymann)
- Deep Exploration - Write out 3D files so they can be easely read in OpenGL. (Thanks to the Siege of Troy team)
- Some free 3d models
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.
- A nice website dedicated to the rendering of 3d-landscape data, with extensive linke-page to papers linked to landscape rendering. (Thanks Ulf Ochsenfahrt)
- Terrain Generation - This site contains discussions of various algorithmic terrain generation techniques (it also has java applet demonstations of some of the techniques). (Thanks Dan Kroymann)
- SULACO - Exceptional demos and explanations of advanced rendering techiniques in OpenGL.
Text in OpenGL
- A number of libraries exist for doing text better and easier in
OpenGL. Here are pointers to a few:
- The SL sound
library is a fully portable (except MacOS) audio driver suited
to C++ and GLUT applications.
- Another sound library that should be mentionend is OpenAL. OpenAL also works nicely with OpenGL and GLUT. (thanks Ulf Ochsenfahrt)
- FMOD is an extremely powerful music & sound effects system that can be used on virtually every platform (including PS2, Xbox, etc). (Thanks Dan Kroymann)
- Some docs describing a variety of mocap file formats are
Physical Based Modeling
- David Baraff has very good papers on physically based modelling and expecially rigid body dynamics. (Thanks Ulf Ochsenfahrt)
- He also wrote some good Siggraph course notes on the subject.
- Chris Hecker talks about Physics simulation in games.
October 26, 2006 05:38:59 PM