diff options
author | Wieland Hagen <wieland.hagen@kdab.com> | 2017-07-26 16:23:23 +0200 |
---|---|---|
committer | Wieland Hagen <wieland.hagen@kdab.com> | 2017-08-03 15:57:08 +0000 |
commit | ada47e47ef2e23feb334183d808cd6294aa69739 (patch) | |
tree | 8d88fea8c8f8e7c18fa38ca09e280b5befa70519 /src/render/renderstates | |
parent | 6e71be0630da0a7c9e460ed7adda8ed7ac7434f6 (diff) |
Fix QAlphaMask and QStencilMask render states property updating
Change-Id: Ie11ce88441a6d287d50d1cb78365a65b2742a502
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderstates')
-rw-r--r-- | src/render/renderstates/qstencilmask_p.h | 2 | ||||
-rw-r--r-- | src/render/renderstates/renderstates.cpp | 8 | ||||
-rw-r--r-- | src/render/renderstates/renderstates_p.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/render/renderstates/qstencilmask_p.h b/src/render/renderstates/qstencilmask_p.h index a6aad60b9..762b249f8 100644 --- a/src/render/renderstates/qstencilmask_p.h +++ b/src/render/renderstates/qstencilmask_p.h @@ -60,7 +60,7 @@ class QT3DRENDERSHARED_PRIVATE_EXPORT QStencilMaskPrivate : public QRenderStateP { public: QStencilMaskPrivate() - : QRenderStatePrivate(Render::StencilTestStateMask) + : QRenderStatePrivate(Render::StencilWriteStateMask) , m_frontOutputMask(0) , m_backOutputMask(0) {} diff --git a/src/render/renderstates/renderstates.cpp b/src/render/renderstates/renderstates.cpp index 7c59aa7f3..3c43252a0 100644 --- a/src/render/renderstates/renderstates.cpp +++ b/src/render/renderstates/renderstates.cpp @@ -111,6 +111,14 @@ void AlphaFunc::apply(GraphicsContext* gc) const gc->alphaTest(std::get<0>(m_values), std::get<1>(m_values)); } +void AlphaFunc::updateProperty(const char *name, const QVariant &value) +{ + if (name == QByteArrayLiteral("alphaFunction")) + std::get<0>(m_values) = value.toInt(); + if (name == QByteArrayLiteral("referenceValue")) + std::get<1>(m_values) = value.toFloat(); +} + void MSAAEnabled::apply(GraphicsContext *gc) const { gc->setMSAAEnabled(std::get<0>(m_values)); diff --git a/src/render/renderstates/renderstates_p.h b/src/render/renderstates/renderstates_p.h index 66e9e079a..784060331 100644 --- a/src/render/renderstates/renderstates_p.h +++ b/src/render/renderstates/renderstates_p.h @@ -78,6 +78,7 @@ class Q_AUTOTEST_EXPORT AlphaFunc : public GenericState<AlphaFunc, AlphaTestMask { public: void apply(GraphicsContext *gc) const Q_DECL_OVERRIDE; + void updateProperty(const char *name, const QVariant &value) Q_DECL_OVERRIDE; }; class Q_AUTOTEST_EXPORT MSAAEnabled : public GenericState<MSAAEnabled, MSAAEnabledStateMask, GLboolean> |