2017-02-16 2 views
-1

OpenGLで半透明の色でレンダリングされたときに、このポリゴンに穴があります(GLUtesselatorによる、テッセレーションされた三角形の縫い目に沿ったアーティファクトがあります)。これは不透明な色で描画されている場合、同じポリゴンにそのようなアーティファクトがないため、少し奇妙です。点線は、多角形の外側境界に内側の円から延長として見OpenGLで穴が開いた半透明のポリゴンに見えるアーティファクト(縫い目)

アーティファクト:

img

ポリゴンの内部に見られる

以上のアーティファクト:

img

それは出血のように表示され隣接する2つの三角形の端の間の色のアルファブレンディングから生成される。しかし、私はどのように問題を軽減するのか分からない。

誰もこの問題を以前に見たことがありますか?誰かが問題の原因と考えられる解決策を指摘できますか?

+0

これを構成するのに10-20ポリゴンを使用したのは間違いありませんか?テクスチャを使用していますか、それとも単なる色ですか?なぜ矩形には境界線がありますか? –

+4

関連コード部分を表示してください。 – BDL

+0

どの深さテストを使用しますか? – Spektre

答えて

1

OpenGLは、エッジを共有する2つの三角形を描画すると、カバーされた各フラグメントを正確に1回生成することができるため、アーチファクトのない半透明のポリゴンをレンダリングできます。

ただし、この保証は、そのエッジの頂点の両方がと一致する場合にのみ、2つの三角形の間にとなります。 GL_SMOOTH_POLYGONでポリゴンのアンチエイリアスを行っても保持されません。

関連するコードを見ずにここに何があるのか​​は分かりませんが、共有エッジの頂点の座標をチェックして、それらが同じかどうかを確かに確認します。

+0

あなたは正しいです。共有エッジの頂点の座標をチェックして、それらが同じかどうかを確認することができました。彼らは同じですが、私は彼らが思っていたものではありません。彼らは誤って丸められていたため、正確さが失われました。私はあなたから得た方向性に本当に感謝しています。さもなければ、私はまだ間違った木々で吠えるでしょう。 – SharpT

関連する問題