;; Trails effect - persistent motion trails ;; @param persistence float [0, 0.99] default 0.8 (define-effect trails ((persistence 0.8)) (let* ((buffer (state-get 'buffer nil)) (current frame)) (if (= buffer nil) (begin (state-set 'buffer (copy frame)) frame) (let* ((faded (blend-images buffer (make-image (width frame) (height frame) (list 0 0 0)) (- 1 persistence))) (result (blend-mode faded current "lighten"))) (begin (state-set 'buffer result) result)))))