(define gl-loop
(lambda (time delta-t)
(let ((next-frame-time (+ time (* *second* delta-t))))
(position_update)
(if (not (> (now) next-frame-time))
(gl_draw_particles))
(callback next-frame-time
'gl-loop
next-frame-time
delta-t))))