added FPS calculation
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 15 Sep 2000 16:43:57 +0000 (16:43 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 15 Sep 2000 16:43:57 +0000 (16:43 +0000)
progs/demos/reflect.c

index 952a7f755c9fc1fd77b079b79a4d081e5cdd44d4..6713e042f604089c5ba3c7c5e36968536343a2bd 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: reflect.c,v 1.3 2000/06/15 14:25:48 brianp Exp $ */
+/* $Id: reflect.c,v 1.4 2000/09/15 16:43:57 brianp Exp $ */
 
 /*
  * Demo of a reflective, texture-mapped surface with OpenGL.
@@ -54,6 +54,9 @@ static GLfloat spin;
 static GLint Width = 400, Height = 300;
 static GLenum ShowBuffer = GL_NONE;
 
+/* performance info */
+static GLint T0 = 0;
+static GLint Frames = 0;
 
 
 static void make_table( void )
@@ -295,6 +298,18 @@ static void draw_scene( void )
    }
 
    glutSwapBuffers();
+
+   {
+      GLint t = glutGet(GLUT_ELAPSED_TIME);
+      Frames++;
+      if (t - T0 >= 5000) {
+         GLfloat seconds = (t - T0) / 1000.0;
+         GLfloat fps = Frames / seconds;
+         printf("%d frames in %g seconds = %g FPS\n", Frames, seconds, fps);
+         T0 = t;
+         Frames = 0;
+      }
+   }
 }