diff options
author | Svenn-Arne Dragly <svenn-arne.dragly@qt.io> | 2017-09-18 15:06:53 +0200 |
---|---|---|
committer | Svenn-Arne Dragly <svenn-arne.dragly@qt.io> | 2017-11-15 17:02:25 +0000 |
commit | 36005ba2873613c398698cf66e564388f0a8c06e (patch) | |
tree | 788466e0ed975592a7732c77be8dd9b3f8b749c2 | |
parent | 9b6f95d64374338d00bc619acf30584c4ec78c4e (diff) |
Material dirty only on param name/enabled change
Change-Id: I11e5ce86b318386b8458743b63f57824d3732271
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/render/materialsystem/parameter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/render/materialsystem/parameter.cpp b/src/render/materialsystem/parameter.cpp index 6671e4943..f00df3c90 100644 --- a/src/render/materialsystem/parameter.cpp +++ b/src/render/materialsystem/parameter.cpp @@ -87,10 +87,13 @@ void Parameter::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) if (propertyChange->propertyName() == QByteArrayLiteral("name")) { m_name = propertyChange->value().toString(); m_nameId = StringToInt::lookupId(m_name); + markDirty(AbstractRenderer::MaterialDirty | AbstractRenderer::ParameterDirty); } else if (propertyChange->propertyName() == QByteArrayLiteral("value")) { m_uniformValue = UniformValue::fromVariant(propertyChange->value()); + markDirty(AbstractRenderer::ParameterDirty); + } else if (propertyChange->propertyName() == QByteArrayLiteral("enabled")) { + markDirty(AbstractRenderer::MaterialDirty | AbstractRenderer::ParameterDirty); } - markDirty(AbstractRenderer::AllDirty); } BackendNode::sceneChangeEvent(e); |