After reading a discussion on Ubuntu Forums concerning GLUT vs. FreeGLUT.
Is GLUT dead for graphics programming? Is SDL all the rage now for OpenGL programming?
After reading a discussion on Ubuntu Forums concerning GLUT vs. FreeGLUT.
Is GLUT dead for graphics programming? Is SDL all the rage now for OpenGL programming?
In my opinion, GLUT is still great to learn programming OpenGL in. It is no longer maintained, as far as I know. Do look at : http://www.opengl.org/resources/libraries/glut/ for the official word
Extract from the above link - "The GLUT library has both C, C++ (same as C), FORTRAN, and Ada programming bindings. The GLUT source code distribution is portable to nearly all OpenGL implementations and platforms. The current version is 3.7. Additional releases of the library are not anticipated. GLUT is not open source. Mark Kilgard maintains the copyright."
Also look at : http://www.opengl.org/resources/libraries/windowtoolkits/ for alternatives.
You may also want to check out GLUX : http://code.google.com/p/glux/
As far as SDL being the rage, it is great for cross-platform stuff and many people are using it. I personally use Qt for my OpenGL work. Other windowing system alternatives also exist. It is also possible to program natively for windows or X.
GLUT is too simplistic for any real game programming, while SDL passed the battle tests performed by numerous commercial game porting companies. SDL is great for games. GLUT is great for studies and simple demos. GLUT's code is much readable when used for simple demos, but it cannot withstand the onslaught brought by numerous game-oriented facilities of SDL, and especially SDL's various addon libraries (SDL_image, SDL_mixer, ...)
If you are working on an OpenGL application which needs some native GUI as well (for example, a 3D modeler) you may be more interested in using wxWidgets or, as batbrat suggested, Qt.
In my opinion, GLUT was never alive, at least not outside of the classroom.
It may be a decent way to learn some OpenGL, but I still feel that there are far better ways to learn it... methods that might actually be seen in the "real world".
GLUT teaches you to program in strange ways that nobody really uses in OpenGL. There's a lot of emphasis on setting state and leaving it, which is a dangerous approach in OpenGL.
GLUT is a way for students to easily learn some things about OpenGL without actually gaining a great understanding of it.
Finally, it's not really hard to program in native APIs for windows or X, and learning this is a much more valuable skill than learning GLUT. A real company that wants cross-platform compatibility will not use GLUT, they will use an in-house API or one they have purchased elsewhere.
GLUT is a very useful learning guide, but it's not full featured or useful enough for most real-world applications. I've also encountered minor issues with a few different GLUT implementations and support in some environments, so I've learned to stay away from it for anything but quick demos.
My OpenGL experience has generally been on embedded systems where I have complete control over the output, and there I use X Instrinsics to get the basic OpenGL Window up. It's a bit painful, but it's a small amount of code to get to OpenGL, where the bulk of the work is done.