2012-10-04 198 views
0

我正在做一個天空盒之間和各紋理之間有一個很小的白線, 頂點座標&紋理似乎是確定(這只是1和-1所以我不白線我看不出有什麼辦法可以在那裏失敗)。的OpenGL ES:避免紋理

有什麼辦法解決這個問題?

回答

2

TL; DR:平凡解:使用立方體貼圖代替。

說明:

(這只是1和-1,所以我看不出有什麼辦法,我可以有失敗)

好,紋理座標-1和1,不要不會落入像素中心。這基本上是一個柵欄柱問題,我解釋了在這裏

https://stackoverflow.com/a/5879551/524368

注意,在天空盒的情況下,問題是平凡迴避,不使用六個單獨繪製四邊形,6個不同的紋理,而是使用立方體貼圖紋理,其中六面包含在像拓撲結構的球體中的一個連續圖像內。

+0

我聽說有一種方法可以強制openGL顯示紋理的最後一個像素線,而不是畫白線,但我找不到這個函數:s 我更喜歡找到這種解決辦法不是改變打印我的紋理方式(太多變化...:S) – IggY

+1

@IggY是的,這意味着適當設置包裝模式:'glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE)',同樣對於T座標。雖然這可能會干擾你的texCoords從-1到1,你將不得不將它們從0改爲1.但是datenwolf *說的仍然是這種特殊情況下的最佳解決方案(也可能比5更快在5個不同的紋理之間綁定)。 –

+0

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE)正是我一直在尋找,謝謝:) 我知道,立方體貼圖應該是畫......一個立方體貼圖的最佳解決方案,但我真的在OpenGL小白和我不」不要這樣做,現在,我的立方體被繪製,因爲我想......我真的不想改變它:) – IggY