I've been researching the ideal parts for a game engine which I'm building. At first I tried just going raw and writing everything from scratch using just the bare amount of native libraries such as Win32, X11, OpenGL, Glew, GLX, etc.
And then I realized this would take forever just for a game engine.
So, I'm looking into writing a game engine using OpenGL + SDL + Qt. The reason why I want to use SDL with all of this is because of its context creation and OpenGL initialization support. I like Qt's implementation (for the most part), but, honestly I prefer SDL. My main idea is to use Qt for strictly GUI development (such as in-game menus, debug consoles, HUD rendering, etc).
What I'd like to know if this is a good approach, and if not, are their any better approaches out there? If this is a good approach, what would be the best way to implement, not the engine per se, but the integration of the two. I read a similar question on SO dealing with someone who was writing a physics simulator and, essentially, was trying to accomplish the same thing, however he was using threading, which I'm not sure if I'll be using or not quite frankly.
Still, as far as I know, it seems like there are significant differences between a game engine and a physics simulator, and I'd like to know exactly what I'm getting myself into.
Some Thoughts
I like the bare OpenGL implementation as opposed to Qt's, mainly because I feel like I have more control.
I prefer to have more control over the main loop, hence why I'm using something like SDL and not Qt's implementations - the issue is I'm not sure if this actually is recommended considering how different the two are.
All in all, I'm sure some people would tell me to just use QWidget and let it be at that. The thing is that I'm relatively new to graphics programming in general, and feel as though learning the original API through raw opengl would be the best approach. If I'm wrong, however, then I definitely would like to know.
I know this question is rather broad and less specific, but I really need advice regarding this, and hope that this may somehow help another developer who's looking to do something similar.
It seems like this is definitely a hard topic to cover in terms of objectivity, so I'll state the criteria in terms of flexibility and raw opengl + GUI support, as that's really what I need.