title: Understanding the relationship between glutDisplayFunc and glutPostRedisplay
body: <p>When reading the redbook I found:</p>
  
  <blockquote>
    <p>glutDisplayFunc(void (*func)(void)) is
    the first and most important event
    callback function you will see.
    Whenever GLUT determines that the
    contents of the window need to be
    redisplayed, the callback function
    registered by glutDisplayFunc() is
    executed. Therefore, you should put
    all the routines you need to redraw
    the scene in the display callback
    function.</p>
    
    <p>If your program changes the contents
    of the window, sometimes you will have
    to call glutPostRedisplay(), which
    gives glutMainLoop() a nudge to call
    the registered display callback at its
    next opportunity</p>
  </blockquote>
  
  <p>Which are times in which glutPostRedisplay() should be called? From this paragraph, I don't understand why its functionality is needed. </p>