Qt5, checked out from git with the standard options can almost be used as a game engine, according to me at least. Some common components most 3D game engines have:
- Lowlevel classes like QString, QList/QVector/QMap etc.
- Networking classes, both for TCP and UDP
- GUI classes. It should not be to hard to render Qt GUIs to OpenGL (Qt3D)
- Input classes (no joystick yet, tough)
- Threading classes
- The list is continues...
Qt3D is your rendering engine. But Qt3D misses one thing: Animations.
Apart from physics (which should be rather easy, many examples on the web) and sound (OpenAL should be available) the only part which Qt misses to be used as a 3D Game Engine are animated objects. I think skeleton animations are most important, but per-vertex animation is also an important part in the puzzle.
I started looking at the code and saw to my surprise that there already exist several classes which seam to be intended for just animations:
The assimp loader also seams to do a small part of the loading, it only seams to be loading the name of the animation though.
Before I try to do fill the above classes/create the needed classes I wanted to ask if anybody knows what these classes are for? Are they really mean for this kind of animation, or are they for property animations like the others? Is there somebody working with them right now? Is there some information gathered around this topic?
P.S. Here are some interesting links I found:
Also please note that I usally only work with high level classes and I have never worked with shaders before, so if I would try something out it would probably not be overly good and also take some time.
Looking to animate a complete model with QT3D.
Do you do some test based your your post ?
I found on the mailing list the bones animation is part of the QT3D plan but not yet found a open point for it.
It seems the ASSIMP import used can manage bones, I will have look this way.
@ JanDal: thanks for thoose links, nice material.