2016-07-11 12 views

答えて

3

テクスチャオブジェクトを照会して、what its texture target isを検索することはできません。それはあなたが覚えておかなければならないことです。だから、テクスチャが与えられていて、それがGL_TEXTURE_2D_MULTISAMPLEかどうかわからない場合は、の方法はすべての単一のテクスチャターゲットとしてバインドしようとしています。各バインドの後、OpenGLエラーが発生していないかどうかを確認してください。 でない場合は、それが正しいターゲットです。

ターゲットが何であるか分かったら、GL_TEXTURE_SAMPLESの列挙型を使用して、ミップマップレベル0のglGetTexLevelParameterでサンプル数を照会することができます。

上記のすべては、ARB_direct_state_access/OpenGL 4.5にアクセスできない場合に当てはまります。これらの新しいAPIでは、テクスチャのターゲットをもう知る必要はありません。テクスチャオブジェクト自体にglGetTextureLevelParameterを呼び出すことができます。 GL_TEXTURE_SAMPLESパラメータがゼロの場合、マルチサンプル画像ではありません。

+0

このケースでは必要ないように見えますが、OpenGL 4.5では 'glGetTextureLevelParameter(GL_TEXTURE_TARGET、...) 'を使ってテクスチャターゲットを問い合わせることができました。 –

+0

@RetoKoradi:ARB_direct_state_accessは 'GL_TEXTURE_TARGET'クエリを導入していますが、同時に完全に無意味なAPIを導入しています。アイロニー、あなたの名前はARBです... –

+0

これは前のコメントの 'glGetTextureParameteriv(GL_TEXTURE_TARGET、...)'だったはずです。ここではなくても、役に立つかもしれないと思います。 –

関連する問題