0

これらの行はどういう意味ですか、私はグーグルで検索しましたが、私が持っていないいくつかの事前の知識を前提としているため、理解できる答えを見つけることができませんでした。私はOpenGL-ESの経験はありませんが、Androidアプリ開発の経験は豊富です。

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,GL10.GL_REPEAT);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,GL10.GL_REPEAT);
4

2 に答える 2

4

これはかなり単純です。

最初の 2 行は、サイズが変更されたときにテクスチャをどう処理するかを GL に指示します。あなたの場合、テクスチャは、ダウンスケールされたとき(GL_TEXTURE_MIN_FILTER)にフィルタリング(GL_NEAREST)を使用せず、アップスケールされたとき(GL_TEXTURE_MAX_FILTER)に線形フィルタリング(GL_LINEAR)を使用する必要があります。そこでは、トリリニアろ過など、いくつかの他のオプションを使用できます。

後の 2 行は、GL が (0..1) 範囲外のテクスチャ座標に遭遇した場合に何をすべきかを指示します。あなたの場合、これは X(S) および Y(T) 軸でテクスチャの複製 (GL_REPEAT) につながるため、テクスチャ座標が通常の範囲を超えると、プリミティブでタイル化されたテクスチャが取得されます。

于 2012-12-29T10:18:44.030 に答える
2

最初の 2 行は、テクスチャが縮小または拡大されているときに、テクスチャをどうするかを GL に伝えます。

この場合、テクスチャのサイズが縮小される (テクスチャに含まれるピクセルよりも少ないピクセルを使用して、非常に小さなポリゴンにレンダリングされる) 場合、フィルタリングなしで、各スクリーン ピクセルに対してテクスチャから最も近いピクセルが選択されます。これにより、画像の鮮明さが保たれますが、視覚的なノイズが発生する可能性があります。

2 行目は、テクスチャが拡大されているとき (テクスチャの各ピクセルが多くのスクリーン ピクセルに引き伸ばされて、大きなポリゴンにレンダリングされているとき)、テクスチャを線形補間する必要があることを示しています。これにより、テクスチャ内のピクセルがぼやけ、個々のテクスチャ ピクセルが見えなくなり、滑らかなイメージが作成されます。

他の 2 行は、テクスチャ座標が 0 から 1 の範囲外にある場合、テクスチャを繰り返す必要があることを GL に伝えます。もう 1 つの一般的なオプションは、tex-coords が範囲外である領域にエッジが引き伸ばされるように、テクスチャを「クランプ」することです。

于 2012-12-29T10:16:11.240 に答える