diff options
Diffstat (limited to 'progs/trivial/point-wide.c')
-rw-r--r-- | progs/trivial/point-wide.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/progs/trivial/point-wide.c b/progs/trivial/point-wide.c index 473ca043f1d..d1038ecfa15 100644 --- a/progs/trivial/point-wide.c +++ b/progs/trivial/point-wide.c @@ -33,6 +33,8 @@ GLenum doubleBuffer; +static GLboolean smooth = GL_FALSE; + static void Init(void) { @@ -58,6 +60,9 @@ static void Key(unsigned char key, int x, int y) { switch (key) { + case 's': + smooth = !smooth; + break; case 27: exit(1); default: @@ -73,6 +78,16 @@ static void Draw(void) glPointSize(8.0); + if (smooth) { + glEnable(GL_POINT_SMOOTH); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + else { + glDisable(GL_POINT_SMOOTH); + glDisable(GL_BLEND); + } + glBegin(GL_POINTS); glColor3f(1,0,0); glVertex3f( 0.9, -0.9, -30.0); @@ -122,7 +137,7 @@ int main(int argc, char **argv) glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250); - type = GLUT_RGB; + type = GLUT_RGB | GLUT_ALPHA; type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE; glutInitDisplayMode(type); |