[Haskell-cafe] Win32 Open GL / Glut Applications

Ronald Guida ronguida at mindspring.com
Fri Sep 21 01:53:11 EDT 2007


John Wicket wrote:
 > I can take any of these opengl applications or other examples on the
 > web, but I can't get the application to run on Win32?
 >
 > They will compile(except for the GLU ones) but when I launch them,
 > the windows just closes?  Is HOpenGL supported well on Win32?
 >
 > http://www.haskell.org/HOpenGL/
 >
 > I have ghc 6.6

John, I also have a Win32 box (I'm using Windows XP) and I wanted to
try some OpenGL as well.

I have news for you, good, bad, and ugly.

First, the bad news: The HOpenGL site is outdated.  Look at [1] and
note the date of the most recent release: September 9, *2003*.

[1] http://www.haskell.org/HOpenGL/releases.html

Now, the good news:

I believe the GHC 6.6.1 prepackaged Windows installer comes with
OpenGL and GLUT libraries built in.  The catch is that the GLUT
library was compiled /without/ support for the FreeGLUT library.  If
standard OpenGL and standard GLUT meet your needs, then go for it.

Lastly, the ugly news:

If you need or want FreeGLUT, then you just need to compile FreeGLUT
itself and then recompile the Haskell GLUT library.  As an alternative
to GLUT, you could also try GLFW.

Be warned, though: I had to resort to major hackery (and a learning
curve) to get either of these to work.  First, I managed to hack GLFW
into partially working.  I took what I learned, applied it to
FreeGLUT, and made some progress there.  I went back and forth,
hacking one library and then the other, accumulating what I had
learned.  In the end, I got FreeGLUT (both the C library and the
Haskell bindings) to compile and I successfully installed them into
GHC.  I made one last hacking attempt with GLFW, but I was unable to
successfully install it, and finally I gave up on it in favor of my
newly working FreeGLUT installation.

If you want to use FreeGLUT, just ask, and I will gladly post how I
got it working.

-- Ron



More information about the Haskell-Cafe mailing list