Which SDK should we use? SDL, CS, GLUT, GLFW...

Hey guys!

I want to write some tool with OpenGL support, but don’t know, which libary we should use.

What’s better? A all in one libary like SDL or Crystal Space or a small libaries like GLFW and FTGL.
I’m not sure what will be the best soluten for the TOOL…
I thinks small one are better (GLFW and FTGL) but most people tell me that large ones are better…

Could anybody help me?


SDL is great for games, but it’s not really oriented towards tools. unless you wanna start dealing with additional libraries things like menu interaction. it also is a single window environment from what i have experienced.

i’m using cpw right now for a geometry editing tool because it’s got built-in menu support and can handle multiple windows.

for a really go-nuts full blown cross-platform windowing system there’s wxWindows, but i dunno how it interfaces with openGL. too complicated and it’s c++ only so i never got too far into it.

Actually wxWindows isn’t c++ only - there is also wxPython if you want to use wxWindows from python. Those are the only 2 I know of though, and you’re right, it is somewhat bloated (although most full-blown windowing systems are).

It all depends on how much control you want versus how much time you want to spend developing buttons, scrollbars, and the like. From what I’ve seen, GLUT gives you windowing and simple interaction but not much else - so it might be a good place to start if you really want to have a lot of control/make your own stuff. I dont know about any of the others though (me=glNewbie!).

That totally depends on the needs of your TOOL. The “small” toolkits (GLUT, GLFW, CPW etc) are great for TOOLs that are mostly concerned with rendering to an OpenGL framebuffer, and getting some basic user input. For TOOLs that require a complex GUI, operating system interaction (file dialogs etc), a “big” toolkit is probably better.

Also note that if you just need to add some GUI functionality to your application (buttons etc), you can use a separate toolkit for rendering a GUI directly in your OpenGL framebuffer, such as PUI and GLgooey, and you will be fine with a “small” toolkit.