I’m stuck in the frustrating position of waiting for OpenCL (for my ray-trace renderer) while trying to find the most up-to-date OGL toolkit. I’ve looked around at a few common ones:
(This is information as I’ve found it, I’m probably wrong on some points so feel free to correct me.)
GLUT: Cobwebs over it, hasn’t seen an update in years
SDL: Somewhat bloated, I don’t want all that extra stuff, just something simple to draw 2D GUI and display the texture/scene rendered by my to-be-created ray-trace renderer, and some basic timing/input helpers.
GLFW: Getting a GDI dll load error on windows which cripples it. Plus, apparently it’s broken on Mac, so there goes portability.
GLee: No problems to date, not that I’ve had the chance to use it a lot.
That said, any ideas? I’d thought this be the best place to ask…
I’d like to use this as a chance to advertise my GALE library a little bit
The project is hosted on BerliOS at http://gale.berlios.de/. GALE is “an object oriented wrapper around OpenGL and its extensions”, and comes with an OpenGL textual extension specification parser that generates code to initialize that particular extension, see http://gale.berlios.de/glex/. While GALE 1 should be pretty usable (though it currently runs under Windows only), I’m currently in the process of writing GALE 2 from scratch, with better cross-platform support (see the SVN repository).
While I’m not sure GALE will suit your needs, I’d appreciate any feedback (preferably via email).
SDL is not bloated, doing a GL setup is even easier than glut, and quite a lot of tutorials too.
GLFW : never saw this gdi error. Which version do you use ? Prebuilt binaries or compiled yourself ? And to my knowledge it is not broken on Mac, where did you find this ?
By the way if you want “just something simple to draw 2D GUI and display the texture”, anything is good enough, even outdated glut.
I’m using GLFW without any problems on Win and Mac. Maybe try downloading latest version from svn - I recommend 2.x-lite branch.
2.6, compiled from source. I’ll give SDL another shot if you do recommend it.
The ‘broken-on-mac’ bit refers to the fact that it apparently doesn’t bind the window correctly to the coco framework, and therefore it doesn’t receive input and some other strange side effects. Found this while on my hunt for a fix on the GDI link error.
There are different followers of the original glut, e.g. freeglut. They seem to be quite a fit for your needs.
It should work on many platforms as there is a good support for at least win, mac & unix in the code. If something goes wrong you can fix it helping the GLFW community. I’ve used it with success and pleasure. Moreover, the 2.7 version is almost ready to go (after a long break in development).
As far as I know it’s not a toolkit but only an extension wrapper library. So it doesn’t provide window creation functionaloty, can be used in addition to any mentioned toolkits.
I recommend GLFW (2.x-lite branch from SVN). It works great and is very small. SDL is also very good but much bigger (and does not have OpenGL 3.0 support yet). Instead of waiting for OpenCL you could use CUDA if you have NVIDIA hardware. Later porting to OpenCL shouldn’t be very hard…