‘GPU를 이용한 PVS(Potentially Visible Set)생성’ 주제로 현재까지의 작업 내용이다
일단 KD트리 + GPU를 이용한 큐브맵 렌더링을 이용해서 3D모델링 데이터를 박스모델로 바꾸는 코드를 작성했다.
1. 매쉬 데이타를 KD-Tree로 빌드한다.
2. 삼각형을 하나도 포함하지 않거나 최소 사이즈에 도달할때까지 공간을 분할한다.
3. 삼각형을 하나도 포함하지 않는 leaf들로부터 AABB를 얻어서 월드를 360도로 렌더링 한다.
4. 이때 back face culling을 하지 않는다. 앞면은 파랑색, 뒷면은 빨강색으로 칠한다.
5. Compute Shader를 사용해서 빨간색 점과 파란색 점의 개수를 얻는다.
6. 360도 렌더링 빨간색 점이 일정 개수 이상 발견된 면이 4개 이상이면 매쉬의 내부에 있는 박스로 간주한다.
7. 매쉬의 바깥에 있는 박스들은 빈 공간이다. 구조물을 꽉 채우는 박스가 필요하므로 바깥에 있는 박스는 그대로 버린다.내부의 박스들을 모은다.