renderer: always hash along edges

This commit is contained in:
itsmattkc
2021-09-19 23:11:20 -07:00
parent 67c7c71ca2
commit 7ba5dca4ab
30 changed files with 76 additions and 59 deletions
@@ -312,7 +312,7 @@ void TransformDistortNode::GizmoRelease()
gizmo_drag_ = nullptr;
}
void TransformDistortNode::Hash(const ValueHint &output, QCryptographicHash &hash, const NodeGlobals &globals, const VideoParams &video_params) const
void TransformDistortNode::Hash(QCryptographicHash &hash, const NodeGlobals &globals, const VideoParams &video_params) const
{
// If not connected to output, this will produce nothing
Node *out = GetConnectedOutput(kTextureInput);
@@ -338,7 +338,7 @@ void TransformDistortNode::Hash(const ValueHint &output, QCryptographicHash &has
}
}
out->Hash(GetValueHintForInput(kTextureInput, -1), hash, globals, video_params);
Node::Hash(out, GetValueHintForInput(kTextureInput), hash, globals, video_params);
}
QMatrix4x4 TransformDistortNode::AdjustMatrixByResolutions(const QMatrix4x4 &mat, const QVector2D &sequence_res, const QVector2D &texture_res, AutoScaleType autoscale_type)
@@ -80,8 +80,6 @@ public:
virtual void GizmoMove(const QPointF &p, const rational &time) override;
virtual void GizmoRelease() override;
virtual void Hash(const ValueHint& output, QCryptographicHash& hash, const NodeGlobals &globals, const VideoParams& video_params) const override;
enum AutoScaleType {
kAutoScaleNone,
kAutoScaleFit,
@@ -98,6 +96,9 @@ public:
static const QString kAutoscaleInput;
static const QString kInterpolationInput;
protected:
virtual void Hash(QCryptographicHash& hash, const NodeGlobals &globals, const VideoParams& video_params) const override;
private:
static QPointF CreateScalePoint(double x, double y, const QPointF& half_res, const QMatrix4x4& mat);