diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-02-25 15:09:03 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-02-26 09:45:12 +0000 |
commit | 7e2f9d42eebe13182918d832577c4f5ed96ab87b (patch) | |
tree | cee2c929e6a1fe365d3a290067fe0ab935069162 /src/render/materialsystem/qrenderpass.cpp | |
parent | 473fb46f44d4225675c5d903501a7cb9ee6b8258 (diff) |
Remove ParameterMapping
* Bindings are now entirely deduced from shader introspection
* Modified the BackendNodeDirtyFlags to remove the class at this
prevents the operator~() to be called
* Make the Renderer loop check for the ComputeDirty flag and
don't unset it if set
Note: uses a hack to reset m_changeSet in performCompute as right know
we are sometimes missing the markDirty(ComputeDirty) set by the ComputeJob nodes.
Will be sorted out later.
Change-Id: Ic4fa71ecf01b625e885a58a66278387bf5b36339
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/materialsystem/qrenderpass.cpp')
-rw-r--r-- | src/render/materialsystem/qrenderpass.cpp | 41 |
1 files changed, 2 insertions, 39 deletions
diff --git a/src/render/materialsystem/qrenderpass.cpp b/src/render/materialsystem/qrenderpass.cpp index d62adffe2..5efbafb19 100644 --- a/src/render/materialsystem/qrenderpass.cpp +++ b/src/render/materialsystem/qrenderpass.cpp @@ -42,7 +42,6 @@ #include "qrenderpass_p.h" #include "qparameter.h" #include "qannotation.h" -#include "qparametermapping.h" #include "qscenepropertychange.h" #include "qrenderstate.h" #include "private/qnode_p.h" @@ -67,10 +66,10 @@ void QRenderPass::copy(const QNode *ref) Q_FOREACH (QAnnotation *crit, other->d_func()->m_annotationList) addAnnotation(qobject_cast<QAnnotation *>(QNode::clone(crit))); - Q_FOREACH (QParameterMapping *binding, other->d_func()->m_bindings) - addBinding(qobject_cast<QParameterMapping *>(QNode::clone(binding))); Q_FOREACH (QRenderState *renderState, other->d_func()->m_renderStates) addRenderState(qobject_cast<QRenderState *>(QNode::clone(renderState))); + Q_FOREACH (QParameter *p, other->d_func()->m_parameters) + addParameter(qobject_cast<QParameter *>(QNode::clone(p))); } QRenderPass::QRenderPass(QNode *parent) @@ -183,42 +182,6 @@ QList<QAnnotation *> QRenderPass::annotations() const return d->m_annotationList; } -void QRenderPass::addBinding(QParameterMapping *binding) -{ - Q_D(QRenderPass); - if (!d->m_bindings.contains(binding)) { - d->m_bindings.append(binding); - - if (!binding->parent()) - binding->setParent(this); - - if (d->m_changeArbiter != Q_NULLPTR) { - QScenePropertyChangePtr change(new QScenePropertyChange(NodeAdded, QSceneChange::Node, id())); - change->setPropertyName("binding"); - change->setValue(QVariant::fromValue(QNode::clone(binding))); - d->notifyObservers(change); - } - } -} - -void QRenderPass::removeBinding(QParameterMapping *binding) -{ - Q_D(QRenderPass); - if (d->m_changeArbiter != Q_NULLPTR) { - QScenePropertyChangePtr change(new QScenePropertyChange(NodeRemoved, QSceneChange::Node, id())); - change->setPropertyName("binding"); - change->setValue(QVariant::fromValue(binding->id())); - d->notifyObservers(change); - } - d->m_bindings.removeOne(binding); -} - -QList<QParameterMapping *> QRenderPass::bindings() const -{ - Q_D(const QRenderPass); - return d->m_bindings; -} - /*! * Adds a Qt3DCore::QRenderState \a state to the rendering pass. That implies that * when the pass is executed at render time, the globally set render state will |