anchor.diff:      (trivial-garbage:cancel-finalization this)
       (setf (gethash (key this) *uncollected*) this)
       (trivial-garbage:finalize this 
  -			      (let ((id-value (id this))
  -				    (tex-id-value tex-id)
  +			      (let ((tex-id-value tex-id)
   				    (key (key this)))
   				(lambda () (sdl2:in-main-thread (:background t)
   					     (remhash key *uncollected*)
  -					     (gl:delete-buffers (list id-value))
   					     (gl:delete-textures (list tex-id-value))))))
       
       (gl:bind-texture :texture-2d (tex-id this))
  
positive.code:   (gl:bind-texture :texture-2d (tex-id this)))
  
  
  (defmethod unload :before ((this texture) &key)
    "Unloads the texture. Also cancels gc finalization."
    (trivial-garbage:cancel-finalization this)
    (remhash (key this) *uncollected*)
  
negative.code:   (gl:bind-texture  :texture-2d (tex-id this))
    (gl:Tex-Image-2D :texture-2d 0 (internal-format this)  (width this) (height this) 0 :bgra (cffi-type->gl-type (qtype this)) (cffi:null-pointer))
    
    (gl:bind-texture :texture-2d 0)))
    ;(gl:bind-buffer (target this) 0)))
  
  
  (defmethod bind-sampler ((this texture) shader-program name tex-unit)
  