+ (let ((image (sdl2:load-image filename))
+ (texture #f)
+ (w/2 0)
+ (h/2 0))
+ (lambda* ()
+ (when (not texture)
+ (set! texture (sdl2:surface->texture %sdl-renderer image))
+ (set! w/2 (/ (sdl2:surface-width image) 2))
+ (set! h/2 (/ (sdl2:surface-height image) 2)))
+ (gl-enable (oes-framebuffer-object texture-2d))
+ (sdl2:bind-texture texture)
+ (gl-begin (begin-mode quads)
+ (gl-texture-coordinates 0 0)
+ (gl-vertex (- w/2) h/2 0)
+ (gl-texture-coordinates 1 0)
+ (gl-vertex w/2 h/2 0)
+ (gl-texture-coordinates 1 1)
+ (gl-vertex w/2 (- h/2) 0)
+ (gl-texture-coordinates 0 1)
+ (gl-vertex (- w/2) (- h/2) 0))
+ (gl-disable (oes-framebuffer-object texture-2d))))))