このコードを使用して、ミップマップを使用するかどうかを切り替える画像を使用します。
if ( tex->hasMipMaps ) {
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR );
}
else {
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
}
ただし、これは発生します。
テーブルはミップマップなしでレンダリングされますが、レジスタテクスチャコードを次のように変更すると:
// if ( tex->hasMipMaps ) {
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR );
//}
//else {
// glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
// glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
//}
結果は次
のとおりです。ミップマップは機能しますが、フォントテクスチャが欠落しています。モデルなどのミップマップを使用するテクスチャと、フォント、パーティクルなどのミップマップを使用しないテクスチャの両方をレンダリングする方法はありますか?一部の状態を切り替えるには、glTexParameteriを呼び出す必要がありますか?