summaryrefslogtreecommitdiffstats
path: root/src/render/frontend
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2018-01-16 22:02:23 +0000
committerMike Krus <mike.krus@kdab.com>2018-02-01 21:26:06 +0000
commit13791f59f8fe9863fbacb7985d06f29522046bad (patch)
tree790f9c7c178e6b302da440f60a8d7d1f78eed779 /src/render/frontend
parent89ec1b820a3be3ab5d3abb408bea4408954e82ac (diff)
Introduce QScreenRayCaster
Split common functionality into abstract base class. Both frontend classes use the same backend implementation. Split common pick functionality for the object picking and ray casting jobs into abstract base class. Change-Id: Ieb8bdcf65d81db12234841d72c6cb0160e145bf6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend')
-rw-r--r--src/render/frontend/qrenderaspect.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index bbbb08a09..3b63f43eb 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -74,6 +74,7 @@
#include <Qt3DRender/qgeometryrenderer.h>
#include <Qt3DRender/qobjectpicker.h>
#include <Qt3DRender/qraycaster.h>
+#include <Qt3DRender/qscreenraycaster.h>
#include <Qt3DRender/qfrustumculling.h>
#include <Qt3DRender/qabstractlight.h>
#include <Qt3DRender/qenvironmentlight.h>
@@ -292,6 +293,7 @@ void QRenderAspectPrivate::registerBackendTypes()
// Picking
q->registerBackendType<QObjectPicker>(QSharedPointer<Render::NodeFunctor<Render::ObjectPicker, Render::ObjectPickerManager> >::create(m_renderer));
q->registerBackendType<QRayCaster>(QSharedPointer<Render::NodeFunctor<Render::RayCaster, Render::RayCasterManager> >::create(m_renderer));
+ q->registerBackendType<QScreenRayCaster>(QSharedPointer<Render::NodeFunctor<Render::RayCaster, Render::RayCasterManager> >::create(m_renderer));
// Plugins
for (const QString &plugin : qAsConst(m_pluginConfig))
@@ -358,6 +360,7 @@ void QRenderAspectPrivate::unregisterBackendTypes()
// Picking
unregisterBackendType<QObjectPicker>();
unregisterBackendType<QRayCaster>();
+ unregisterBackendType<QScreenRayCaster>();
// Plugins
for (Render::QRenderPlugin *plugin : qAsConst(m_renderPlugins))