Quake의 미리 계산된 가시성: PVS 알고리즘 분석
2025-01-10
이 글은 "PVS의 비밀 풀기" 시리즈의 첫 번째 글로, Quake 엔진이 미리 계산된 가시성 집합(PVS)을 사용하여 렌더링 성능을 어떻게 최적화했는지 탐구합니다. 90년대 중반, 소프트웨어 렌더링의 한계로 인해 오버드로우 감소가 매우 중요해졌습니다. Quake는 이 문제를 해결하기 위해 포털 시스템과 PVS를 사용했습니다. 포털은 세계를 셀로 나누고, 엔진은 카메라에서 보이는 셀과 포털을 통해 보이는 다른 셀만 렌더링합니다. PVS 알고리즘은 맵 컴파일 중에 각 셀에 대해 보이는 셀 목록을 미리 계산하여 런타임에서 복잡한 가시성 테스트를 피하고 렌더링 효율성을 크게 향상시킵니다. 이 글에서는 포털 정의, BSP 트리의 역할, 알고리즘의 세 단계(기본 가시성, 전체 가시성, 결과 해결)를 포함하여 PVS 알고리즘의 구현 세부 정보를 자세히 설명합니다.
게임
PVS 알고리즘