diff options
Diffstat (limited to 'src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp')
-rw-r--r-- | src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp | 7 |
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 |