anchor.diff:  	     (setf (deref (ptr+ buf (+ 1 (* it 2))))
   		   (cast (member point y) f32))))
       (gl:buffer-data gl:array-buffer (cast (* points-cnt (size-of (type f32)) 2) u32)
  -		    (cast buf (ptr void)) gl:static-draw)))
  +		    (cast buf (ptr void)) gl:stream-draw)
  +    (dealloc (cast buf (ptr void)))
  +    ))
   (load-points)
  +	  
  +(defvar vbo-circle (cast 0 u32))
  +(gl:gen-buffers 1 (addrof vbo-circle))
  +(let ((buf (cast (alloc (* 2 (size-of (type f32)) 16)) (ptr f32))))
  +  (gl:bind-buffer gl:array-buffer vbo-circle)
  +  (range it 0 8
  +     (setf (deref (ptr+ buf (+ (* it 2) 0))) (sin32 (cast it f32)))
  +     (setf (deref (ptr+ buf (+ (* it 2) 1))) (cos32 (cast it f32))))
  +  (gl:buffer-data gl:array-buffer (* (size-of (type f32)) 16) 
  +		  (cast buf (ptr void)) gl:static-draw)
  +  (dealloc buf))
  +
   (gl:enable-vertex-attrib-array 0)
   (gl:bind-buffer gl:array-buffer vbo)
   (gl:vertex-attrib-pointer 0 2 gl:float gl:false 0 null) 
  
positive.code: 				(glfw:get-key win glfw:key-right))
  			    -1.0
  			    0.0))))
  	  (setf player-dir (vec2turn player-dir (* turn speed)))) 
  	(setf cam-pos (deref (ptr+ points (cast (- points-cnt 1) i64))))
  	(load-points))
        (setf speed (* 0.99 speed))
  
negative.code: 
  (defvar points (cast (alloc0 (* 0 (size-of (type vec2)))) (ptr vec2)))
  (defvar points-cnt (cast 0 u64))
  (add-to-list+ points points-cnt (vec 0 0))
  (range it 0 (cast points-cnt i64)
         (print it (deref (ptr+ points it)) newline))
  (print points-cnt newline)
  