我正在寻找拍摄我场景的 360 度全景全景照片。我怎样才能做到最好?如果我做对了,我不能以普通的方式将视角设置为 360。
如果我需要一个顶点着色器,有可用的吗?
这实际上是一件不平凡的事情。
在一种简单的方法中,一个顶点着色器不是通过矩阵乘法而是通过三角函数来转换顶点位置的,这似乎可以解决问题。问题是,这不会使直线“弯曲”。您可以使用镶嵌着色器添加足够的几何图形来弥补这一点。
最直接的方法是双重的。首先,您将场景渲染成立方体贴图,即以 90°×90° FOV 渲染到组成立方体的 6 个方向。这允许您使用常规仿射投影来渲染场景。
在第二步中,您使用生成的立方体贴图对屏幕填充网格进行纹理处理,其中每个顶点的纹理坐标是方位角和仰角。
另一种方法是使用具有非常小的 FOV 的平铺渲染并旋转“相机”,有点像在不使用广角镜头的情况下拍摄全景照片。事实上,基于立方体贴图的方法是平铺渲染,但它比尝试直接更改相机方向和视口位置更容易做到这一点。