anchor.diff:    ;; associate the sampler object with the texture object and sampler uniform via the
     ;; "texture image unit", here, called *tex-unit*
     (%gl:bind-sampler *tex-unit* *sampler*)
  -  
  +
     ;(%gl:draw-elements :triangles (* 36 2) :unsigned-short 0)
     (%gl:draw-arrays :triangles 0 (* 2 36))
   
  
positive.code: 
      ;; This process of transfering the user provided data representation to a texture image
      ;; is called _/pixel transfer/_!
      
      ;; Both is accomplied using gl:tex-image-*, which describes how we allocate storage
      ;; and pass data to the texture, like gl:buffer-data
      ;; the parameters:
  
negative.code: (defgeneric uniform (type key value)
    (:method ((type (eql :vec)) key value)
      (uniformfv *programs-dict* key value))
  
    (:method ((type (eql :vec)) key value)
      (uniformfv *programs-dict* key value))
  
    (:method ((type (eql :mat)) key value)
      ;; nice, transpose is NIL by default!
      (uniform-matrix *programs-dict* key 4 value NIL))
  
    (:method ((type (eql :int)) key value)
      (uniformi *programs-dict* key value)))
  
  