我在OpenGL中以半透明顏色渲染時會出現帶有多邊形的多邊形,它會顯示某些沿棋盤格三角形(GLUtesselator)的接縫處的僞像。這有點奇怪,因爲如果以不透明的顏色繪製相同的多邊形,則不會有這樣的僞影。視爲點線OpenGL中的半透明多邊形中看到的僞像(接縫)
工件從內圓延伸到多邊形的外邊界:
在多邊形的內部看到更多工件:
似乎狀出血從兩個相鄰三角形邊緣之間的顏色混合。但我不知道如何緩解這個問題。
有沒有人見過這個問題?或者有人能指出問題可能是什麼,併爲我提供了一個可能的解決方案?
我在OpenGL中以半透明顏色渲染時會出現帶有多邊形的多邊形,它會顯示某些沿棋盤格三角形(GLUtesselator)的接縫處的僞像。這有點奇怪,因爲如果以不透明的顏色繪製相同的多邊形,則不會有這樣的僞影。視爲點線OpenGL中的半透明多邊形中看到的僞像(接縫)
工件從內圓延伸到多邊形的外邊界:
在多邊形的內部看到更多工件:
似乎狀出血從兩個相鄰三角形邊緣之間的顏色混合。但我不知道如何緩解這個問題。
有沒有人見過這個問題?或者有人能指出問題可能是什麼,併爲我提供了一個可能的解決方案?
OpenGL保證繪製兩個共享一個邊的三角形只會產生一次覆蓋的片段,因此您可以渲染無僞像的半透明多邊形。
但是,只有在兩個三角形之間的邊緣的兩個頂點都是相同的時,此保證纔有效。此外,如果您使用GL_SMOOTH_POLYGON
反鋸齒您的多邊形,它將不會成立。
在看不到相關代碼的情況下,很難說出這裏的情況,但我肯定會檢查共享邊的頂點的座標,看它們是否相同。
你說得對。我能夠檢查共享邊的頂點座標,看它們是否相同。雖然他們是一樣的,但他們不是我認爲他們是。他們不正確的圓形,因此失去了精度。我很欣賞我從你那裏得到的方向;否則,我仍然會吠叫錯誤的樹木。 – SharpT
我看到它是正確的,你用10-20多邊形來組成這個?你使用紋理還是純色?爲什麼矩形有邊界? –
請顯示相關的代碼部分。 – BDL
你使用什麼深度測試? – Spektre