We may register with GLUT any function as the current idle function. An idle function is one that is executed when the event queue is empty. We register animation as our idle function for this example. Thus, our registered idle function will be repeatedly executed, pausing only when user interaction needs to be handled.