diff options
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3drenderer.cpp')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3drenderer.cpp | 7 |
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) |