瀏覽代碼

More informative display of texture parameters.

tags/mesa_3_5
Gareth Hughes 24 年之前
父節點
當前提交
53933fe9db
共有 1 個檔案被更改,包括 34 行新增5 行删除
  1. 34
    5
      progs/demos/texenv.c

+ 34
- 5
progs/demos/texenv.c 查看文件

@@ -530,6 +530,32 @@ static void drawCheck( int w, int h, const GLfloat lightCheck[4],
}
}

static const char *lookupFormat( GLint format )
{
switch ( format ) {
case GL_RGBA:
return "GL_RGBA";
case GL_RGB:
return "GL_RGB";
case GL_ALPHA:
return "GL_ALPHA";
case GL_LUMINANCE:
return "GL_LUMINANCE";
case GL_LUMINANCE_ALPHA:
return "GL_LUMINANCE_ALPHA";
case GL_INTENSITY:
return "GL_INTENSITY";
case GL_COLOR_INDEX:
return "GL_COLOR_INDEX";
case GL_BGRA:
return "GL_BGRA";
case GL_BGR:
return "GL_BGR";
default:
return "unknown format";
}
}

static void drawSample( int x, int y, int w, int h,
const struct formatInfo *format,
const struct envModeInfo *envMode )
@@ -612,7 +638,7 @@ static void drawSample( int x, int y, int w, int h,
end2D();
}
else if ( displayLevelInfo ) {
GLint width, height, border, components;
GLint width, height, border, format;
GLint redSize, greenSize, blueSize, alphaSize;
GLint luminanceSize, intensitySize;
char buf[255];
@@ -620,7 +646,7 @@ static void drawSample( int x, int y, int w, int h,
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_BORDER, &border );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_COMPONENTS, &components );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_RED_SIZE, &redSize );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_SIZE, &greenSize );
glGetTexLevelParameteriv( GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_SIZE, &blueSize );
@@ -635,16 +661,19 @@ static void drawSample( int x, int y, int w, int h,
sprintf( buf, "border: %d", border );
drawStringOutline( buf, 15, h / 2 + 10, labelLevelColor0, labelLevelColor1 );

sprintf( buf, "components: 0x%04X", components );
sprintf( buf, "internal format:" );
drawStringOutline( buf, 15, h / 2, labelLevelColor0, labelLevelColor1 );

sprintf( buf, "sizes:" );
sprintf( buf, " %s", lookupFormat( format ) );
drawStringOutline( buf, 15, h / 2 - 10, labelLevelColor0, labelLevelColor1 );

sprintf( buf, "sizes:" );
drawStringOutline( buf, 15, h / 2 - 20, labelLevelColor0, labelLevelColor1 );

sprintf( buf, " %d / %d / %d / %d / %d / %d",
redSize, greenSize, blueSize, alphaSize,
luminanceSize, intensitySize );
drawStringOutline( buf, 15, h / 2 - 20, labelLevelColor0, labelLevelColor1 );
drawStringOutline( buf, 15, h / 2 - 30, labelLevelColor0, labelLevelColor1 );

end2D();
}

Loading…
取消
儲存