X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=freeglut-1.3%2Ffreeglut_display.c;h=de198415fce2791c47d98365ea99cd0697c270f8;hb=074d49cf100b2aa810bf7086c4d7d910d5d00dfd;hp=900b9d0d39ba4f34f79350ac09aacaf01b0aa0df;hpb=4c26f132450ad50c9b5ccf43f143ff26d53722fd;p=freeglut diff --git a/freeglut-1.3/freeglut_display.c b/freeglut-1.3/freeglut_display.c index 900b9d0..de19841 100644 --- a/freeglut-1.3/freeglut_display.c +++ b/freeglut-1.3/freeglut_display.c @@ -92,6 +92,22 @@ void FGAPIENTRY glutSwapBuffers( void ) SwapBuffers( fgStructure.Window->Window.Device ); #endif + + /* GLUT_FPS env var support */ + if (fgState.FPSInterval) { + GLint t = glutGet(GLUT_ELAPSED_TIME); + fgState.SwapCount++; + if (fgState.SwapTime == 0) + fgState.SwapTime = t; + else if (t - fgState.SwapTime > fgState.FPSInterval) { + float time = 0.001f * (t - fgState.SwapTime); + float fps = (float) fgState.SwapCount / time; + fprintf(stderr, "freeglut: %d frames in %.2f seconds = %.2f FPS\n", + fgState.SwapCount, time, fps); + fgState.SwapTime = t; + fgState.SwapCount = 0; + } + } } /*