anchor.diff:              (gl:tex-parameter :texture-2d :texture-min-filter :nearest)
               (gl:tex-parameter :texture-2d :texture-mag-filter :nearest)
   
  +            ;; Give it to opengl right away so we can use the faster
  +            ;; tex-sub-image later.
  +            ;; Also, the actual internal format is bgra, so it matches what
  +            ;; SDL is going to say about the surface we're going to create.
  +            (gl:tex-image-2d :texture-2d 0 :rgba
  +                             *texture-size* *texture-size*
  +                             0 :bgra :unsigned-byte tex)
  +
               (gl:matrix-mode :modelview)
               (gl:load-identity)
  -            (gl:clear-color 1.0 1.0 1.0 1.0)
  +            (gl:clear-color 0.0 0.0 0.0 1.0)
               (gl:clear :color-buffer)
   
               (sdl2:with-event-loop (:method :poll)
                 (:keyup () (sdl2:push-event :quit))
                 (:mousebuttondown () (sdl2:push-event :quit))
                 (:idle ()
  -                (render window width height margin tex)
  -                (sleep 0.1))
  +
  +                     (render window width height margin tex texname))
                 (:quit () t))
   
               (sdl2:destroy-renderer renderer)
  
positive.code:         (gl:enable :texture-2d)
          (gl-ortho-setup :width width :height height)
  
          (autowrap:with-alloc (tex :unsigned-char (* *texture-size* *texture-size* 4))
            (let* ((program (gl-init-shaders))
                   (texid (gl:get-uniform-location program "tex")))
              (%gl:active-texture :texture0)
              (gl:uniformi texid 0)
  
              (gl:tex-parameter :texture-2d :texture-wrap-s :repeat)
  
negative.code:   (asdf:load-system :cl-cairo2))
  
  (defparameter *vertex-shader* "
  varying vec2 texture_coordinate;
  void main() {
      texture_coordinate = vec2(gl_MultiTexCoord0);
      gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
  }
  ")
  
  (defparameter *fragment-shader* "
  #version 120
  
  varying vec2 texture_coordinate;
  uniform sampler2D tex;
  
  void main() {
      gl_FragColor = texture2D(tex, texture_coordinate);
  }
  ")
  
  