2012-09-29 69 views
0

我想製作一款RPG遊戲,並且我想展示一張平鋪的地圖。如何在opengl中拼貼

我現在正在做的是爲每個瓷磚計算它的位置,如果它位於可見區域,我綁定紋理,設置紋理座標並使用2個三角形繪製一個正方形。

一切工作都很好,但我發現我經常在一些非常煩人的瓷磚之間出現黑線。你如何擺脫這些黑線,或者有沒有更好的方法使用opengl進行平鋪

回答

2

對我來說,很難知道是什麼原因造成的,沒有任何代碼或截圖,但我可以給出我最好的猜測。首先,如果你的座標緊緊地包在瓷磚之間,瓷磚之間不應該出現任何裂縫。通過緊湊打包,我的意思是瓦片的底部與下面瓦片的頂部具有完全相同的Y座標值。

但是,這也可能是因爲紋理重複和線性過濾,使您在瓷磚邊緣出現問題。如果是這種情況,你可以通過使用下面的方法來解決:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 

如果你轉動紋理,裂縫仍然出現?如果是這樣,你的瓷磚之間必須有一些幾何間距。也許有些東西被舍入到你的代碼或某事的某處?

這些是我最好的猜測,但我建議上傳問題的截圖,以得到更好的答案。祝你好運!