summaryrefslogtreecommitdiffstats
path: root/src/render/frontend
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2018-01-15 20:50:00 +0000
committerMike Krus <mike.krus@kdab.com>2018-02-01 20:05:42 +0000
commit2a4ecc509d6bc810b4bcdd09220c38f92614032e (patch)
tree38b17ee8eddb48911397fd8fc8e9eab8688fba73 /src/render/frontend
parent6d56b53bb949caa3e592070794b3010e4801e0ca (diff)
Initial implementation of ray casting API
Adds frontend and backend node classes and the registration mechanism in the render aspect. Change-Id: I258e25fea98170433c8ed9d3fad6868a83beda43 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend')
-rw-r--r--src/render/frontend/qrenderaspect.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index 2847bf29b..5a83745ab 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -73,6 +73,7 @@
#include <Qt3DRender/qgeometry.h>
#include <Qt3DRender/qgeometryrenderer.h>
#include <Qt3DRender/qobjectpicker.h>
+#include <Qt3DRender/qraycaster.h>
#include <Qt3DRender/qfrustumculling.h>
#include <Qt3DRender/qabstractlight.h>
#include <Qt3DRender/qenvironmentlight.h>
@@ -118,6 +119,7 @@
#include <Qt3DRender/private/geometry_p.h>
#include <Qt3DRender/private/geometryrenderer_p.h>
#include <Qt3DRender/private/objectpicker_p.h>
+#include <Qt3DRender/private/raycaster_p.h>
#include <Qt3DRender/private/boundingvolumedebug_p.h>
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/calcgeometrytrianglevolumes_p.h>
@@ -289,6 +291,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));
// Plugins
for (const QString &plugin : qAsConst(m_pluginConfig))
@@ -354,6 +357,7 @@ void QRenderAspectPrivate::unregisterBackendTypes()
// Picking
unregisterBackendType<QObjectPicker>();
+ unregisterBackendType<QRayCaster>();
// Plugins
for (Render::QRenderPlugin *plugin : qAsConst(m_renderPlugins))