답변:
오큘 러스 (Oculus)의 Cass Everitt가 만든이 다이어그램에서 볼 수 있듯이 두 개의 개별 안구 절두를 둘러싸는 단일 절두체를 만드는 것은 매우 쉽습니다. 이 절두체의 꼭짓점을 눈 사이와 약간 뒤에 배치해야합니다. 안구 절두의 원래 근거리와 일치하도록 근거리 거리를 늘릴 수도 있습니다.
이러한 절두체에는 원래 두 절두체가 결합되지 않은 작은 공간이 포함됩니다. 두 눈 사이에는 작은 양이 있습니다. 또한 다이어그램에는 세로 치수가 표시되지 않지만 절두체 정점을 뒤로 당기면 원래 절두체 위와 아래에 약간의 공간이 포함됩니다. 그러나 실제 컬링 목적을 위해서는 중요하지 않을 것입니다. 절두체 컬링은 일반적으로 보수적이며 여분의 공간은 두께가 몇 센티미터에 불과합니다.
또한 외부 평면과 함께 원래 절두체 상단 및 하단 평면 (눈 사이에 공유 됨)을 간단하게 컬링 할 수도 있습니다. 이러한 평면은 기술적으로 절두체를 형성하지 않지만 한 번에 하나의 평면에 대해 테스트하는 "일반적인"컬링 알고리즘을 사용하는 경우 알고리즘은 사용자가 제공하는 모든 평면에서 행복하게 작동합니다.
프레임마다 두 번 다시 실행하지 않고 눈 사이에 절두체 컬링, LOD 선택 등을 공유하는 것은 스테레오 렌더링의 CPU 비용을 최적화하는 좋은 방법입니다. 인스턴스화 된 스테레오 렌더링 과 같이 단일 패스로 두 눈을 그리는 렌더링 방법을 사용하려는 경우에도 필수 조건 입니다.
컬링에 단일 절두체를 사용하면 눈의 결합 된 시야가 180도 미만인 경우에만 작동합니다. 이제 약 200도 더 넓은 시야를 가진 VR 헤드셋이 있습니다 (예 : Pimax 5k + 및 StarVR) . 180도 이상의 화각에 대해 전통적인 뷰 프러스 텀 또는 단일 프로젝션 매트릭스를 구성하는 것은 불가능합니다.
이 헤드셋은 앵글 스크린을 사용하므로 시야 공간의 투영 평면과 순방향 벡터가 평행하지 않습니다. 다른 답변의 방정식은 방정식이 평행하다고 가정하고 해당 가정이 잘못된 경우 잘못된 결과를 생성합니다.
하나의 결합 된 뷰 프러스 텀이 여전히 유용 할 수 있지만, 코드가 향후 증거임을 보장하기 위해이를 구성 할 수없는 경우를 처리 할 수 있도록 코드를 준비해야합니다. 또는 시선별로 컬링을 수행하거나 180 도보 다 큰 FOV를 표현할 수있는 각도 기반 컬링으로 전환하십시오.