diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-08-19 08:21:39 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-08-19 11:51:43 +0300 |
commit | 9425bec2d7cb41615678cff3d7b2ae31d6988635 (patch) | |
tree | fae4852a275787011d665c8bb2d7bb4d3c41dcd5 | |
parent | ade751901f6d941cb9c25dc754051599e5fff40a (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.cpp | 3 |
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()); |