[Fluxus] Question (attempt 2, please ignore the previous incomplete message)
    gabor papp 
    gabor.lists at mndl.hu
       
    Tue Jun 29 01:09:32 PDT 2010
    
    
  
hi Hugo,
welcome to the list.
> From what I understand so far, this is the best philosophy: "building"
> the primitives rather than "drawing" them every-time.
i would suggest that you use draw primitives first until you are 
familiar with them.
> Doing that every-frame will grow the primitive too large to display in
> the window, so it mans that this scale of 1.2 is 'multiplied' against the
> primitives current scale factor.
yes, because built primitives remember their transformation that you can 
reset with (identity) as you have already figured out.
> As a workaround, I have tried to maintain an array of 'sizes' that I
there are a number of ways you can solve your problem, but probably this 
is the simplest.
here's a small example that might help.
-----
(clear)
(define count 10)
; build list of random rotations, positions, sizes
(define rotations (build-list count (lambda (n) (vmul (crndvec) 180))))
(define positions (build-list count (lambda (n) (vmul (crndvec) 5))))
(define sizes (build-list count (lambda (n) (rndf))))
(define (animate)
     ; recalculate sizes
     (set! sizes
         (map
             (lambda (s)
                 (if (> s 5)
                     1
                     (+ s .1)))
             sizes))
     ; draw
     (for-each
         (lambda (r p s)
             (with-state
                 (translate p)
                 (rotate r)
                 (scale s)
                 (draw-cube)))
         rotations
         positions
         sizes))
(every-frame (animate))
-----
best,
gabor
 
    
    
More information about the Fluxus
mailing list