egl: remove duplicate ARRAY_SIZE() macro declaration
[mesa.git] / progs / demos / cubemap.c
index 0df5ff09c33acc3276addde7e382e699194bfa4e..3e79d6a55890ce513ee6a0425a459c7642b3196c 100644 (file)
@@ -58,6 +58,9 @@ static GLint ClampIndex = 0;
 static GLboolean supportFBO = GL_FALSE;
 static GLboolean supportSeamless = GL_FALSE;
 static GLboolean seamless = GL_FALSE;
+static GLuint TexObj = 0;
+static GLint T0 = 0;
+static GLint Frames = 0;
 
 
 static struct {
@@ -282,6 +285,20 @@ static void draw( void )
    glPopMatrix();
 
    glutSwapBuffers();
+
+   Frames++;
+
+   {
+      GLint t = glutGet(GLUT_ELAPSED_TIME);
+      if (t - T0 >= 5000) {
+        GLfloat seconds = (t - T0) / 1000.0;
+        GLfloat fps = Frames / seconds;
+        printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
+        fflush(stdout);
+        T0 = t;
+        Frames = 0;
+      }
+   }
 }
 
 
@@ -543,6 +560,10 @@ static void init( GLboolean useImageFiles )
 
    printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
 
+
+   glGenTextures(1, &TexObj);
+   glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, TexObj);
+
    if (useImageFiles) {
       load_envmaps();
    }
@@ -592,9 +613,8 @@ static void parse_args(int argc, char *argv[])
 
 int main( int argc, char *argv[] )
 {
-   glutInit(&argc, argv);
-   glutInitWindowPosition(0, 0);
    glutInitWindowSize(600, 500);
+   glutInit(&argc, argv);
    glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
    glutCreateWindow("Texture Cube Mapping");
    glewInit();