어제 카메라 만들려니까 프러스텀 컬링이 나오고, 좀 더 찾아보니까 공간분할이 나옴.
정리하자면 프러스텀과 씬의 모든 오브젝트를 비교하지 말고, 씬을 분할한 다음 프러스텀과 씬의 공간을 먼저 비교. 그 다음 선택된 공간에 있는 오브젝트와 프러스텀을 비교하는 것.
간단히 하자면 (프러스텀_공간 비교 횟수 + 프러스텀_오브젝트 비교 횟수 < 프러스텀_모든오브젝트 비교 횟수) 인 듯?
아무튼 평면 방정식에 대해 한 점이 위, 내부, 아래에 있는지 판단해야 함. 그래야 박스랑 평면도 할 수 있음.
디씨에 물리 적용한 작품 올라오는거 볼때마다 존나 멋있다고 생각했는데, 나도 이제 멋있어지는거냐?
너무 멀리 가지 말고 1. 메시? (여튼 한 번의 Draw로 렌더링하는 놈)의 중심점과 그 메시의 버텍스 전체를 감싸는 구의 반지름을 구한다. 2. 구와 뷰 프러스텀과 테스트한다. 3. 겹치면 렌더링, 안 겹치면 렌더링하지 않는다. 정도로 하면 될 듯.
ㅇㅎ 내가 말한거에서 공간분할 뺀거네. 그런데 오브젝트 감싸는 거, 박스가 아니라 구로 많이 함? 바운딩박스 생각하고 있었는데... 오브젝트의 메쉬마다 다르려나. 생긴게 다르니까 최대한 간단하면서도 빈 공간이 없는걸로 해야 정확할 것 같은데
정확히는 둘 다 씀 sphere 로 선검사 하고 프러스텀에 걸치는 애들은 AABB나 OBB 다시 돌려서 검사
박스로하면 OBB였나 AABB였나 회전고려하면 좀 더 복잡한 걸로 해야 하는데 나는 그냥 구로 했었음
회전고려 안한게 AABB고, 고려한게 OBB인데, 음.. 둘 다 해봐야 할 듯