summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/renderpass.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-01 14:46:02 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-05 12:17:51 +0000
commit3a1043e62a031761edf99f87e54c446e0633d662 (patch)
treefc17ddf7c6ad153eda565e8e8a618aab9cff88bb /src/render/materialsystem/renderpass.cpp
parentbbcc4a38195edb4f1a3ea1a22d6eabf791c39e19 (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.cpp12
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);