2014-02-16 69 views
0

我正在開發一個小視頻遊戲,其中有一個水平移動的無限背景圖像。圖像顯然不是無限的,它只是以相同的方式完成,所以如果我將圖像與自身連接起來,看起來是無限的。在opengl中連接兩個圖像

我遇到的問題是在兩個圖像連接的地方出現一條垂直的黑線。看起來沒有加入他們的確切位置,我可以看到黑色的背景。

我認爲這是因爲圖像的寬度不是整數,但即使我將一個圖像疊加在另一個圖像上,黑色垂直線仍然出現。

任何提示嗎?

+0

您必須提供更多信息。一般來說,OpenGL可以通過GL_REPEAT自動完成,但你似乎在做一些不同的事情。例如,你是在渲染四邊形的圖像嗎? – ltjax

+0

我只是渲染一個大的水平圖像。當它結束時,我會在最後再畫一遍。 – Frion3L

+0

「我只是渲染一個大的水平圖像」是什麼意思?你如何渲染它?你是否將圖像作爲紋理應用於四邊形?你有沒有在圖像處理程序中驗證輸入圖像中確實沒有黑線? – user1118321

回答

0

你想要做的就是所謂的平鋪。圖像本質上應該是'平鋪'的。要做到這一點,並排放置兩個圖像副本,邊緣彼此齊平,看看它們是否無縫。現在,爲了在OpenGL中工作,最簡單的方法可能是使四邊形(即網格)保持背景非常大,並將此紋理映射到此網格的一小部分(以便圖像本身不會看起來不舒服)。紋理映射時使用GL_REPEAT標誌,以便圖像平鋪在整個大四邊形上。