anchor.diff:       0.5 0.5 -0.5			;4
        0.5 -0.5 -0.5			;5
        -0.5 -0.5 -0.5			;6
  -     -0.5 0.5 -0.5)))			;7
  +     -0.5 0.5 -0.5                      ;7
  +     ;;color data
  +     0.1 0.1 0.1			;8
  +     0.2 0.2 0.2			;9
  +     0.3 0.3 0.3			;10
  +     0.4 0.4 0.4			;11
  +     0.5 0.5 0.5			;12
  +     0.6 0.6 0.6 			;13
  +     0.7 0.7 0.7			;14
  +     0.8 0.8 0.8)))	         	;15
  +
  +(defvar *cube-colors*
  +  (cffi:foreign-alloc
  +   :float
  +   :initial-contents
  +   '(0.1 0.1 0.1
  +     0.2 0.2 0.2
  +     0.3 0.3 0.3
  +     0.4 0.4 0.4
  +     0.5 0.5 0.5
  +     0.6 0.6 0.6
  +     0.7 0.7 0.7
  +     0.8 0.8 0.8)))
   
   (defvar *cube-indices*
     (cffi:foreign-alloc
  
positive.code:     (gl:bind-vertex-array vao)
      ;;VBO
      (gl:bind-buffer :array-buffer vbo)
      (%gl:buffer-data :array-buffer (* 24 4 3) *cube-data* :static-draw)
      (%gl:enable-vertex-attrib-array 0)
      ;;                           v-TODO this means 3 floats make up a vertex, right?
      (%gl:vertex-attrib-pointer 0 3 :float :false 0 0)
      ;;IBO
      (gl:bind-buffer :element-array-buffer ibo)
      (%gl:buffer-data :element-array-buffer (* 36 2) *cube-indices* :static-draw)
  
negative.code: 
  (defmethod mousewheel-event ((window test-window) ts x y)
    (with-slots (rotation) window
      (incf *rotate-x* 0.2)
      (print (list x y))
      (render window))
    ;; (format t "Mousewheel-event issued ts:~a x:~x y:~y" ts x y)
    )
  