Windows/OpenGL Classes (WOC)

This is the place to find out about my C++ class library for Windows SDK, MFC, CE and OpenGL programmers. It is designed to make it a doddle to create and manipulate windows, messages, OpenGL rendering contexts, 3-D models and animations. The classes support the definition, management and rendering of your own or file-based 3-D geometry and textures. You can even define your own timer-based animations by leveraging the library's Value, Domain, Relay, Function and Oscillator class templates. To demonstrate the concepts, there are some factory-defined animations such as Explosion and Firefly. For 3-D viewing, the library provides a reusable OpenGL Window class with full mouse-manipulation support and many other properties adjustable via its own dialog.

You can read the introduction, refer to the documentation or follow along with the tutorials - you'll find all the links you need below.

I have more to say about OpenGL on my Graphics and OpenGL page.

 Download the WOC header and implementation files (127KB) in compressed ZIP format.

WinZip® brings the convenience of Windows to the use of Zip files and other compression formats. If you don't have "the most celebrated shareware app in the history of computing" already, use the above link to download it.
   

Introduction and WOC Documentation

What's WOC all about?
discussion of WOC's background, capabilities and constraints.
WOC Class Reference
reference manual documenting the architecture of WOC with UML class diagrams and MSDN-style documentation of around 550 methods and 70 classes/templates.

WOC Tutorial Samples

Tutorial One - Skeleton Project
how to integrate the WOC source files into a Visual C++ project to end up with a skeleton project you can re-use.
Tutorial Two - Campbell's Soup Can
how to use the built-in model loaders to define your own simple textured 3-D model, substitute it for the view's default model, and set initial modelview transformations.
Tutorial Three - Star Cluster
a lower-level look at defining your own geometry.
Tutorial Four - Model Viewer
how to load a model from a .OBJ file, and how to customise your frame window to handle menu commands.
Tutorial Five - Dialog Child Window
how to place an OpenGL rendering context child window on a dialog, a frame window, or an MFC CDialog.

Compiling WOC Projects

Compling WOC with the GNU Compiler Collection (gcc/g++)
WOC is best compiled with Microsoft Visual C++. But you don't have to spend any money to compile it because it also builds with g++, part of the GNU Compiler Collection.

WOC is intended to be used for fun, learning, or even commerce, under the terms of the GNU GPL (General Public License). If you intend to distribute (amended or otherwise) WOC source code or binaries then please read the entire license - \woc\gnu.txt
last updated: 17-oct-01