anchor.diff:  
   (defun set-projection ()
     ;sets the projection matrix appropriately
  -  ;needs to be called when window is being resized or *zoom*/*scroll* have changed 
  +  ;needs to be called when window is being resized or *zoom*/*scroll* have changed
     (gl:matrix-mode :projection)
     (gl:load-identity)
     (let* ((x (x *scroll*))
  
positive.code:                                         ;(format t "~a ~%" (gl:get-shader-info-log vertex-shader))
  
                                          ;(format t "~a ~%" (gl:get-shader-info-log fragment-shader))
      
        (gl:attach-shader program vertex-shader)
        (gl:attach-shader program fragment-shader)
     
        (gl:link-program program)
  
        (format t "~a~%" (gl:get-program-info-log program))
                                          ;(gl:use-program program)
        (setf (getf *shaders* name) program))))
     
  
      
  
negative.code:     (draw  *selection-rectangle*)))
  
  (defun bind-texture (thing identifier use-shader)
  
    (let ((texture (if (or
                        (not (owned thing))
                        (symbolp (owner thing)))
                       (gethash identifier *textures*) ;does not belong to a real player
                     (gethash identifier (textures (owner thing))))))
      (when texture
        (gl:active-texture :texture0)
        (gl:bind-texture :texture-2d texture)
        (when use-shader
          (gl:uniformi (gl:get-uniform-location *current-shader* "base-texture") 0)))
  
      texture))
    ;|#())
  
  