From 78e305a593e2f597f19b424a14a31636adefd9cb Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 6 May 2020 16:14:27 +1000 Subject: [PATCH] mergenode: optimize so null textures (gaps, etc.) don't affect the hash --- app/node/math/merge/merge.cpp | 11 +++++++++++ app/node/math/merge/merge.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/app/node/math/merge/merge.cpp b/app/node/math/merge/merge.cpp index d154aa8b2..e5c039a6e 100644 --- a/app/node/math/merge/merge.cpp +++ b/app/node/math/merge/merge.cpp @@ -82,4 +82,15 @@ NodeInput *MergeNode::blend_in() const return blend_in_; } +void MergeNode::Hash(QCryptographicHash &hash, const rational &time) const +{ + if (base_in_->IsConnected()) { + base_in_->get_connected_node()->Hash(hash, time); + } + + if (blend_in_->IsConnected()) { + blend_in_->get_connected_node()->Hash(hash, time); + } +} + OLIVE_NAMESPACE_EXIT diff --git a/app/node/math/merge/merge.h b/app/node/math/merge/merge.h index fda931a8e..63a17cb2d 100644 --- a/app/node/math/merge/merge.h +++ b/app/node/math/merge/merge.h @@ -45,6 +45,8 @@ public: NodeInput* base_in() const; NodeInput* blend_in() const; + virtual void Hash(QCryptographicHash &hash, const rational &time) const override; + private: NodeInput* base_in_;