[Fluxus] freeframe plugin support
gabor papp
gabor.lists at mndl.hu
Tue Aug 11 00:57:12 PDT 2009
hi,
i have been working on adding freeframe plugin support to fluxus.
freeframe is a real-time video effect plugin system
(http://freeframe.sourceforge.net/).
the main idea is to load plugins and apply them to pixel primitives to
either postprocess their content, or write computationally expensive
plugins in c++ and control them from fluxus.
there's still a lot of things to do, but it is starting to work.
here's an example how to use it:
(clear)
(define p (build-pixels 256 256 #t)) ; input pixelprimitive
(translate (vector 1.1 0 0))
; output pixelprimitive - rendering is not active
; otherwise it would overwrite the plugin output
(define op (build-pixels 256 256))
(define plugin (ffgl-load "FFGLTile.dylib" 256 256))
(with-ffgl plugin
(for ([i (ffgl-get-info)]) ; print plugin information
(printf "~a~n" i))
(printf "~a~n" (ffgl-get-parameters)) ; parameter names as symbols
(ffgl-process op p)) ; set destination and source pixelprimitives
(define (anim)
; set plugin parameters as keywords arguments
(with-ffgl plugin
(ffgl-set-parameter! #:tilex (/ (mouse-x) (vx (get-screen-size)))
#:tiley (/ (mouse-y) (vy (get-screen-size)))))
; render to the input pixelprimitive
(with-pixels-renderer p
(with-state
(clear-colour #(0 1 0))
(scale 5)
(rotate (vector (* 50 (time)) -17 (* -35 (time))))
(draw-cube))))
(every-frame (anim))
output screenshot:
http://www.flickr.com/photos/gaborpapp/3811071474/
unfortunately, it does not render the plugin on my radeon linux box,
although it works fine on my macbook. another pixelprimitive fbo issue i
have to sort out.
any help or comments are welcome.
all the best,
gabor
More information about the Fluxus
mailing list