Current release 0.2.0
January 1, 2002

EiffelOpenGL FAQ sourceforge.net www.opengl.org

-> Home
-> FAQ
-> Documentation
-> Download
-> Examples
-> Project page
-> Links


Frequently Asked Questions

Here are some freqently (and not so frequently) asked questions and answers.
  1. 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.

  2. 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 1.1 functionality.

    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 OpenGL versions.

    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.

  3. 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 www.opengl.org).

    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.

  4. 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.

  5. Are there any example programs? Yes. Look under the examples link.
  6. What sort of licensing is EiffelOpenGL under?

    EFL - The Eiffel Forum License. See the file forum.txt

  7. 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.

  8. 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 guitar.

Author: Paul Cohen
"$Date: 2002/03/23 13:31:27 $"
"$Revision: 1.7 $"