[Fluxus] particles
gabor papp
gabor.lists at mndl.hu
Fri Feb 12 03:28:19 PST 2010
hi Kassen,
i'm not sure if this is expected behaviour, but particles are facing the
camera, whose direction is calculated and rendered in the current state.
if previous states have rotation, then the particle sprites will be
rotated i guess.
there's a probably nasty hack you can try. instead of one locator, you
can use two. you transform the first locator as usual, then the second
should get the inverse transform of the first locator's rotation. i'm
not sure why this does not work with applying the inverse tranform to
the particles, but with two locators it seems to work.
(clear)
(define p (build-particles 512))
(define l (build-locator))
(define l2 (build-locator))
(with-primitive p
(pdata-map!
(lambda (p)
(srndvec))
"p")
(pdata-map!
(lambda (c) 1)
"c")
(parent l2))
(with-primitive l2
(parent l))
(define (mainloop)
(with-primitive l
(identity)
(translate (vector (* 2 (sin (time))) (* 2 (cos (time))) 0))
(rotate (vector 0 (* 10 (time)) 0)))
(let ([m (with-primitive l (get-global-transform))])
; delete translation
(for ([i (in-range 12 15)])
(vector-set! m i 0))
(with-primitive l2
(identity)
(concat (minverse m)))))
(every-frame (mainloop))
best,
gabor
More information about the Fluxus
mailing list