summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/Qt3DSRenderEffectSystem.cpp
diff options
context:
space:
mode:
authorJere Tuliniemi <jere.tuliniemi@qt.io>2020-03-04 11:37:57 +0200
committerJere Tuliniemi <jere.tuliniemi@qt.io>2020-03-05 09:25:08 +0200
commit5605d807030df8bfa1898c8fa05b86b40e6c2ebd (patch)
tree245abda67211ee62d58f341b799cb510988a9447 /src/runtimerender/Qt3DSRenderEffectSystem.cpp
parentabc9048c6806083673b44a6bcf1176bfaadb4335 (diff)
Fix subpresentations in custom shaders
Custom shaders don't have presentationIds separately. The property value has to be interpreted as a presentationId. The main layer also has to be set dirty if custom shader subpresentation changes so that it animates even without other changes in the scene. Task-number: QT3DS-4083 Change-Id: I0fef13a8c7d99a74c524e459bb5490ff48158e26 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/runtimerender/Qt3DSRenderEffectSystem.cpp')
-rw-r--r--src/runtimerender/Qt3DSRenderEffectSystem.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/runtimerender/Qt3DSRenderEffectSystem.cpp b/src/runtimerender/Qt3DSRenderEffectSystem.cpp
index b10345c..faaf4d2 100644
--- a/src/runtimerender/Qt3DSRenderEffectSystem.cpp
+++ b/src/runtimerender/Qt3DSRenderEffectSystem.cpp
@@ -1082,9 +1082,10 @@ struct SEffectSystem : public IEffectSystem
image->m_ImagePath = *theStrPtr;
image->m_Flags.SetDirty(true);
} else {
- if (image->m_OffscreenRendererId.IsValid()) {
- IOffscreenRenderManager &theOffscreenRenderer(
- m_Context->GetOffscreenRenderManager());
+ IOffscreenRenderManager &theOffscreenRenderer(
+ m_Context->GetOffscreenRenderManager());
+ if (image->m_OffscreenRendererId.IsValid()
+ || theOffscreenRenderer.HasOffscreenRenderer(*theStrPtr)) {
SOffscreenRenderResult theResult
= theOffscreenRenderer.GetRenderedItem(*theStrPtr);
needsAlphaMultiply = false;