diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-17 10:15:38 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-17 10:19:48 +0300 |
commit | e3c7cfe82ab429f5c5e4b9fe63df2af6cc8d1b4f (patch) | |
tree | afe3e93a4598e51fca17c027d04bf2e46a3ce10d /src/datavisualization/engine | |
parent | ed83488eedc64e8081123c17f2a1402b4e04d279 (diff) |
Change order of slice and main rendering
Fixes issue with having one frame with incorrect slice.
Change-Id: I5f3ef79f4fc304bf87aaff7f3fd5d3d6fa349dce
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/bars3drenderer.cpp | 6 | ||||
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 12 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 7863cda3..5944b3d7 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -241,13 +241,13 @@ void Bars3DRenderer::render(GLuint defaultFboHandle) // Handle GL state setup for FBO buffers and clearing of the render surface Abstract3DRenderer::render(defaultFboHandle); + // Draw bars scene + drawScene(defaultFboHandle); + // If slice selection is on, draw the sliced scene if (m_cachedIsSlicingActivated) drawSlicedScene(m_axisCacheX.titleItem(), m_axisCacheY.titleItem(), m_axisCacheZ.titleItem()); - // Draw bars scene - drawScene(defaultFboHandle); - // If slicing has been activated by this render pass, we need another render // Also trigger another render always when slicing changes in general to ensure // final draw is correct. diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index b73332f3..8dfd1c65 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -448,17 +448,15 @@ void Surface3DRenderer::render(GLuint defaultFboHandle) // Handle GL state setup for FBO buffers and clearing of the render surface Abstract3DRenderer::render(defaultFboHandle); - // In slice mode; draw slice and render selection ball - if (m_cachedIsSlicingActivated && m_selectionPointer && m_selectionActive) { - drawSlicedScene(); - m_selectionPointer->render(defaultFboHandle); - } - // Draw the surface scene drawScene(defaultFboHandle); + // In slice mode; draw slice and render selection ball + if (m_cachedIsSlicingActivated) + drawSlicedScene(); + // Render selection ball if not in slice mode - if (!m_cachedIsSlicingActivated && m_selectionPointer && m_selectionActive) + if (m_selectionPointer && m_selectionActive) m_selectionPointer->render(defaultFboHandle); // If slicing has been activated by this render pass, we need another render |