삼각형 베이스 맵에서의 SW Occlusion Culling 작업중.
복셀 지형을 렌더링할때 성능향상을 위해 사용했던 SW Occlusion Culling을 삼각형 베이스 맵에도 적용한다.
KD-Tree를 순회할때 카메라 위치에 가까운 leaf부터 방문하게 되므로 방문하는 leaf의 삼각형들을 차곡차곡 Rasterize/z-test 해가면 z-buffer상에서 가려지는 leaf는 조기에 제외시킬 수 있다.
SW Rasterizer/Tester는 작년까지 죽어라 다듬어놨기 때문에 더 손볼게 없다.
512×512버퍼에 KD-Tree를 순회하면서 프러스텀에 걸치는 leaf의 삼각형들을 모두 그려봤다.(왼쪽 상단)
불필요한 rasterize를 줄이기 위해 Occluder로 사용할 삼각형을 선별할 필요가 있지만 SW Rasterize성능이 궁금해서 그냥 다 그렸다.CPU로 삼각형 찍는게 꽤 느린 작업이다.그럼에도 불구하고 디버그 빌드로 60프레임 이상은 나온다.확실히 복셀 기반 맵일때보다 효율이 좋다.
복셀 월드에선 SW Raterize/Test 성능이 기대 이하라서 애먹었다.
커다란 삼각형이 SW Rasterize하기 좋은데, 복셀(특히 50cm x 50cm x 50cm짜리)은 너무 자잘한 삼각형이 많이 나온다.
뭔가 색감 강한 버전의 라이자의 아틀리에 느낌이네요. 잘봤습니다
좋아요좋아요
감사합니다.
좋아요좋아요