diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2009-09-10 15:33:45 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2009-09-10 15:33:45 -0700 |
commit | b8e1e8d2d8ae6ffbf8f271b46ee89788a926b3b0 (patch) | |
tree | 5db502ab80287bfc8ff61082784017c7448464f5 /progs/tests/zreaddraw.c | |
parent | 81722c5d7e8e93d837510b9e6e5d014ec64cf4b3 (diff) | |
parent | d9dc4cb0e4f578da9e50c9d1ba6fd9c22ea2fca6 (diff) |
Merge branch 'master' into asm-shader-rework-2
Conflicts:
src/mesa/shader/lex.yy.c
src/mesa/shader/program_parse.tab.c
src/mesa/shader/program_parse.tab.h
Diffstat (limited to 'progs/tests/zreaddraw.c')
-rw-r--r-- | progs/tests/zreaddraw.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/progs/tests/zreaddraw.c b/progs/tests/zreaddraw.c index 2cbfeb6ff1..0821d5fb35 100644 --- a/progs/tests/zreaddraw.c +++ b/progs/tests/zreaddraw.c @@ -12,6 +12,7 @@ #include <GL/glut.h> static GLint WinWidth = 500, WinHeight = 500; +static GLboolean Invert = GL_FALSE; static void Display(void) @@ -24,6 +25,8 @@ static void Display(void) glClearColor(0.5, 0.5, 0.5, 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glEnable(GL_DEPTH_TEST); + /* draw a sphere */ glViewport(0, 0, 100, 100); glMatrixMode(GL_PROJECTION); @@ -46,8 +49,19 @@ static void Display(void) /* draw depth image with scaling (into z buffer) */ glPixelZoom(4.0, 4.0); + glColor4f(1, 0, 0, 0); glWindowPos2i(100, 0); + if (Invert) { + glPixelTransferf(GL_DEPTH_SCALE, -1.0); + glPixelTransferf(GL_DEPTH_BIAS, 1.0); + } glDrawPixels(100, 100, GL_DEPTH_COMPONENT, GL_FLOAT, depth); + if (Invert) { + glPixelTransferf(GL_DEPTH_SCALE, 1.0); + glPixelTransferf(GL_DEPTH_BIAS, 0.0); + } + + glDisable(GL_DEPTH_TEST); /* read back scaled depth image */ glReadPixels(100, 0, 400, 400, GL_DEPTH_COMPONENT, GL_FLOAT, depth2); @@ -72,6 +86,9 @@ static void Key(unsigned char key, int x, int y) (void) x; (void) y; switch (key) { + case 'i': + Invert = !Invert; + break; case 27: exit(0); break; @@ -96,7 +113,6 @@ static void Init(void) glLightfv(GL_LIGHT0, GL_POSITION, pos); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); - glEnable(GL_DEPTH_TEST); } |