Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt 5.0 - Is it a viable option for 3D game / application development [closed]

Tags:

c++

qt

opengl

I recently noticed that there is a new release of Qt. I don’t have any personal experience developing games or applications with it, but I’m looking for an API or framework that will simplify creation of GUI for my applications, written in C++ & OpenGL. At this stage I’m less worried about cross-platform, but this is something that I could benefit from in future.

I understand that Qt's real strength lies in its flexibility and cross-platform functionality. Obviously this comes with a trade-off; less control over the main loop.

I have spent a few days pouring over articles and blogs and not really seen much about Qt 5 and the rest of the information regarding Qt seems to point to it not being a great choice for 3D games. I wanted to get a discussion going as most of the information I’ve found seems to be quite dated.

So I guess my questions are:

  • Is Qt a viable for 3D application/games development?

  • For instance, if I wanted to make a 3D application that had multiple viewports with relevant GUI and a viewport rending a relatively large amount of polys (say 6 million) with some degree of 3D texturing and multiple passes / shaders. Could I use Qt?

From what I’ve read, using GUI elements of Qt seem to take a lot of CPU time. I recognise that there are optimisations you can do within your program, but Qt’s GUI is a big plus and I wouldn’t really want to use Qt if I couldn’t take advantage of it.

like image 224
henryprescott Avatar asked Mar 18 '13 12:03

henryprescott


1 Answers

Qt's OpenGL widgets only provide a platform wrapper for code you also find in SDL, GLFW, GLUT, etc...

The performance of you application will not be hindered by the Qt shell, unless you use the QOpenGL API (which paints using OpenGL through a Qt API).

If you only use Qt to set up an OpenGL context, and write the remainder of your 3D application directly in OpenGL, Qt has nothing to do with anything. Once it sets up an OpenGL context, the rest (of the rendering) is left to OpenGL itself.

That being said, StackOverflow is not a discussion forum.

like image 89
rubenvb Avatar answered Oct 29 '22 16:10

rubenvb