summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--progs/vp/psiz-mul.txt6
-rw-r--r--progs/vp/vp-tris.c19
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;