From 3ef51b4bd98648f3141b3c6978db312f2f6c782e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 19 Feb 2010 11:12:20 -0700 Subject: [PATCH] progs/tests: new zbitmap.c test to exercize Z testing of glBitmap --- progs/tests/.gitignore | 1 + progs/tests/Makefile | 1 + progs/tests/SConscript | 1 + progs/tests/zbitmap.c | 127 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 progs/tests/zbitmap.c diff --git a/progs/tests/.gitignore b/progs/tests/.gitignore index 8b3e9f35583..d905fab6117 100644 --- a/progs/tests/.gitignore +++ b/progs/tests/.gitignore @@ -104,6 +104,7 @@ vptorus vpwarpmesh yuvrect yuvsquare +zbitmap zcomp zdrawpix zreaddraw diff --git a/progs/tests/Makefile b/progs/tests/Makefile index d33415ab052..6c78abcf5e0 100644 --- a/progs/tests/Makefile +++ b/progs/tests/Makefile @@ -120,6 +120,7 @@ SOURCES = \ vpwarpmesh.c \ yuvrect.c \ yuvsquare.c \ + zbitmap.c \ zcomp.c \ zdrawpix.c \ zreaddraw.c diff --git a/progs/tests/SConscript b/progs/tests/SConscript index 04e4bdf8c22..3580ba914db 100644 --- a/progs/tests/SConscript +++ b/progs/tests/SConscript @@ -118,6 +118,7 @@ progs = [ 'vpwarpmesh', 'yuvrect', 'yuvsquare', + 'zbitmap', 'zcomp', 'zdrawpix', 'zreaddraw', diff --git a/progs/tests/zbitmap.c b/progs/tests/zbitmap.c new file mode 100644 index 00000000000..45cb7543c2a --- /dev/null +++ b/progs/tests/zbitmap.c @@ -0,0 +1,127 @@ +/* + * Test Z values of glBitmap. + * Brian Paul + * 19 Feb 2010 + */ + + +#include +#include +#include +#include +#include +#include +#include + + +static GLint Win = 0; + + +static void +PrintString(const char *s) +{ + while (*s) { + glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s); + s++; + } +} + + +static void +Display(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(-3.0, 3.0, -3.0, 3.0, -2.0, 2.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glColor3f(1, 1, 1); + glRasterPos2f(-2.0, 2.6); + PrintString("Z = -1.0"); + glRasterPos2f(-0.5, 2.6); + PrintString("Z = 0.0"); + glRasterPos2f(1.0, 2.6); + PrintString("Z = 1.0"); + + glColor3f(0, 0.4, 0.6); + glBegin(GL_QUADS); + glVertex3f(-2.0, -2.5, -1); + glVertex3f(-1.0, -2.5, -1); + glVertex3f(-1.0, 2.5, -1); + glVertex3f(-2.0, 2.5, -1); + + glVertex3f(-0.5, -2.5, 0); + glVertex3f(0.5, -2.5, 0); + glVertex3f(0.5, 2.5, 0); + glVertex3f(-0.5, 2.5, 0); + + glVertex3f(1.0, -2.5, 1); + glVertex3f(2.0, -2.5, 1); + glVertex3f(2.0, 2.5, 1); + glVertex3f(1.0, 2.5, 1); + glEnd(); + + glColor3f(1, 1, 1); + + glRasterPos3f(-2.0, -1, -1.0); + PrintString("This is a bitmap string drawn at z = -1.0"); + + glRasterPos3f(-2.0, 0, 0.0); + PrintString("This is a bitmap string drawn at z = 0.0"); + + glRasterPos3f(-2.0, 1, 1.0); + PrintString("This is a bitmap string drawn at z = 1.0"); + + glRasterPos3f(-1.5, -2.8, 0.0); + PrintString("GL_DEPTH_FUNC = GL_LEQUAL"); + + glutSwapBuffers(); +} + + +static void +Reshape(int width, int height) +{ + glViewport(0, 0, width, height); +} + + +static void +Key(unsigned char key, int x, int y) +{ + if (key == 27) { + glutDestroyWindow(Win); + exit(0); + } + glutPostRedisplay(); +} + + +static void +Init(void) +{ + glClearColor(0.25, 0.25, 0.25, 0.0); + glDepthFunc(GL_LEQUAL); + glEnable(GL_DEPTH_TEST); +} + + +int +main(int argc, char *argv[]) +{ + glutInitWindowSize(400, 400); + glutInit(&argc, argv); + glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); + Win = glutCreateWindow(argv[0]); + glewInit(); + glutReshapeFunc(Reshape); + glutKeyboardFunc(Key); + glutDisplayFunc(Display); + Init(); + glutMainLoop(); + return 0; +} -- 2.30.2