glutMainLoopは仕様上、実行されたが最後、呼び出し元に戻ることはできない。 GLUTでの終了時のメモリの開放はOSに任せている。ただ、プロセス中に一時グラフィック表示をする場合、glutMainLoopから抜ける必要がある。そのために使う関数はfreeGLUTに用意されている。freeglutの使用はヘッダファイルのインクルードが必要である。
#include <GL/freeglut.h>
glutMainLoop()に入る前に、glutSetOptionにて以下を指定する。
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS); … … glutMainLoop();
glutMainLoop()から抜ける場合はglutLeaveMainLoop()を使う。
glutLeaveMainLoop();