anchor.diff:    (initialize-vao)
   
     ;;texture
  -  ;; TODO: so in the shader we refer to the texture via this arbitrary index value?
  +  ;; here we associate the uniform sample with the texture image unit
     (use-program *programs-dict* :basic-projection)
     (uniform :int :test-texture *tex-unit*)
     (use-program *programs-dict* 0)
   
     ;; TODO: clean this up and do the tests
  -    ;; enable v-sync 0, disable with 0 TODO: test with moving triangle at high velocity
  +  ;; 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
     ;; (sdl2:gl-set-swap-interval 1) 
   
  
positive.code:   ;; (%gl:buffer-data :array-buffer 48 *triangle-data* :static-draw)
    ;; (initialize-program)
    ;; (gl:enable-vertex-attrib-array 0)
  )
  
  (defparameter *some-texture-data* (cffi:foreign-alloc :float :initial-contents '(0.5)))
  
  
negative.code:   ;; NEXT-TODO also glUniform1i(.., 1)... ?
    (%gl:active-texture (+ (cffi:foreign-enum-value '%gl:enum :texture0) *tex-unit*))
    (%gl:bind-texture :texture-1d *texture*)
    ;; associate the sampler object with the texture object and sampler uniform via the
    ;; "texture image unit"
    (%gl:bind-sampler *tex-unit* *sampler*)
    
    (%gl:draw-elements :triangles (* 36 2) :unsigned-short 0)
  