我使用OpenGL的現代與VBO的和指數等地形GeoMipMapping LOD - 消除裂縫
首先,我從高度圖加載地形,然後我把它分成塊(128×128在我的情況) 我加載所有的頂點爲VBO(每個地形塊) 然後我有4個LOD水平 - 索引表 - 它是非常靜態的。
雖然渲染我隨便挑基於距離塊從相機
if(distance > 768.0)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cells[i].elementbuffer_lod4);
else if(distance > 512.0)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cells[i].elementbuffer_lod3);
else if(distance > 128.0)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cells[i].elementbuffer_lod2);
else
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cells[i].elementbuffer_lod1);
在這裏,我遇到了一個問題。一切工作正常,但我有不同的LOD水平塊之間真正醜陋的裂縫。我在谷歌搜索中發現了這樣的pdf:http://www.flipcode.com/archives/article_geomipmaps.pdf,我理解這個想法,但我不知道如何使用VBO(上面)實現它。我很樂意聽到一些想法。
最簡單的解決方案可能只是複製下一個南方塊的北行頂點(並適合其他方向),並確保它們在NS/EW軸上排列。您不會丟失任何數據,只需將邊界垂直點複製到相鄰的塊中,以便它們必須排隊。 – ssube 2013-03-25 20:39:22
另一個簡單的解決方案是在有接縫的地方渲染兩個LOD。 – 2013-03-25 20:56:00