Yes I agree Kent. Your strategy for static initialisation, involving a glut function is the correct way to do it.
Statics are assigned values at the start of the program (zero or null by default). And it is not safe to make a Glut call at this stage, before Glut is set up.
So a one-shot block is required:
'statics always initialised to zero at start of prog
'
static sys lastTime,loops,once
static GLfloat fps
'
'one shot initialisation
'
if not once then
' this is assigned once
lastTime = glutGet GLUT_ELAPSED_TIME
once=1 'no repeat
end if
Charles