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
- 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,
which is also available in the CS248 class directory.
- 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.
- "Way cool, way fast OpenGL rendering
techniques." Like the title says, this page includes links to discussions
and examples of a number of interesting rendering effects possible with OpenGL.
- 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
directory.
- The OpenGL FAQ and
Troubleshooting Guide probably has answers to many of your questions.
- Online
manual pages for most of the OpenGL, GLU,
and GLX commands.
They
are also avalable in PDF or PostScript form.
- The Mesa 3D Graphics Library is a
a freely available implementation of OpenGL that you can download and
install if you are using a computer platform that does not already support
OpenGL.
- 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)
- Avoiding 19 Common OpenGL Pitfalls - An interesting paper from NVidia discussing some of the more common mistakes that beginning OpenGL programmers make and how to avoid them.
Windowing and Interface Toolkits
- We recommend using GLUT to handle the windowing and event management for
your OpenGL programs. GLUT for the Sweet Hall SGIs is already installed in
the CS248 class directory. The primary
GLUT Web page
has pointers to GLUT information, including
documentation for GLUT API and GLUT sample programs, which are also
available in the class directory.
- 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, 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,
such as
wxWindows and
FLTK .
- 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.
- VIS-SIM.ORG. This site serves professional
developers of visual simulation systems such as flight simulators and military
training applications. Video games and visual simulation systems share a
broad range of development issues, from designing realistic 3D environments
to real-time rendering of complex graphics.
- 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)
- The Simulation Sandbox - One person's specific lessons about designing a fairly popular game (The Sims). (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.
- A must read about five graduate student's lessons about writing a game in one semester at UNC.
- 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. Mindbloing hacks, programming gems and visual stylings sure to keep you facinated for hours (check out their 64k competitions).
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)
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 good overview of the special effects that can be done with OpenGL can be found here. (Thanks Ulf Ochsenfahrt)
- 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 - Exeptional demos and explenations 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:
glBDF,
TexFont,
GLTT,
FNT.
Sound
- 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)
Motion Capture
- Some sample motion capture data, along with an example OpenGL
viewer, is available here.
- More free motion data files in a variety of formats are available
here.
- Some docs describing a variety of mocap file formats are
here.
Physical Based Modeling
- David Baraff (http://www-2.cs.cmu.edu/~baraff/) has very good course notes on physically based modelling and expecially rigid body dynamics: http://www-2.cs.cmu.edu/~baraff/sigcourse/index.html (Thanks Ulf Ochsenfahrt)
Client/Server Networking
Last update:
November 12, 2002 10:48:43 PM