OpenGL 360度视角

Rob*_*ock 4 opengl panoramas

我正在寻找一个360度球形全景图 - 我的场景照片.我怎么能做到最好?如果我说得对,我不能用普通的方式将视角设置为360.

如果我需要一个顶点着色器,有一个可用吗?

dat*_*olf 7

这实际上是一项非常重要的事情.

在天真的方法中,顶点着色器不是通过矩阵乘法转换顶点位置,而是通过三角函数馈送它们似乎可以解决问题.问题是,这不会使直线"弯曲".您可以使用tesselation着色器添加足够的几何图形来弥补这一点.

最简单的方法是双重的.首先,将场景渲染为立方体贴图,即以90°×90°FOV渲染到构成立方体的6个方向.这允许您使用渲染场景的常规仿射投影.

在第二步中,使用生成的立方体贴图来设置屏幕填充网格,其中每个顶点的纹理坐标是方位角和高程.

另一种方法是使用具有非常小的FOV的平铺渲染并旋转"相机",有点像在不使用广角镜头的情况下拍摄全景照片.事实上,基于立方体贴图的方法是平铺渲染,但它比直接使用更改的摄像机方向和视口位置更容易实现.