- What does EiffelOpenGL consist of?
A decent number of Eiffel classes and a few C text and header files. Together they
implement a wrapping of the OpenGL and GLUT libraries and also the WGL OpenGL
extension library. Originally I also started wrapping the OpenGL AUX library
but dropped that in favor of GLUT.
EiffelOpenGL is divided into three parts:
* EGL. The Eiffel library that wraps the OpenGL GL and GLU libraries.
* EGLUT. The Eiffel library that wraps the GLUT library.
* EWGL. The Eiffel library that wraps WGL, the OpenGL extension library
for the Win32 platform.
- What versions/implementations of OpenGL and GLUT are supported?
Since development has been done on the Win32 platform and because I've only
used the OpenGL files provided by Microsoft I have so far only wrapped OpenGL
The currently shipping opengl32.dll from Microsoft only has entry points
for OpenGL 1.1. If an application wants to use OpenGL 1.2 or 1.3 functions,
it has to use the function wglGetProcAddress() in order to obtain the OpenGL
1.2/1.3 entry points from the driver. There is a very neat and small OpenGL SDK
from SGI that makes it easy to use OpenGL 1.2 or 1.3 on the Win32 platform and
I intend to use that SDK for wrapping the functionality provided in those newer
As for the OpenGL extension libraries for different windowing systems I have
only yet wrapped WGL (Win32 extension library). My goal is of course to have
EiffelOpenGL run smoothly on all important OpenGL platforms such as X Window,
which means eventuallt wrapping GLX (X Window extension library).
EGLUT was first developed with GLUT 3.6 but I now use 3.7.3 and it works fine.
Since GLUT is platform independent and already exists on a number of platforms,
EGLUT should work on X Window as it is today, but I haven't tested that yet.
- What do I need to use EiffelOpenGL?
To use EiffelOpenGL you need:
* An Eiffel compiler. EiffelOpenGL was originally developed with ISE 4.2f, but works fine
with ISE 4.5 and ISE 5.0. It does not work with
SmallEiffel at the moment due to
differences in the external clause syntax between those compilers. I hope to fix
that soon. Of course, you also need a back-end C compiler for your Eiffel compiler.
* To have OpenGL installed. That means the gl.h and glu.h include files and
(for Win32) the opengl32.lib and glu32.lib import libraries, as well as the
opengl32.dll and glu32.dll dynamic libraries. OpenGL is shipped on all Win32
platforms and the include files and import libraries are shipped with Microsoft Developer
Studio 5.0 and 6.0 (and can also be downloaded from
To use EGLUT you need, in addition to the above mentioned:
* To have GLUT installed. That means the glut.h include file and (for Win32)
the glut32.lib import library as well as the glut32.dll dynamic library.
- How large is the EiffelOpenGL source code?
The library contains 125 Eiffel classes and the example programs another 43
classes. The library also contains 3 C text files and 6 C header files. All
in all 8.000+ LOC. However I add new code on a regular basis and the actual
current metrics may differ from that.
- Are there any example programs?
Yes. Look under the examples link.
- What sort of licensing is EiffelOpenGL under?
EFL - The Eiffel Forum License. See the file
- What is this Red Book you're talking about?
The OpenGL Programming Guide 3rd Edition - The Official Guide to Learning
OpenGL Version 1.2 (description at www.opengl.org). If you only buy one book on OpenGL, this is the one to buy.
- Can I help with developing EiffelOpenGL?
Ehrm, not really a frequently asked question, but yes, you certainly can! Either
by just trying out the example programs and reporting encountered problems or
bugs or by joining in on the project and contributing with actual code. Or by
sending me copious amounts of money or other useful things like a
National Style N Reso-Phonic