Add S-expression based video effects pipeline with modular effect definitions, constructs, and recipe files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 lines
1015 B
Common Lisp
23 lines
1015 B
Common Lisp
;; Neon Glow effect - glowing edge effect
|
|
;; @param edge_low int [10, 200] default 50
|
|
;; @param edge_high int [50, 300] default 150
|
|
;; @param glow_radius int [1, 50] default 15
|
|
;; @param glow_intensity float [0.5, 5] default 2
|
|
;; @param background float [0, 1] default 0.3
|
|
|
|
(define-effect neon_glow
|
|
((edge_low 50) (edge_high 150) (glow_radius 15)
|
|
(glow_intensity 2) (background 0.3))
|
|
(let* ((edge-img (edges frame edge_low edge_high))
|
|
(glow (blur edge-img glow_radius))
|
|
;; Intensify the glow
|
|
(bright-glow (map-pixels glow
|
|
(lambda (x y c)
|
|
(rgb (clamp (* (red c) glow_intensity) 0 255)
|
|
(clamp (* (green c) glow_intensity) 0 255)
|
|
(clamp (* (blue c) glow_intensity) 0 255))))))
|
|
(blend-mode (blend-images frame (make-image (width frame) (height frame) (list 0 0 0))
|
|
(- 1 background))
|
|
bright-glow
|
|
"screen")))
|