summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-03-24 16:42:25 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-31 07:33:58 +0000
commit9daa495751011624385bb9888425fd6375b342a8 (patch)
treef731b360ce06f01621dc82c83eb7f1c9ff2c78c7
parentd9e7544f43b17253ea8e82003ee4098c30d2501b (diff)
RenderShaderDataFunctor handles creation
Change-Id: I88438dafdd5a6636fb845b22144ca6f670838323 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/materialsystem/shaderdata.cpp8
-rw-r--r--src/render/materialsystem/shaderdata_p.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/render/materialsystem/shaderdata.cpp b/src/render/materialsystem/shaderdata.cpp
index 3330eaa77..e2698ed38 100644
--- a/src/render/materialsystem/shaderdata.cpp
+++ b/src/render/materialsystem/shaderdata.cpp
@@ -341,6 +341,14 @@ Qt3DCore::QBackendNode *RenderShaderDataFunctor::create(Qt3DCore::QNode *fronten
return backend;
}
+Qt3DCore::QBackendNode *RenderShaderDataFunctor::create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const
+{
+ ShaderData *backend = m_managers->shaderDataManager()->getOrCreateResource(change->subjectId());
+ backend->setManagers(m_managers);
+ backend->setRenderer(m_renderer);
+ return backend;
+}
+
Qt3DCore::QBackendNode *RenderShaderDataFunctor::get(Qt3DCore::QNodeId id) const
{
return m_managers->shaderDataManager()->lookupResource(id);
diff --git a/src/render/materialsystem/shaderdata_p.h b/src/render/materialsystem/shaderdata_p.h
index d0f19d40d..9087e8abd 100644
--- a/src/render/materialsystem/shaderdata_p.h
+++ b/src/render/materialsystem/shaderdata_p.h
@@ -123,6 +123,7 @@ public:
explicit RenderShaderDataFunctor(AbstractRenderer *renderer, NodeManagers *managers);
Qt3DCore::QBackendNode *create(Qt3DCore::QNode *frontend) const Q_DECL_FINAL;
+ Qt3DCore::QBackendNode *create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const Q_DECL_FINAL;
Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const Q_DECL_FINAL;
void destroy(Qt3DCore::QNodeId id) const Q_DECL_FINAL;