문제

저는 C++로 게임을 작성 중이고 각각 ​​자체 정점 버퍼가 있는 별도의 메시로 구성된 레벨이 있습니다.나는 vmmlib(훌륭한 무료 gl compat.dll)를 사용하고 있습니다.벡터/행렬 라이브러리)를 사용하여 절두체 컬러를 만들고 레벨에 있는 모든 메시의 경계 영역에 대해 테스트합니다.안타깝게도 내 레벨은 최대 800개의 메시로 구성될 수 있으며 각 프레임을 모두 반복하는 것은 느립니다.반복할 때마다 모든 메시를 볼 필요가 없도록 코드를 최적화하는 가장 좋은 방법은 무엇입니까?절두체 내부의 경계 볼륨?

도움이 되었습니까?

해결책

예, 경계 객체가 좋은 방법입니다. 적절한 경계 볼륨을 선택하는 데 주의해야 합니다. 예를 들어 봇처럼 장면을 이동하고 눕지 않는 메시의 경우 원통이 가장 좋은 볼륨이고 다른 볼륨은 큐브(축)로 더 잘 표현됩니다. 정렬 여부).

그런 다음 메쉬 데이터를 계층적으로 나누기 위해 쿼드트리 또는 옥트리를 만듭니다.

이는 야외 절두체 컬링에 매우 효과적입니다.

실내의 경우 공간을 분할할 벽이 많기 때문에 BSP가 가장 좋은 방법입니다.10개 이상의 다각형이 있는 메시의 볼륨 바인딩을 계속해야 합니다.

다른 팁

방금 포털이 일반적으로 BSP와 함께 또는 함께 선호되는 날을 추가하고 싶었지만 원래 게시물을 편집 할 충분한 명성이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top