diff options
Diffstat (limited to 'progs/vp/vp-tris.c')
-rw-r--r-- | progs/vp/vp-tris.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/progs/vp/vp-tris.c b/progs/vp/vp-tris.c index e9b2479c636..97995accdd1 100644 --- a/progs/vp/vp-tris.c +++ b/progs/vp/vp-tris.c @@ -18,6 +18,8 @@ static const char *filename = NULL; static GLuint nr_steps = 4; static GLuint prim = GL_TRIANGLES; static GLfloat psz = 1.0; +static GLboolean pointsmooth = 0; +static GLboolean program_point_size = 0; static void usage( char *name ) { @@ -188,6 +190,14 @@ static void subdiv( union vert *v0, } } +static void enable( GLenum value, GLboolean flag ) +{ + if (flag) + glEnable(value); + else + glDisable(value); +} + /** Assignment */ #define ASSIGN_3V( V, V0, V1, V2 ) \ do { \ @@ -202,6 +212,9 @@ static void Display( void ) glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glPointSize(psz); + enable( GL_POINT_SMOOTH, pointsmooth ); + enable( GL_VERTEX_PROGRAM_POINT_SIZE_ARB, program_point_size ); + glBegin(prim); @@ -259,6 +272,12 @@ static void Key( unsigned char key, int x, int y ) if (psz > .5) psz -= .5; break; + case 'm': + pointsmooth = !pointsmooth; + break; + case 'z': + program_point_size = !program_point_size; + break; case '+': nr_steps++; break; |