diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-01 14:46:02 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-05 12:17:51 +0000 |
commit | 3a1043e62a031761edf99f87e54c446e0633d662 (patch) | |
tree | fc17ddf7c6ad153eda565e8e8a618aab9cff88bb /src/render/materialsystem/renderpass.cpp | |
parent | bbcc4a38195edb4f1a3ea1a22d6eabf791c39e19 (diff) |
RenderPass handles creation
Change-Id: I0155b9605bceff798dc804026ee69a9cd18152dc
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/materialsystem/renderpass.cpp')
-rw-r--r-- | src/render/materialsystem/renderpass.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/render/materialsystem/renderpass.cpp b/src/render/materialsystem/renderpass.cpp index 00827f8e1..100ade9db 100644 --- a/src/render/materialsystem/renderpass.cpp +++ b/src/render/materialsystem/renderpass.cpp @@ -44,6 +44,7 @@ #include <Qt3DRender/qrenderpass.h> #include <Qt3DRender/qparameter.h> +#include <Qt3DRender/private/qrenderpass_p.h> #include <Qt3DRender/private/renderstates_p.h> #include <Qt3DRender/private/renderstateset_p.h> @@ -87,6 +88,17 @@ void RenderPass::updateFromPeer(Qt3DCore::QNode *peer) m_parameterPack.appendParameter(p->id()); } +void RenderPass::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) +{ + const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderPassData>>(change); + const auto &data = typedChange->data; + m_filterKeyList = data.filterKeyIds; + m_parameterPack.setParameters(data.parameterIds); + for (const auto &renderStateId : qAsConst(data.renderStateIds)) + appendRenderState(renderStateId); + m_shaderUuid = data.shaderId; +} + void RenderPass::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e); |