diff options
-rw-r--r-- | progs/vp/psiz-mul.txt | 6 | ||||
-rw-r--r-- | progs/vp/vp-tris.c | 19 |
2 files changed, 25 insertions, 0 deletions
diff --git a/progs/vp/psiz-mul.txt b/progs/vp/psiz-mul.txt new file mode 100644 index 0000000000..a74df66de2 --- /dev/null +++ b/progs/vp/psiz-mul.txt @@ -0,0 +1,6 @@ +!!ARBvp1.0 +MOV result.color, vertex.color; +MUL result.pointsize, vertex.color.x, {10.0}.x; +MOV result.position, vertex.position; +END + diff --git a/progs/vp/vp-tris.c b/progs/vp/vp-tris.c index e9b2479c63..97995accdd 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; |