anchor.diff:  		      :initial-contents '(-0.5 -0.5 0.0 1.0
   					  0.0 0.5 0.0 1.0
   					  0.5 -0.5 0.0 1.0)))
  +
  +(defvar *cube-data*
  +  (cffi:foreign-alloc
  +   :float
  +   :initial-contents
  +   '(0.5 0.5 0.5
  +     0.5 -0.5 0.5
  +     -0.5 -0.5 0.5
  +     -0.5 0.5 0.5
  +     0.5 0.5 0.5
  +     -0.5 0.5 0.5
  +     -0.5 0.5 -0.5
  +     0.5 0.5 -0.5
  +     0.5 0.5 0.5
  +     0.5 0.5 -0.5
  +     0.5 -0.5 -0.5
  +     0.5 -0.5 0.5
  +     0.5 0.5 -0.5
  +     -0.5 0.5 -0.5
  +     -0.5 -0.5 -0.5
  +     0.5 -0.5 -0.5
  +     0.5 -0.5 0.5
  +     0.5 -0.5 -0.5
  +     -0.5 -0.5 -0.5
  +     -0.5 -0.5 0.5
  +     -0.5 0.5 0.5
  +     -0.5 -0.5 0.5
  +     -0.5 -0.5 -0.5
  +     -0.5 0.5 -0.5)))
  +
  +(defvar *cube-indices*
  +  (cffi:foreign-alloc
  +   :unsigned-short
  +   :initial-contents
  +   '(0 1 2
  +     2 3 0
  +     4 5 6
  +     6 7 4
  +     8 9 10
  +     10 11 8
  +     12 13 14
  +     14 15 12
  +     16 17 18
  +     18 19 16
  +     20 21 22
  +     22 23 20)))
   
   
   ;;Shader------------------------------------------------------------------------
  
positive.code: 	    (sb-cga:matrix*
  	     (sb-cga:rotate (vec3 0.0 0.0 (mod (/ (sdl2:get-ticks) 5000.0) (* 2 3.14159))))
  	     (sb-cga:translate (vec3 0.0 0.0 -1.0)))))
    (uniform :mat :perspective-matrix
    	   (vector (perspective-matrix 90.0 3/4 1.0 1000.0)))
    (gl:bind-buffer :array-buffer *position-buffer-object*)
    (%gl:enable-vertex-attrib-array 0)
    (%gl:vertex-attrib-pointer 0 4 :float :false 0 0)
  
    (gl:draw-arrays :triangles 0 3))
  
  
  (defmethod render ((window test-window))
  
negative.code:   ;; shader stuff
    (initialize-program)
  
    ;; vao
    (initialize-vao)
    
    ;; enable v-sync 0, disable with 0 TODO: test with moving triangle at high velocity
    ;; if tearing disappears, or if it is an os issue
  