OSDN Git Service

added display list option (l key)
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 31 Jan 2004 19:57:25 +0000 (19:57 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 31 Jan 2004 19:57:25 +0000 (19:57 +0000)
progs/tests/vparray.c

index 1c513cf..580a670 100644 (file)
@@ -23,6 +23,7 @@ static GLfloat xrot;
 static GLfloat yrot;
 static GLboolean useArrays = GL_TRUE;
 static GLboolean useProgram = GL_TRUE;
+static GLboolean useList = GL_FALSE;
 
 
 static void read_surface( char *filename )
@@ -79,7 +80,16 @@ static void Display(void)
             glEnableClientState( GL_NORMAL_ARRAY );
          }
 
-         glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
+         if (useList) {
+            /* dumb, but a good test */
+            glNewList(1,GL_COMPILE);
+            glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
+            glEndList();
+            glCallList(1);
+         }
+         else {
+            glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
+         }
 
          glDisableClientState( GL_VERTEX_ATTRIB_ARRAY0_NV );
          glDisableClientState( GL_VERTEX_ATTRIB_ARRAY2_NV);
@@ -225,6 +235,10 @@ static void Key( unsigned char key, int x, int y )
       useArrays = !useArrays;
       printf("use arrays: %s\n", useArrays ? "yes" : "no");
       break;
+   case 'l':
+      useList = !useList;
+      printf("use list: %s\n", useList ? "yes" : "no");
+      break;
    case 'p':
       useProgram = !useProgram;
       printf("use program: %s\n", useProgram ? "yes" : "no");