Progress on integrating Qt and Ogre3D

For the last couple of weeks I have been working on integrating an Ogre render window into a Qt user interface. My goal is to have a cube rendered by ogre that can be changed colour by controls in the Qt user interface. Currently I have managed to get the integration working as a proof of concept but have not completed the app to my satisfaction. The reason that this has taken me such a large amount of time is because I have returned to full time software engineering work and have been squeezing in development on the weekend and at night.

The first thing I did at the start of this process was to look for tutorials that could point me in the right direction. What I found was this tutorial on how to embed an Ogre render window into a Qt widget (which is exactly what I was trying to do) and this forum topic describing the QtOgreFramework; a library that allows for streamlined integration of Ogre rendering into a Qt widget. It is my understanding that the QtOgreFramework builds on the ideas from the tutorial and provides a library class for ease of use, although there may be subtle differences in the approach that I don't currently understand. I actually had a bit of trouble finding the source code for the QtOgreFramework from the information on the forum and it is actually located on sourceforge here.

I am currently doing all of my development from a linux platform and Ogre has the following problem for which the cause is not immediately obvious. Running from a KDE desktop with 3D effects and compositing enabled means that moving or resizing an ogre render window will cause the contents to become garbled or stop animating. If you turn it off everything works as expected, so if you are running an ogre application on a KDE system you should keep this in mind.

CMake Logo

The next step that I need to take is complete the test application that I have described previously, however I have been side tracked a little by CMake. I am using CMake as my build system and getting this working correctly is important so I have delayed creating the test application until I am satisfied. My aim with CMake is to create projects that can be checked out from the repository and built with no hassle. There are some issues with this around detecting dependencies automatically and i'll detail this more in my next update.

One Response to “Progress on integrating Qt and Ogre3D”

Leave a Comment