【发布时间】:2016-08-28 09:26:23
【问题描述】:
我读过这篇文章http://www.gamasutra.com/blogs/BrianKehrer/20160125/264161/VR_Distortion_Correction_using_Vertex_Displacement.php 关于VR中顶点位移的失真校正。此外,还有一些关于其他失真校正方法的说法。我在实验中使用统一(并尝试修改 fibrum sdk,但这在我的问题中并不重要,因为我只想了解这些方法的一般工作原理)。
正如我提到的,有三种方法可以进行此校正:
- 使用基于像素的着色器。
- 将渲染目标投影到变形网格上 - 并将最终输出渲染到屏幕上。
- 顶点置换法
我了解基于像素的着色器的工作原理。但是,我不理解其他人。
第一个问题是关于将渲染目标投影到扭曲网格上。据我了解,我应该首先将来自游戏摄像机的图像渲染到 2(每只眼睛)镶嵌的四边形,然后对这个四边形应用带有校正的着色器,然后在主摄像机前面绘制四边形。但恐怕我错了。
第二个是关于顶点位移的。我应该简单地将着色器(将每个对象的顶点坐标从世界空间转换为反向镜头扭曲和屏幕空间(镜头空间))到相机吗?
附言对不起我糟糕的英语,我只是想了解它是如何工作的。
【问题讨论】:
标签: unity3d shader virtual-reality distortion