diff options
Diffstat (limited to 'src/render/backend')
-rw-r--r-- | src/render/backend/abstractrenderer_p.h | 3 | ||||
-rw-r--r-- | src/render/backend/renderer.cpp | 5 | ||||
-rw-r--r-- | src/render/backend/renderer_p.h | 2 |
3 files changed, 4 insertions, 6 deletions
diff --git a/src/render/backend/abstractrenderer_p.h b/src/render/backend/abstractrenderer_p.h index 2e24dc819..11e5b0a37 100644 --- a/src/render/backend/abstractrenderer_p.h +++ b/src/render/backend/abstractrenderer_p.h @@ -57,6 +57,7 @@ class QSurface; namespace Qt3DCore { class QAbstractFrameAdvanceService; +class QBackendNodeFactory; class QEventFilterService; class QAbstractAspectJobManager; } @@ -107,7 +108,7 @@ public: virtual Qt3DCore::QAspectJobPtr pickBoundingVolumeJob() = 0; virtual void setFrameGraphRoot(const Qt3DCore::QNodeId fgRootId) = 0; - virtual void setSceneRoot(Entity *root) = 0; + virtual void setSceneRoot(Qt3DCore::QBackendNodeFactory *factory, Entity *root) = 0; virtual Entity *sceneRoot() const = 0; virtual FrameGraphNode *frameGraphRoot() const = 0; diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index a05800851..999570511 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -409,7 +409,7 @@ Render::FrameGraphNode *Renderer::frameGraphRoot() const // 3) setWindow -> waking Initialize if setSceneGraphRoot was called before // 4) Initialize resuming, performing initialization and waking up setSceneGraphRoot // 5) setSceneGraphRoot called || setSceneGraphRoot resuming if it was waiting -void Renderer::setSceneRoot(Entity *sgRoot) +void Renderer::setSceneRoot(QBackendNodeFactory *factory, Entity *sgRoot) { Q_ASSERT(sgRoot); QMutexLocker lock(&m_mutex); // This waits until initialize and setSurface have been called @@ -424,9 +424,6 @@ void Renderer::setSceneRoot(Entity *sgRoot) buildDefaultTechnique(); buildDefaultMaterial(); - // If that weren't for those lines, the renderer might not event need - // to know about the renderer aspect - QBackendNodeFactory *factory = QAbstractAspectPrivate::get(m_rendererAspect); factory->createBackendNode(m_defaultMaterial); factory->createBackendNode(m_defaultMaterial->effect()); factory->createBackendNode(m_defaultTechnique); diff --git a/src/render/backend/renderer_p.h b/src/render/backend/renderer_p.h index eead65190..105d45436 100644 --- a/src/render/backend/renderer_p.h +++ b/src/render/backend/renderer_p.h @@ -142,7 +142,7 @@ public: bool isRunning() const Q_DECL_OVERRIDE { return m_running.load(); } - void setSceneRoot(Entity *sgRoot) Q_DECL_OVERRIDE; + void setSceneRoot(Qt3DCore::QBackendNodeFactory *factory, Entity *sgRoot) Q_DECL_OVERRIDE; Entity *sceneRoot() const Q_DECL_OVERRIDE { return m_renderSceneRoot; } void setFrameGraphRoot(const Qt3DCore::QNodeId fgRootId) Q_DECL_OVERRIDE; |