summaryrefslogtreecommitdiffstats
path: root/src/extras/defaults/qforwardrenderer.cpp
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2017-01-25 13:22:46 +0100
committerKevin Ottens <kevin.ottens@kdab.com>2017-01-27 14:58:48 +0000
commitc5768dd2c04ebdb3a411e88bfa8af2767aa33368 (patch)
tree713fff74e1619c2392ec59d30ba1a188aafca555 /src/extras/defaults/qforwardrenderer.cpp
parent0b031ca3c828e83772aaf5605722a5cc54a5683e (diff)
Align QForwardRenderer API with its QML counterpart
The QML based ForwardRenderer was slightly different: * window property instead of surface, so we provide an alias window name for surface in QForwardRenderer * frustumCulling property to control the corresponding node, also added here. Change-Id: I7ec51ee27e97c612ba09b73a43cf4d1baba343bf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/defaults/qforwardrenderer.cpp')
-rw-r--r--src/extras/defaults/qforwardrenderer.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/extras/defaults/qforwardrenderer.cpp b/src/extras/defaults/qforwardrenderer.cpp
index d556b58d3..7790313e3 100644
--- a/src/extras/defaults/qforwardrenderer.cpp
+++ b/src/extras/defaults/qforwardrenderer.cpp
@@ -134,6 +134,7 @@ QForwardRenderer::QForwardRenderer(QNode *parent)
QObject::connect(d->m_cameraSelector, &QCameraSelector::cameraChanged, this, &QForwardRenderer::cameraChanged);
QObject::connect(d->m_surfaceSelector, &QRenderSurfaceSelector::surfaceChanged, this, &QForwardRenderer::surfaceChanged);
QObject::connect(d->m_surfaceSelector, &QRenderSurfaceSelector::externalRenderTargetSizeChanged, this, &QForwardRenderer::externalRenderTargetSizeChanged);
+ QObject::connect(d->m_frustumCulling, &QFrustumCulling::enabledChanged, this, &QForwardRenderer::frustumCullingEnabledChanged);
d->init();
}
@@ -171,6 +172,12 @@ void QForwardRenderer::setExternalRenderTargetSize(const QSize &size)
d->m_surfaceSelector->setExternalRenderTargetSize(size);
}
+void QForwardRenderer::setFrustumCullingEnabled(bool enabled)
+{
+ Q_D(QForwardRenderer);
+ d->m_frustumCulling->setEnabled(enabled);
+}
+
/*!
\qmlproperty rect ForwardRenderer::viewportRect
@@ -226,6 +233,21 @@ Qt3DCore::QEntity *QForwardRenderer::camera() const
}
/*!
+ \qmlproperty Object ForwardRenderer::window
+
+ Holds the current render surface.
+
+ \deprecated
+*/
+/*!
+ \property QForwardRenderer::window
+
+ Holds the current render surface.
+
+ \deprecated
+*/
+
+/*!
\qmlproperty Object ForwardRenderer::surface
Holds the current render surface.
@@ -247,6 +269,22 @@ QSize QForwardRenderer::externalRenderTargetSize() const
return d->m_surfaceSelector->externalRenderTargetSize();
}
+/*!
+ \qmlproperty color ForwardRenderer::frustumCulling
+
+ Indicates if the renderer applies frustum culling to the scene.
+*/
+/*!
+ \property QForwardRenderer::frustumCulling
+
+ Indicates if the renderer applies frustum culling to the scene.
+*/
+bool QForwardRenderer::isFrustumCullingEnabled() const
+{
+ Q_D(const QForwardRenderer);
+ return d->m_frustumCulling->isEnabled();
+}
+
} // namespace Qt3DExtras
QT_END_NAMESPACE