anchor.diff:    (gl:load-identity))
   
   (defun load-texture (path)
  +  "load 2d texture"
     (let* ((image (sdl2-image:load-image path))
   	 (surface-data (sdl2:surface-pixels image))
   	 (width (sdl2:surface-width image))
  
positive.code:   (/ y spritesheet-height))
  
  (defun draw (px0 py0 px1 py1 spritesheet-width spritesheet-height &key (xshift 0) (yshift 0))
    (gl:enable :blend)
    (gl:blend-func :src-alpha :one-minus-src-alpha)
    (let* ((tx0 (pixel-x-to-texcoord px0 spritesheet-width))
  
negative.code: 	 collect rows)))
  
  (defun make-frame-list (path frames number-of-columns number-of-rows sprite-column-start sprite-column-end sprite-row-start sprite-row-end)
    "Makes a list of coordinates from the collected row and sprite coordinates. Use for animating a sprite is reccommended. Sprite row end is zero unless you want to collect the sprite frames vertically.")
    (loop for columns in (column-list frames sprite-column-start sprite-column-end)
         for rows in (row-list frames sprite-row-start sprite-row-end)
         collect (pixel-coord-list path number-of-columns number-of-rows columns rows)))
  