diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2017-01-31 17:27:32 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2017-01-31 16:53:06 +0000 |
commit | 574fab140f3c389c59d955c092d30e0ad1d0bafb (patch) | |
tree | 7417d6ede589f1e6ef5583011a167eac51ced59c /src/extras/defaults | |
parent | a9965e7e984d519079e52a9672ba6116931c741a (diff) |
QForwardRenderer exposes the gamma of its viewport
Change-Id: I67d5d23bdec1c01ef3e31cfdd47f4e4dd8eeacf4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/defaults')
-rw-r--r-- | src/extras/defaults/qforwardrenderer.cpp | 23 | ||||
-rw-r--r-- | src/extras/defaults/qforwardrenderer.h | 4 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/extras/defaults/qforwardrenderer.cpp b/src/extras/defaults/qforwardrenderer.cpp index 7790313e3..3a5c6803b 100644 --- a/src/extras/defaults/qforwardrenderer.cpp +++ b/src/extras/defaults/qforwardrenderer.cpp @@ -135,6 +135,7 @@ QForwardRenderer::QForwardRenderer(QNode *parent) 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); + QObject::connect(d->m_viewport, &QViewport::gammaChanged, this, &QForwardRenderer::gammaChanged); d->init(); } @@ -178,6 +179,12 @@ void QForwardRenderer::setFrustumCullingEnabled(bool enabled) d->m_frustumCulling->setEnabled(enabled); } +void QForwardRenderer::setGamma(float gamma) +{ + Q_D(QForwardRenderer); + d->m_viewport->setGamma(gamma); +} + /*! \qmlproperty rect ForwardRenderer::viewportRect @@ -285,6 +292,22 @@ bool QForwardRenderer::isFrustumCullingEnabled() const return d->m_frustumCulling->isEnabled(); } +/*! + \qmlproperty color ForwardRenderer::gamma + + Holds the gamma value the renderer applies to the scene. +*/ +/*! + \property QForwardRenderer::gamma + + Holds the gamma value the renderer applies to the scene. +*/ +float QForwardRenderer::gamma() const +{ + Q_D(const QForwardRenderer); + return d->m_viewport->gamma(); +} + } // namespace Qt3DExtras QT_END_NAMESPACE diff --git a/src/extras/defaults/qforwardrenderer.h b/src/extras/defaults/qforwardrenderer.h index 6a2773029..160236462 100644 --- a/src/extras/defaults/qforwardrenderer.h +++ b/src/extras/defaults/qforwardrenderer.h @@ -63,6 +63,7 @@ class QT3DEXTRASSHARED_EXPORT QForwardRenderer : public Qt3DRender::QTechniqueFi 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) + Q_PROPERTY(float gamma READ gamma WRITE setGamma NOTIFY gammaChanged) public: explicit QForwardRenderer(Qt3DCore::QNode *parent = nullptr); ~QForwardRenderer(); @@ -73,6 +74,7 @@ public: QObject *surface() const; QSize externalRenderTargetSize() const; bool isFrustumCullingEnabled() const; + float gamma() const; public Q_SLOTS: void setViewportRect(const QRectF &viewportRect); @@ -81,6 +83,7 @@ public Q_SLOTS: void setSurface(QObject * surface); void setExternalRenderTargetSize(const QSize &size); void setFrustumCullingEnabled(bool enabled); + void setGamma(float gamma); Q_SIGNALS: void viewportRectChanged(const QRectF &viewportRect); @@ -89,6 +92,7 @@ Q_SIGNALS: void surfaceChanged(QObject *surface); void externalRenderTargetSizeChanged(const QSize &size); void frustumCullingEnabledChanged(bool enabled); + void gammaChanged(float gamma); private: Q_DECLARE_PRIVATE(QForwardRenderer) |