diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2020-11-26 11:43:11 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2020-11-26 14:50:06 +0100 |
commit | af56e7966d523714a3d64c0780fc266175431fd1 (patch) | |
tree | eecdadb9f2623f9d68d9de59771d1a218a688fd7 /src/quick3d/imports/scene3d/scene3drenderer.cpp | |
parent | 1e62ec8397ddd7d435b358c91ac1ed74e64b6f4c (diff) |
Scene3D: handle flipping based on the RHI backend in use
Qt3D handles flipping based on whether the RHI backend in use requires
it or not. Scene3D would also flip the content (ignoring the fact that
the content was already in the correct orientation).
This resulted in cases where a Qt 3D scene rendered with Scene3D would be
flipped while the same scene rendered on its own (with Qt3DWindow) would
be correct.
Change-Id: I9fc2a01f63713ed3dbafaf896dfd9457d7160653
Task-number: QTBUG-87842
Pick-to: 6.0 6.0.0
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3drenderer.cpp')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3drenderer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/quick3d/imports/scene3d/scene3drenderer.cpp b/src/quick3d/imports/scene3d/scene3drenderer.cpp index a6ad43182..aa96f62a4 100644 --- a/src/quick3d/imports/scene3d/scene3drenderer.cpp +++ b/src/quick3d/imports/scene3d/scene3drenderer.cpp @@ -198,6 +198,11 @@ Scene3DSGNode *Scene3DRenderer::sgNode() const return m_node; } +bool Scene3DRenderer::isYUp() const +{ + return m_quickRenderer ? m_quickRenderer->isYUp() : true; +} + // Executed in the QtQuick render thread (which may even be the gui/main with QQuickWidget / RenderControl). void Scene3DRenderer::shutdown() { @@ -595,6 +600,11 @@ void Scene3DRenderer::RHIRenderer::shutdown(Scene3DRenderer *scene3DRenderer) releaseRHIResources(); } +bool Scene3DRenderer::RHIRenderer::isYUp() const +{ + return m_rhi->isYUpInNDC(); +} + void Scene3DRenderer::RHIRenderer::releaseRHIResources() { delete m_rhiRenderTarget; |