summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvenn-Arne Dragly <svenn-arne.dragly@qt.io>2017-09-18 15:06:53 +0200
committerSvenn-Arne Dragly <svenn-arne.dragly@qt.io>2017-11-15 17:02:25 +0000
commit36005ba2873613c398698cf66e564388f0a8c06e (patch)
tree788466e0ed975592a7732c77be8dd9b3f8b749c2
parent9b6f95d64374338d00bc619acf30584c4ec78c4e (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.cpp5
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);