[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