【发布时间】:2012-03-23 06:21:59
【问题描述】:
没关系,我是首先创建纹理的人,我应该非常清楚我为它加载/生成了多少 mipmap。我这样做是为了进行单元测试。似乎没有 glGetTexParameter 参数来找出这个问题。我最接近的是这样的:
int max_level;
glGetTexParameter( GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, &max_level );
int max_mipmap = -1;
for ( int i = 0; i < max_level; ++i )
{
int width;
glGetTexLevelParameter( GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &width );
if ( 0 == width )
{
max_mipmap = i-1;
break;
}
)
无论如何,如果我使用 NVidia GPU,glGetTexLevelParameter() 将为不存在的 mipmap 返回 0 宽度,但使用 Mesa,它返回 GL_INVALID_VALUE,这让我相信这是非常错误的 要做的事情。
如何找出我使用哪些 mipmap 级别填充纹理?
【问题讨论】:
标签: opengl textures pyopengl mipmaps