내가 VBO의와 인덱스 등지형 GeoMipMapping LOD - 제거 균열
우선은 높이 맵에서 지형을로드와 현대의 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);
에서의 거리에 따라 블록을 선택하고 렌더링 동안 나는 문제가 발생했습니다. 모든 것이 잘 작동하지만 다른로드 레벨 블록 간에는 정말 못생긴 균열이 있습니다. googling하는 동안 같은 PDF를 발견 : http://www.flipcode.com/archives/article_geomipmaps.pdf 그리고 나는 아이디어를 이해하지만, VBO (위)를 사용하여 구현하는 방법을 모르겠습니다. 나는 약간의 아이디어를 듣게되어 기쁩니다.
아마도 가장 간단한 해결책은 다음 블록 남쪽에서 정점의 북쪽 행 (다른 방향으로 적절하게)을 복사하고 NS/EW 축에 정렬되도록하는 것입니다. 어떤 데이터도 잃지 않고, 인접한 덩어리에 경계선을 복사하여 정렬해야합니다. – ssube
또 다른 간단한 해결책은 이음새가있는 곳에 두 개의 LOD를 렌더링하는 것입니다. –