GPU를 이용한 PVS(Potentially Visible Set)생성. – 월드 매쉬를 박스모델로 변환

‘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. 매쉬의 바깥에 있는 박스들은 빈 공간이다. 구조물을 꽉 채우는 박스가 필요하므로 바깥에 있는 박스는 그대로 버린다.내부의 박스들을 모은다.

create_box_with_kdtree_01

create_box_with_kdtree_00  create_box_with_kdtree_03 create_box_with_kdtree_04


답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중