我有一个 BSP 树加载到内存中。我首先找出我所在的叶子。接下来,我对 PVS 进行解码。然后,我遍历那个 PVS 中的每个区域,看看它是否在我的视锥体中。
有人告诉我这是不正确的渲染方式,我实际上应该通过遍历 BSP 树来进行从后到前的渲染。我该怎么做?我已经看到了许多不同的方法来做到这一点,这就是我问的原因。
例如,Quake 3 BSP 渲染显示:遍历 BSP 以确定相机位于哪个叶子中。检索并解压缩此叶子的 PVS,遍历 PVS 并在 BSP 中标记叶子。从近到远遍历 BSP 如果没有标记节点,则跳过它。针对相机视锥体测试节点边界框。将当前叶子添加到再现列表
这仍然是今天的标准方式吗,或者至少对于更简单的游戏来说是这样吗?