Add Echo tunnel, a video effect that flies through Feedback's nested echoes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "effects/video_effect.hpp"
|
||||
|
||||
namespace effector {
|
||||
|
||||
// The feedback effect in motion: the picture nested inside itself, each copy
|
||||
// smaller, turned and drifted further than the one around it, and the whole
|
||||
// stack flying inwards (or outwards) without end.
|
||||
//
|
||||
// A copy sits at a depth, and its size, turn and drift follow from that depth
|
||||
// alone. Every frame moves each copy on by part of one step, so after a whole
|
||||
// cycle each copy lies exactly where its neighbour started: a new one fades
|
||||
// in at the far end while the nearest fades out into the picture itself, and
|
||||
// the clip loops without a jump.
|
||||
class TunnelEffect : public VideoEffect {
|
||||
public:
|
||||
std::string name() const override { return "tunnel"; }
|
||||
std::string title() const override { return "Echo tunnel"; }
|
||||
std::string description() const override {
|
||||
return "Nests the picture inside itself, as Feedback does, and flies through the echoes "
|
||||
"without end.";
|
||||
}
|
||||
const std::vector<ParamSpec>& params() const override;
|
||||
|
||||
protected:
|
||||
Image animate(Image input, const ParamValues& values, const Moment& at) const override;
|
||||
};
|
||||
|
||||
} // namespace effector
|
||||
Reference in New Issue
Block a user