This integration requires Qt5 and builds upon the
ApplicationContext abstraction living in
OgreBites which already handles SDL2 windowing and Activities on Android.
In contrast to previous attempts this means that it does not follow the “QtOgreWidget approach”. This might sound less convenient, but is necessary to properly handle multiple Ogre Windows or Ogre Views. Also it should be familiar for everybody who is using the
The implementation lives in a separate
libOgreBitesQt.so library which is only created when Qt is detected when building – so if you do not use it, you do not have to care about Qt dependencies.
The API is designed to be a drop-in replacement for
ApplicationContext. This means that you can just take the setup tutorial, but use the
ApplicationContextQt instead and your app will be Qt5 based.
Also, because of the Input event abstraction we did for Ogre 1.11.0, the
Trays code will continue working – just like the Event forwarding to ImGui.
Furthermore, I have ensured that the API also fits when the Qt Event loop is used and adapts to existing projects. For this, I have ported ogitor and spacescape to the new API.
Notably, with spacescape the Ogre view is now only redrawn on-demand when things change (e.g. settings, window resize).
The exposed API is
QWindow based making it lightweight as only the
QtGui module is required. Also this should allow extending it for
QtQuick in the future, which is also
For details on integration see the docs.