I'd advise that first of all you get rid of that single-buffered context. I'd honestly love to see all GLUT tutorials that create a single-buffered context being consumed by a very large, very hot fire. You'd almost think that using double-buffered was in some way an advanced topic, but it's not - it's two lines of code.
Change this:To this:Code :
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH);
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
And at the end of your OnDisplay function, instead of glFlush or glFinish, use this:Code :
Now you've got a nice double-buffered context that will work better with the way your GPU is designed to work, so try things out and see what happens from there.