Module: Demos Branch: master Commit: 95cffb5ccd8461866425fbe5e33d262b21e1c992 URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=95cffb5ccd8461866425fbe5e33d262b21e1c992
Author: Brian Paul <[email protected]> Date: Thu Aug 8 11:51:37 2013 -0600 mipmap_limits: assorted fixes Display 'g' key for changing magnification filter. Reset the minification filter too when [space] is pressed. Rename some vars. --- src/tests/mipmap_limits.c | 36 +++++++++++++++++++++--------------- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/tests/mipmap_limits.c b/src/tests/mipmap_limits.c index fb297de..c7743fa 100644 --- a/src/tests/mipmap_limits.c +++ b/src/tests/mipmap_limits.c @@ -61,9 +61,9 @@ static GLint BaseLevel = 0, MaxLevel = 9; static GLfloat MinLod = -1, MaxLod = 9; static GLfloat LodBias = 0.0; -static GLboolean NearestFilter = GL_TRUE; static GLuint texImage, texColor, texCurrent; -static unsigned int min_filter; +static GLboolean MagNearestFilter = GL_TRUE; +static unsigned int MinFilterIndex = 0; static int Width = 600, Height = 600; static const struct @@ -90,7 +90,8 @@ InitValues(void) MinLod = -1; MaxLod = 9; LodBias = 0.0; - NearestFilter = GL_TRUE; + MagNearestFilter = GL_TRUE; + MinFilterIndex = 0; } @@ -233,7 +234,12 @@ print_info(void) glColor3f(1, 1, 1); glWindowPos2i(x, y); - sprintf(s, "MIN FILTER (f/F): %s", min_filters[min_filter].name); + sprintf(s, "MIN_FILTER (f/F): %s", min_filters[MinFilterIndex].name); + print_string(s); + y -= dy; + + glWindowPos2i(x, y); + sprintf(s, " MAG_FILTER (g): %s", MagNearestFilter ? "NEAREST" : "LINEAR"); print_string(s); y -= dy; @@ -285,8 +291,8 @@ display(void) printf ("BASE_LEVEL=%d MAX_LEVEL=%d MIN_LOD=%.2g MAX_LOD=%.2g Bias=%.2g Filter=%s/%s\n", - BaseLevel, MaxLevel, MinLod, MaxLod, LodBias, min_filters[min_filter].name, - NearestFilter ? "NEAREST" : "LINEAR"); + BaseLevel, MaxLevel, MinLod, MaxLod, LodBias, min_filters[MinFilterIndex].name, + MagNearestFilter ? "NEAREST" : "LINEAR"); fflush(stdout); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel); @@ -295,8 +301,8 @@ display(void) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, MinLod); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, MaxLod); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filters[min_filter].value); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, NearestFilter ? GL_NEAREST : GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filters[MinFilterIndex].value); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, MagNearestFilter ? GL_NEAREST : GL_LINEAR); glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias); @@ -392,17 +398,17 @@ key(unsigned char k, int x, int y) MaxLod += 0.25; break; case 'f': - if (!min_filter) - min_filter = sizeof(min_filters) / sizeof(*min_filters); - min_filter--; + if (MinFilterIndex == 0) + MinFilterIndex = sizeof(min_filters) / sizeof(*min_filters); + MinFilterIndex--; break; case 'F': - min_filter++; - if (min_filter == sizeof(min_filters) / sizeof(*min_filters)) - min_filter = 0; + MinFilterIndex++; + if (MinFilterIndex == sizeof(min_filters) / sizeof(*min_filters)) + MinFilterIndex = 0; break; case 'g': - NearestFilter = !NearestFilter; + MagNearestFilter = !MagNearestFilter; break; case 't': if (texCurrent == texColor) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
