
2013/12/12 Vlad Lopatin
I keep reading (wiki) that GLUT is a legacy package and some libraries (e.g. GLFW) are meant to replace it. I also see that some of the GLUT functionality is based on fixed pipeline. What is the current status of Haskell GLUT? Is it 'to stay' or something that is going to be deprecated at some point? Should one try replacing it with GLFW(-b) in a project, if fixed pipeline is not expected to be used?
I think this really depends on your needs: GLUT was designed as a simple cross-platform API for OpenGL demos and tutorials, perhaps even some programs of medium complexity. It was definitely not designed for programs with complex GUI requirements. Of course you can build your own GUI on top of OpenGL, but GLUT provides no help for that. If you only need to create a few windows or use fullscreen, and if you are happy with GLUT's simple event model, you can happily use it. If you don't use forward-compatible OpenGL contexts, you can even use GLUT's menus, fonts and geometric objects, because these are the parts of GLUT which use the fixed pipeline internally IIRC. Furthermore, I intend to continue maintaining the GLUT package, but there is not that much left to do, because the underlying C library (freeglut nowadays) hasn't really changed that much in the last few years and I think the Haskell binding is feature-complete. If not: https://github.com/haskell-opengl/GLUT/issues ;-)