diff options
author | Wieland Hagen <wieland.hagen@kdab.com> | 2017-06-29 13:13:23 +0200 |
---|---|---|
committer | Wieland Hagen <wieland.hagen@kdab.com> | 2017-06-29 12:26:32 +0000 |
commit | 86ec8ca096769fe392688fdafda10a8516b5dc05 (patch) | |
tree | 0936c8e722097bbbb3ed4cc03e6778b469a7f182 /src/quick3d/imports/scene3d/scene3drenderer.cpp | |
parent | a530a45d1ab8721f2d1bf764528b25d91949ec70 (diff) |
Make sure Qt3D gets a clean OpenGL state in Scene3D item
We need to reset the state before and after rendering,
because it may have been dirty before and it might be dirty
afterwards.
Change-Id: Iaa32243aa5721d3e2319b2a58987624f30d6482d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3drenderer.cpp')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3drenderer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick3d/imports/scene3d/scene3drenderer.cpp b/src/quick3d/imports/scene3d/scene3drenderer.cpp index b32191391..26e966f76 100644 --- a/src/quick3d/imports/scene3d/scene3drenderer.cpp +++ b/src/quick3d/imports/scene3d/scene3drenderer.cpp @@ -255,6 +255,10 @@ void Scene3DRenderer::render() ContextSaver saver; + // The OpenGL state may be dirty from the previous QtQuick nodes, so reset + // it here to give Qt3D the clean state it expects + window->resetOpenGLState(); + const QSize boundingRectSize = m_item->boundingRect().size().toSize(); const QSize currentSize = boundingRectSize * window->effectiveDevicePixelRatio(); const bool sizeHasChanged = currentSize != m_lastSize; |