3

テクスチャ マッピングを行っている GL_QUAD_STRIP があります。クワッド ストリップはそれ自体に折り返されて、UV 球体を形成します。基本的に、クワッド ストリップは一般に長方形ではなく、台形でできています。

テクスチャの歪みの問題が発生しています。テクスチャの座標が正しい (たとえば、適切な位置に正しく整列している)。問題は台形面自体にあります。

台形の面の大きい方の端に向かうテクセルは、より広い領域を占めると予想しますが、面は 2 つの三角形に分割されているように見えます。これは、アフィン テクスチャ マッピングに似ています (ただし、そうではないと思います。それでもパースペクティブは正しいように見えますが、とにかく使用されるとは思いません)。

グラフィックカードは通常、内部で四角形を三角形に縮小することを認識していますが、それがテクスチャリングに影響するとは思わないでしょう。. .

だから、私はここで何が起こっているのか分かりません。何かご意見は?

望ましくない動作の例を次に示します。低解像度のグローブ テクスチャ、ニアレスト フィルタリング、ミップマップまたは異方性なし: ここに画像の説明を入力

4

2 に答える 2

4

これは、単純な四角形をテクスチャリングする際の古典的な問題です。これは (ご想像のとおり) クワッドが個々の三角形に分割されているためです。これらの三角形は、個別にテクスチャリングされます。

問題は、三角形内のテクスチャ座標が頂点から線形に補間されることです (遠近法は正しいですが、これはここでは役に立ちません)。この台形の 4 番目の頂点を認識しないラスタライザーとしてイメージできます。個々の三角形のみが表示されます。したがって、三角形のテクスチャ空間への変換は完全にアフィンであると想定され、三角形は平行四辺形の一部であると想定されます。

これに取り組むために必要なことは、単純な 2D texcoords の代わりに完全な 4 次元テクスチャ座標を使用して、単純な 2D アフィン テクスチャ空間から射影テクスチャ空間に移行することです。基本的に、GL がパースペクティブ補正補間で既に行っていることを行いますが、テクスチャ座標には独自のパースペクティブ プロジェクションを使用します (頂点位置に対して既に行われているパースペクティブ プロジェクションに加えて)。

于 2012-05-31T14:25:58.313 に答える
-1

(完全に正方形になるように) 正面からレンダリングした場合、各セクションは正しくレンダリングされますか?

レンダリングする前に、次のコマンドを試すことができます。

glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

GL_PERSPECTIVE_CORRECTION_HINT色、テクスチャ座標、フォグ座標補間の品質を示します。パースペクティブ補正されたパラメーター補間が GL 実装で効率的にサポートされていない場合、GL_DONT_CARE または GL_FASTEST をヒンティングすると、色やテクスチャ座標の単純な線形補間が行われる可能性があります。

于 2012-05-31T13:05:10.860 に答える