目录
Single Pass Stereo Rendering单通道立体渲染(双宽渲染)
Single Pass Instanced Rendering单通道(立体)实例化渲染
Stereo Rendering
Stereo Rendering(立体渲染)是一种让人眼能感受到立体效果的渲染方式,为给予人眼立体效果,需要2个Camera对同一个场景进行成像,即设置不同的View矩阵渲染两张图像,这两张略有差异的图片能使人眼感觉出深度。(原文链接见最后)
pipeline:
Multi Pass
默认的 Stereo Rendering Method 为 Multi Pass。此设置较慢,但通常更适合于自定义着色器。如果有自定义着色器,则可能需要更改这些着色器,使之与 Single Pass Instanced 渲染兼容。
多通道渲染运行 2 个完整的渲染通道(每只眼睛对应一个)。因此,与单通道实例化渲染方法相比,多通道方法会产生几乎两倍的 CPU 工作负载。但是,此方法具有最高的向后兼容性,不需要对着色器进行任何更改。
核心思想是提取独立于视图的渲染循环部分。意味着可以共享非依赖单只眼睛视图的资源,比如阴影和剔除。
对于剔除,将两只眼睛的平截头体合为一个做一次剔除,这意味着每只眼睛将比单眼剔除平截头体渲染多一点,但我们认为单次剔除的好处超过了一些额外的顶点着色器、裁剪和光栅化的成本。
pipeline:
Single Pass Stereo Rendering单通道立体渲染(双宽渲染)
Single-Pass Stereo Rendering意味着我们将对整个渲染循环进行一次遍历,而不是两次,或者某些部分两次。
单通道立体渲染功能适合基于 PC 和 Playstation 4 的 VR 应用。
该功能可将两只眼睛的图像同时渲染到同一个经打包的双宽渲染纹理,该纹理的宽度是单眼纹理宽度的两倍。(比起切换渲染目标,切换渲染视口开销更小,将左右眼的两张纹理合成为一张双宽的纹理)Unity 针对每个包含渲染器组件的游戏对象使用 2 个绘制调用,从而将场景渲染两次,但是当同时针对左眼和右眼渲染时,Unity 仅对场景迭代一次。在单通道立体渲染期间