Beginners Documentation

This document suggests tutorials and sample code for use in learning to use OpenGL through PyOpenGL.  It represents the author's (Mike Fletcher) personal recommendations for how to begin learning OpenGL, and is by no means an exhaustive exploration of OpenGL documentation.

NeHe's Tutorials

When people think of an "OpenGL tutorial", most will think of the NeHe tutorials by Jeff Molofee, available at http://nehe.gamedev.net/ these tutorials range from the very simple (create an OpenGL window) through the advanced (particle systems, loading scenes from various formats, displaying video textures, text, morphing, multi-texturing).  I have not exhausted these tutorials myself, and would suggest them for any new OpenGL programmer.

The NeHe tutorials are so popular that there are multiple Python translations available:

OpenGLContext (Sample Code)

The râison d'être (apologies for my rusty French) for OpenGLContext is to provide a platform for testing and sample code, so you'll find a lot of it lurking about in the project.  In particular, you can find sample code for:

You can also find documentation explicitly for OpenGLContext.

Red Book (Online and Dead-trees)

An old version of the official OpenGL Programming Guide, a.k.a "The Red Book" is available online (this is version 2.0).  If you are serious about learning OpenGL, the newer versions of the Red Book, (which currently sits at version 3, which covers OpenGL 1.2 (PyOpenGL currently only supports up to OpenGL 1.1)) is likely on the shelves of your local bookstore, and is quite readable.

You'll find versions of the Red Book tutorial code for Python included in the OpenGL/Demo/redbook directory of the PyOpenGL distribution.  These versions are very close to the original source code.  The OpenGLContext tests directory has four the tutorials converted, "alpha", "alpha3D", "surface" and "trim".

Addison-Wesley Pub Co; ISBN: 0201604582 ; 3rd edition (August 6, 1999)

Further Reading

These are just unsorted links for the most part:

If you have suggestions for what you would like to see on this page, post them to the PyOpenGL users list, which incidentally is also a good place to post coding questions.