diff options
-rw-r--r-- | src/extras/defaults/qforwardrenderer.cpp | 23 | ||||
-rw-r--r-- | src/extras/defaults/qforwardrenderer.h | 6 |
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); |