summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/extras/defaults/qforwardrenderer.cpp23
-rw-r--r--src/extras/defaults/qforwardrenderer.h6
2 files changed, 28 insertions, 1 deletions
diff --git a/src/extras/defaults/qforwardrenderer.cpp b/src/extras/defaults/qforwardrenderer.cpp
index 7548c45c6..e05126a23 100644
--- a/src/extras/defaults/qforwardrenderer.cpp
+++ b/src/extras/defaults/qforwardrenderer.cpp
@@ -139,6 +139,7 @@ QForwardRenderer::QForwardRenderer(QNode *parent)
{
Q_D(QForwardRenderer);
QObject::connect(d->m_clearBuffer, &QClearBuffers::clearColorChanged, this, &QForwardRenderer::clearColorChanged);
+ QObject::connect(d->m_clearBuffer, &QClearBuffers::buffersChanged, this, &QForwardRenderer::clearBuffersChanged);
QObject::connect(d->m_viewport, &QViewport::normalizedRectChanged, this, &QForwardRenderer::viewportRectChanged);
QObject::connect(d->m_cameraSelector, &QCameraSelector::cameraChanged, this, &QForwardRenderer::cameraChanged);
QObject::connect(d->m_surfaceSelector, &QRenderSurfaceSelector::surfaceChanged, this, &QForwardRenderer::surfaceChanged);
@@ -164,6 +165,12 @@ void QForwardRenderer::setClearColor(const QColor &clearColor)
d->m_clearBuffer->setClearColor(clearColor);
}
+void QForwardRenderer::setClearBuffers(QClearBuffers::BufferType buffers)
+{
+ Q_D(QForwardRenderer);
+ d->m_clearBuffer->setBuffers(buffers);
+}
+
void QForwardRenderer::setCamera(Qt3DCore::QEntity *camera)
{
Q_D(QForwardRenderer);
@@ -229,6 +236,22 @@ QColor QForwardRenderer::clearColor() const
}
/*!
+ \qmlproperty color ForwardRenderer::clearBuffers
+
+ Holds the current buffers to be cleared. Default value is ColorDepthBuffer
+*/
+/*!
+ \property QForwardRenderer::clearBuffers
+
+ Holds the current buffers to be cleared. Default value is ColorDepthBuffer
+*/
+QClearBuffers::BufferType QForwardRenderer::clearBuffers() const
+{
+ Q_D(const QForwardRenderer);
+ return d->m_clearBuffer->buffers();
+}
+
+/*!
\qmlproperty Entity ForwardRenderer::camera
Holds the current camera entity used to render the scene.
diff --git a/src/extras/defaults/qforwardrenderer.h b/src/extras/defaults/qforwardrenderer.h
index e41cbd3df..6d01a0ded 100644
--- a/src/extras/defaults/qforwardrenderer.h
+++ b/src/extras/defaults/qforwardrenderer.h
@@ -44,7 +44,7 @@
#include <Qt3DRender/qtechniquefilter.h>
#include <QtCore/QRectF>
#include <QtGui/QColor>
-
+#include <Qt3DRender/QClearBuffers>
QT_BEGIN_NAMESPACE
@@ -61,6 +61,7 @@ class Q_3DEXTRASSHARED_EXPORT QForwardRenderer : public Qt3DRender::QTechniqueFi
Q_PROPERTY(QObject *window READ surface WRITE setSurface NOTIFY surfaceChanged)
Q_PROPERTY(QRectF viewportRect READ viewportRect WRITE setViewportRect NOTIFY viewportRectChanged)
Q_PROPERTY(QColor clearColor READ clearColor WRITE setClearColor NOTIFY clearColorChanged)
+ Q_PROPERTY(Qt3DRender::QClearBuffers::BufferType clearBuffers READ clearBuffers WRITE setClearBuffers NOTIFY clearBuffersChanged)
Q_PROPERTY(Qt3DCore::QEntity *camera READ camera WRITE setCamera NOTIFY cameraChanged)
Q_PROPERTY(QSize externalRenderTargetSize READ externalRenderTargetSize WRITE setExternalRenderTargetSize NOTIFY externalRenderTargetSizeChanged)
Q_PROPERTY(bool frustumCulling READ isFrustumCullingEnabled WRITE setFrustumCullingEnabled NOTIFY frustumCullingEnabledChanged)
@@ -71,6 +72,7 @@ public:
QRectF viewportRect() const;
QColor clearColor() const;
+ Qt3DRender::QClearBuffers::BufferType clearBuffers() const;
Qt3DCore::QEntity *camera() const;
QObject *surface() const;
QSize externalRenderTargetSize() const;
@@ -80,6 +82,7 @@ public:
public Q_SLOTS:
void setViewportRect(const QRectF &viewportRect);
void setClearColor(const QColor &clearColor);
+ void setClearBuffers(Qt3DRender::QClearBuffers::BufferType);
void setCamera(Qt3DCore::QEntity *camera);
void setSurface(QObject * surface);
void setExternalRenderTargetSize(const QSize &size);
@@ -89,6 +92,7 @@ public Q_SLOTS:
Q_SIGNALS:
void viewportRectChanged(const QRectF &viewportRect);
void clearColorChanged(const QColor &clearColor);
+ void clearBuffersChanged(Qt3DRender::QClearBuffers::BufferType);
void cameraChanged(Qt3DCore::QEntity *camera);
void surfaceChanged(QObject *surface);
void externalRenderTargetSizeChanged(const QSize &size);