我已经将BSP树加载到内存中。我首先找出我在哪片树叶里。接下来,我对PVS进行解码。然后,我遍历PVS中的每个区域,看看它是否位于我的锥体内。
有人告诉我,这是不正确的渲染方式,实际上我应该通过遍历BSP树来进行从后到前的渲染。我到底该怎么做呢?我见过许多不同的方法来做这件事,这就是为什么我会问。
例如,Quake 3BSP渲染表示:遍历BSP以确定相机位于哪个叶中。检索并解压缩此叶的PVS,遍历PVS并在BSP中标记叶。从近到远遍历BSP如果未标记节点,则跳过该节点。对照摄影机Frustrum测试节点边界框。将当前叶添加到格式副本列表
这仍然是今天的标准方式吗,或者至少对于更简单的游戏来说是这样。
发布于 2012-01-19 09:18:00
正如OrgnlDave所说:
绘制基本体时,将绘制放置在z缓冲区前面的像素,并执行程序着色器。但是如果像素在场景后面,那么像素就会被拒绝。没有义务做出这样的画,从前到后,但在表现上的收获是最糟糕的。
但是,如果使用混合对象,则需要在每个实体对象之后绘制此对象,并从后到前绘制。因为你需要将颜色与之后放置的对象混合在一起。
https://stackoverflow.com/questions/8876095
复制相似问题