我正在使用带有 VBO 和索引等的现代 OpenGL。
首先我从高度图加载地形,然后将其划分为块(在我的情况下为 128x128)我将所有顶点加载到 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(上图)来实现它。我很乐意听到一些想法。