invisible
diff src/main.cc @ 25:96b022f1210e
'w' to switch to wireframe
author | Eleni Maria Stea <eleni@mutantstargoat.com> |
---|---|
date | Sun, 17 Nov 2013 12:46:45 +0200 |
parents | b50ad2711f5f |
children | 61d593076c56 |
line diff
1.1 --- a/src/main.cc Sun Nov 17 00:15:04 2013 +0200 1.2 +++ b/src/main.cc Sun Nov 17 12:46:45 2013 +0200 1.3 @@ -21,14 +21,15 @@ 1.4 static const char *filename = "data/textures/wallpaper.jpg"; 1.5 static const char *vsdr_path = "data/shaders/invisible.v.glsl"; 1.6 static const char *fsdr_path = "data/shaders/invisible.f.glsl"; 1.7 +static unsigned char tex; 1.8 static unsigned int sprog; 1.9 static unsigned int drawing; 1.10 static unsigned int debugging; 1.11 -static unsigned char tex; 1.12 static int tex_height; 1.13 static int tex_width; 1.14 static float aspect; 1.15 static bool show; 1.16 +static bool wireframe; 1.17 1.18 static void cleanup(); 1.19 static bool init(); 1.20 @@ -89,6 +90,10 @@ 1.21 glUseProgram(sprog); 1.22 1.23 // draw video frame 1.24 + 1.25 + if(wireframe) 1.26 + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); 1.27 + 1.28 glMatrixMode(GL_MODELVIEW); 1.29 glPushMatrix(); 1.30 glTranslatef(0, 0, -QUAD_DIST); 1.31 @@ -112,6 +117,9 @@ 1.32 1.33 glUseProgram(0); 1.34 1.35 + if(wireframe) 1.36 + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); 1.37 + 1.38 if(show) 1.39 glCallList(debugging); 1.40 glFlush(); 1.41 @@ -133,10 +141,10 @@ 1.42 { 1.43 switch(key) { 1.44 case 's': 1.45 - if(show) 1.46 - show = false; 1.47 - else 1.48 - show = true; 1.49 + show = show ? false : true; 1.50 + break; 1.51 + case 'w': 1.52 + wireframe = wireframe ? false : true; 1.53 break; 1.54 case 27: 1.55 exit(0);