Quakeのプリコンパイルされた可視性:PVSアルゴリズムの解明

2025-01-10

これは「PVSの解明」シリーズの最初の部分であり、Quakeのエンジンがプリコンパイルされた可視性セット(PVS)を使用してレンダリングのパフォーマンスをどのように最適化したかを調べます。90年代半ば、ソフトウェアレンダリングの制限により、オーバードローの削減が不可欠になりました。Quakeは、この問題に対処するために、ポータルシステムとPVSを使用しました。ポータルは世界をセルに分割し、エンジンはカメラから見えるセルと、ポータルを通して見える他のセルのみをレンダリングします。PVSアルゴリズムは、マップのコンパイル中に各セルの見えるセルのリストを事前に計算することにより、ランタイムでの複雑な可視性テストを回避し、レンダリング効率を大幅に向上させます。この記事では、ポータルの定義、BSPツリーの役割、アルゴリズムの3つのステップ(基本可視性、完全可視性、結果の解決)を含め、PVSアルゴリズムの実装の詳細について詳しく説明します。