After I have read an article about OpenGL in the german computer magazine c't I have made up my mind to explore the cool features of the "industry's most widely used and supported 2D and 3D graphics application programming interface (API)". As I am a big Linux fan and forced to program for Win32 at work a major design goal has been to make the program portable. Soon I have discovered the outstanding Mesa library which implements OpenGL for Linux. On Win98/NT (to my surprise) an OpenGL implementation is provided by M$ itself. There is also a SGI implementation for Win32 (which I have ignored). I have avoided to use GLUT the OpenGL Utility Library Toolkit since it is not provided by M$ OpenGL implementation. This library would have allowed to have common sources even for the GUI. Instead I have used a MFC framework for Win32 (adapted from a MSDN article) and a X11 framework utilizing the Mesa glx functions (adapted from the Mesa demo program glxdemo) for Linux. OrbDemo is programmed in C++. I have designed a few general classes which will be most likely reused in further developments. As always I am quite content with the benefits of OOP. Using STL is such a great productivity gain.
The effect itself is about a colorful rotating orb that consists of rectangles. The orb is dissolving by loosing parts thus opening an inside view of itself. After completely dissolved the orb is assembling again.

On the Win32 side originally developed with Visual C++ 6.0, the project has been migrated to VisualStudio 2008 SP1 using
| OrbDemo for Win32 and Linux (sources and Win32 executable) |
| Download orbdemo.tgz (752.323 bytes) which is a gnuzipped tar file. |
OrbDemo (c) 2000-2008 Karlheinz Langguth.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.