diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-03-24 16:42:25 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-31 07:33:58 +0000 |
commit | 9daa495751011624385bb9888425fd6375b342a8 (patch) | |
tree | f731b360ce06f01621dc82c83eb7f1c9ff2c78c7 | |
parent | d9e7544f43b17253ea8e82003ee4098c30d2501b (diff) |
RenderShaderDataFunctor handles creation
Change-Id: I88438dafdd5a6636fb845b22144ca6f670838323
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/render/materialsystem/shaderdata.cpp | 8 | ||||
-rw-r--r-- | src/render/materialsystem/shaderdata_p.h | 1 |
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; |