(bind-func Texture
(lambda (type)
(let ((tex (Texture:[Texture*,i32,i32,i32,i32,i8*]* 0 type 0 0 null)))
(glGenTextures 1 (tref-ptr tex 0))
(gl_print_error "Error creating Texture")
(zone_cleanup (glDeleteTextures 1 (tref-ptr tex 0))
(gl_print_error "Error deleting Texture")
(free_image tex))
tex)))