0

白い背景でジオメトリをレンダリングしようとしています。問題は、ランダムな白い点がジオメトリ内に表示されることです。ウィンドウのサイズを変更すると、白い点の位置が切り替わります...ジオメトリ内でランダムに表示されたり消えたりします(ウィンドウのサイズを変更している間)。

広範なテストを行った結果、ドットは 2 つの三角形の間のエッジにのみ表示されることがわかりました。両方の三角形がそのピクセルのレンダリングに失敗したように見えるため (そのピクセルがどの三角形にも含まれていないかのように)、白い背景がレンダリングされます。これらの境界線の数ピクセルだけが白であることに注意してください (すべてではありません)。また、ポリゴンを無地の色 (シェーダー内で直接設定) でレンダリングしても問題が発生するため、テクスチャ フィルタリングの問題ではありません。

実際には、OpenGL 実装が 2 つの隣接する三角形の境界にあるいくつかのピクセルを検出できないという、ある種のヒット テストの問題のようです。

この例は、NVIDIA GeForce GTX 675MX を搭載した 27 インチの iMac で実行しています。Intel Integrated Graphics Card を搭載した MacBook で、この同じアプリケーションをテストします。

誰かがこのトピックに光を当てることができますか?

4

1 に答える 1

0

ありがとう@デーモン。頂点がまったく同じではないという問題を解決しました。真の問題は、(設計上) 一部の頂点が 2 つの三角形の交点にとどまる必要があることです。これにより、OpenGL で問題が発生していました。解決策は、頂点を少し下 (三角形の内側) に移動し、それに応じてテクスチャ座標を調整することでした。

どうもありがとう!

于 2013-03-05T16:39:30.873 に答える