summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2019-08-19 08:21:39 +0300
committerAntti Määttä <antti.maatta@qt.io>2019-08-19 11:51:43 +0300
commit9425bec2d7cb41615678cff3d7b2ae31d6988635 (patch)
treefae4852a275787011d665c8bb2d7bb4d3c41dcd5
parentade751901f6d941cb9c25dc754051599e5fff40a (diff)
Fix issues with AO and multiple layers
The AO was implemented such that only one layer enabled AO parameters and all other used those. Moved the AO parameter update to render pass from prepare pass. Task-number: QT3DS-1888 Change-Id: I2d748351a9d762e66aeb0d483ceed0c203e94d36 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp
index 69c79ff..7b7043f 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp
+++ b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp
@@ -121,8 +121,6 @@ namespace render {
SLayerRenderPreparationData::PrepareForRender(inViewportDimensions);
SLayerRenderPreparationResult &thePrepResult(*m_LayerPrepResult);
IResourceManager &theResourceManager(m_Renderer.GetQt3DSContext().GetResourceManager());
- // at that time all values shoud be updated
- m_Renderer.UpdateCbAoShadow(&m_Layer, m_Camera, m_LayerDepthTexture);
// Generate all necessary lighting keys
@@ -237,6 +235,7 @@ namespace render {
void SLayerRenderData::RenderAoPass()
{
m_Renderer.BeginLayerDepthPassRender(*this);
+ m_Renderer.UpdateCbAoShadow(&m_Layer, m_Camera, m_LayerDepthTexture);
NVRenderContext &theContext(m_Renderer.GetContext());
SDefaultAoPassShader *shader = m_Renderer.GetDefaultAoPassShader(GetShaderFeatureSet());