summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp')
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
index 3016ad6..34c2173 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
+++ b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
@@ -784,8 +784,13 @@ namespace render {
renderableFlags |= RenderPreparationResultFlagValues::CompletelyTransparent;
}
- if (IsNotOne(subsetOpacity))
+ if (IsNotOne(subsetOpacity) || theMaterial->m_TransparencyMode
+ == DefaultMaterialTransparencyMode::ForceTransparent) {
renderableFlags |= RenderPreparationResultFlagValues::HasTransparency;
+ } else if (theMaterial->m_TransparencyMode
+ == DefaultMaterialTransparencyMode::ForceOpaque) {
+ renderableFlags.clearOrSet(false, RenderPreparationResultFlagValues::HasTransparency);
+ }
// Enable alpha test, but only if the whole object opacity is full
// so parts of the object might be fully opaque