Mesa (master): progs/tests: add line drawing option to cylwrap.c

Michał Król michal at kemper.freedesktop.org
Tue Feb 9 14:35:34 UTC 2010


Module: Mesa
Branch: master
Commit: fd6701029b15260ecf26d4139defc51cd8546ee7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd6701029b15260ecf26d4139defc51cd8546ee7

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Feb  5 10:54:40 2010 -0700

progs/tests: add line drawing option to cylwrap.c

---

 progs/tests/cylwrap.c |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/progs/tests/cylwrap.c b/progs/tests/cylwrap.c
index 95d4644..2b32f11 100644
--- a/progs/tests/cylwrap.c
+++ b/progs/tests/cylwrap.c
@@ -12,6 +12,7 @@ static int Win;
 static int WinWidth = 600, WinHeight = 400;
 static GLfloat Xrot = 0, Yrot = 0;
 static GLboolean CylWrap = GL_TRUE;
+static GLboolean Lines = GL_FALSE;
 
 
 
@@ -32,17 +33,35 @@ DrawSample(GLboolean wrap)
 
    glEnable(GL_TEXTURE_2D);
 
-   /* texured quad */
-   glBegin(GL_QUAD_STRIP);
-   for (p = 0.0; p <= 1.001; p += 0.1) {
-      float x = -2.0 + p * 4.0;
-      float s = p + 0.5;
-      if (wrap && s > 1.0)
-         s -= 1.0;
-      glTexCoord2f(s, 0);  glVertex2f(x, -1);
-      glTexCoord2f(s, 1);  glVertex2f(x, +1);
+   if (Lines) {
+      /* texured lines */
+      float t;
+      for (t = 0; t <= 1.0; t += 0.125) {
+         float y = -1.0 + 2.0 * t;
+         glBegin(GL_LINE_STRIP);
+         for (p = 0.0; p <= 1.001; p += 0.05) {
+            float x = -2.0 + p * 4.0;
+            float s = p + 0.5;
+            if (wrap && s > 1.0)
+               s -= 1.0;
+            glTexCoord2f(s, t);  glVertex2f(x, y);
+         }
+         glEnd();
+      }
+   }
+   else {
+      /* texured quads */
+      glBegin(GL_QUAD_STRIP);
+      for (p = 0.0; p <= 1.001; p += 0.1) {
+         float x = -2.0 + p * 4.0;
+         float s = p + 0.5;
+         if (wrap && s > 1.0)
+            s -= 1.0;
+         glTexCoord2f(s, 0);  glVertex2f(x, -1);
+         glTexCoord2f(s, 1);  glVertex2f(x, +1);
+      }
+      glEnd();
    }
-   glEnd();
 
    glDisable(GL_TEXTURE_2D);
 
@@ -138,6 +157,10 @@ Key(unsigned char key, int x, int y)
       else
          printf("Cylindrical wrap off.\n");
       break;
+   case 'l':
+   case 'L':
+      Lines = !Lines;
+      break;
    case 27:
       glutDestroyWindow(Win);
       exit(0);
@@ -215,6 +238,7 @@ Init(void)
    glPointSize(3.0);
 
    printf("Press 'c' to toggle cylindrical wrap mode.\n");
+   printf("Press 'l' to toggle line / quad drawing.\n");
 }
 
 




More information about the mesa-commit mailing list