summaryrefslogtreecommitdiffstats
path: root/src/quick3d/imports/scene3d/scene3drenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3drenderer.cpp')
-rw-r--r--src/quick3d/imports/scene3d/scene3drenderer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/quick3d/imports/scene3d/scene3drenderer.cpp b/src/quick3d/imports/scene3d/scene3drenderer.cpp
index 71cf6c240..f78271bea 100644
--- a/src/quick3d/imports/scene3d/scene3drenderer.cpp
+++ b/src/quick3d/imports/scene3d/scene3drenderer.cpp
@@ -327,7 +327,9 @@ void Scene3DRenderer::beforeSynchronize()
const bool generateNewTexture = m_finalFBO.isNull() || forceRecreate;
if (generateNewTexture) {
m_finalFBO.reset(createFramebufferObject(m_lastSize));
- m_texture.reset(m_window->createTextureFromId(m_finalFBO->texture(), m_finalFBO->size(), QQuickWindow::TextureHasAlphaChannel));
+ m_textureId = m_finalFBO->texture();
+ m_texture.reset(m_window->createTextureFromNativeObject(QQuickWindow::NativeObjectTexture, &m_textureId,
+ 0, m_finalFBO->size(), QQuickWindow::TextureHasAlphaChannel));
}
// We can render either the Scene3D or the Scene3DView but not both
@@ -349,9 +351,8 @@ void Scene3DRenderer::beforeSynchronize()
}
}
- if (m_aspectEngine->rootEntity() != m_item->entity()) {
+ if (m_aspectEngine->rootEntity() != m_item->entity())
scheduleRootEntityChange();
- }
// Mark SGNodes as dirty so that QQuick will trigger some rendering
if (m_node)