在渲染VR(立体视图)环境时,你们是否建议仅进行2个视锥检查,以确定在视锥剔除过程中要绘制的内容,或者是否有其他一些检查可以将视锥组合在一起?
在渲染VR(立体视图)环境时,你们是否建议仅进行2个视锥检查,以确定在视锥剔除过程中要绘制的内容,或者是否有其他一些检查可以将视锥组合在一起?
Answers:
如Oculus的Cass Everitt创建的这张图所示,创建一个包含两个单独的眼睛视锥细胞的视锥面非常容易。您只需要将平截头体的顶点放在眼睛之间,然后放在眼睛后面一点。您还可以增加近平面距离,以匹配眼睛视锥的原始近平面。
这样的平截头体所包含的空间并不是原来的两个平截体的合体。两只眼睛之间水平方向上有一小部分。同样,该图未显示垂直尺寸,但是将视锥的顶点向后拉使其在原始视锥的上方和下方包含一定的空间。但是,出于实际淘汰的目的,这可能并不重要。无论如何,平截锥体的选择通常都是保守的,多余的空间只有几厘米的厚度。
也可以简单地剔除原始的视锥顶部和底部平面(在眼睛之间共享)以及外侧平面。从技术上讲,这些平面并不构成一个平截头体,但是如果使用一次一次针对一个平面进行测试的“常规”剔除算法,该算法将可以在您希望提供的任何一组平面上愉快地工作。
在眼睛之间共享平截头剔除,LOD选择等,而不是每帧重做两次,是一种优化立体渲染的CPU成本的好方法。如果要使用一次绘制双眼的渲染方法(例如实例立体渲染),这也是前提条件。