anchor.diff:  
   
   
  -(defvar *123-image-object* (image-file->image-object "123.png"))
  +(defvar *123-image-object-from-sdl-surface* (image-file->sdl-surface->image-object "123.png"))
   
   ;; the sdl-surface is a struct-object
   ;; (sdl2-ffi::sdl-surface-ptr *123-PNG-SDL-SURFACE*) ==> ptr
  
positive.code: 
  	 (uniform :int :test-texture *tex-unit-2*)
  
  	 (gl:tex-image-2d :texture-2d 0 :rgba8 20 20 0
  			  :rgba	;components per element
  			  :unsigned-byte ;; normalized integer
  			  *rgba-texture-data*)))))
  
  (defun draw-cube ()
    (gl:bind-vertex-array *vao*)
  
negative.code: 
  
  (defun image-file->image-object (path)
    (let ((img (convert-image-to-rgba (read-png-file path))))
      ;; first dim: height then width then length of pixel, here 4 because rgba
      (with-image-bounds (height width) img
        (make-instance 'image-object :height height :width width
  		     :pixels (3d-array->vector img)))))
  
  ;;print representation reads, intuitively, top-to-bottom just like the picture rendered
  ;;a 3d-array: 1.row 2.pixel 3. color-component
  (defvar *png-opticl* (image-file->image-object "foo.png"))
  
  ;;useful functions
  ;; (with-image-bounds (height width) *png-opticl*
  ;;   (list height width)) ; ==> (3 3)
  ;; (convert-image-to-rgba *PNG-OPTICL*)
  
  ;; since we're dealing with a simple array
  ;; (array-element-type <array>)
  