;; standard impromptu callback
(define opengl-loop
(lambda (time dur model1 model2 model3 degree)
(let ((v (now)))
(gl_render model1 model2 model3 degree)
(gl:swap-buffers glctx)
)
(callback (+ time (* dur .1)) 'opengl-loop (+ time dur) dur model1 model2 model3 (+ degree .5))))