Quake 引擎的预计算可见性:揭秘 PVS 算法

2025-01-10

本文是“解开 PVS 神秘面纱”系列的第一篇,探讨了 Quake 游戏引擎如何通过预计算可见性集 (PVS) 来优化渲染性能。在 90 年代中期,软件渲染的局限性使得减少过度绘制成为关键。Quake 使用门户系统和 PVS 来解决这个问题。门户将世界划分为多个单元,游戏引擎只渲染摄像机可见的单元及其通过门户可见的其他单元。PVS 算法在游戏地图预编译阶段计算每个单元可见的其他单元列表,从而在运行时避免了复杂的可见性测试,显著提高了渲染效率。本文深入探讨了 PVS 算法的实现细节,包括门户的定义、BSP 树的作用以及算法的三步流程:基准可见性、完整可见性以及结果整合。

游戏 PVS 算法