My framework currently uses SDL for windowing and user input etc. I was recently in a discussion regarding sharing my framework with others and the question of using GLUT or SDL came up. I have listed below some of the factors that I think should be considered:
- Usually pre-installed on OSX(?), Linux. (Windows?)
- Few dependencies
- Well documented
- Supports multiple windows
- Constrained main loop
- Single thread
- Not open source (Source may be available through MesaGL)
- Primitive font system
- Good community (Mailing-list, there is also supposed to be a wiki)
- Built-in cross-platform timers
- Low-level network API
- LGPL license
- Faster and smoother input handling (than GLUT)
- Preinstalled on Linux(!?), definitely not under Windows, OSX? [was
pre-installed in Fedora 5]
(+ Support for multimedia devices)
- More complicated than GLUT.
Can anyone think of anything else?
I am a big fan of GLFW : http://glfw.sourceforge.net/
Using GLFW + GLEW + a lib for sound covers everything I need to create quick games and interactive demos.
You do your own event loop, it is very lightweigth, support for things such as threads, timers, precision time, in a multi-plateform code.
You can link to it statically (no need for external lib). License is very liberal. No UI widgets though.
GLUT is not pre-installed on Windows. I don’t know if it is on OSX.
Perhaps instead of GLUT you should consider FREEGLUT. There is also GLFW.
I used GLFW in the past and I agree that it is a nice toolkit.
I think perhaps my question is very ill-phrased as I did not give any specifications as to what I was going to use the framework for. The idea is that my research group could use it to produce demos. I need to make up my mind if I want it to be very flexible and complicated or simple and somewhat constrained. I probably need to set up a target group of users and what they will be using it for before I make any final decisions. As I said earlier I am using SDL at the moment and I think it is great!
Anyway, thank you for your input!
I used SDL at the very beginning, it’s generally great library but it has some disadvantages. Or perhaps I could not find a solution.
First of all when you minimize your app and then bring it back your rendering is going to be broken. It also crashed when I tried to use gDEBugger. Then, I could not find any documentation about using OpenGL extensions under SDL.
And I ended up “porting” my SDL app back to windows.