最初にテクスチャを作成したのは私であり、ロード/生成したミップマップの数を完全に把握している必要があります。私はユニットテストのためにこれをやっています。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;
}
)
とにかく、glGetTexLevelParameter()
NVidia GPU を使用している場合、存在しないミップマップに対して幅 0 を返しますが、Mesa では をGL_INVALID_VALUE
返します。
テクスチャに取り込んだミップマップ レベルを確認するにはどうすればよいですか?