首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL 360度透视

OpenGL 360度透视
EN

Stack Overflow用户
提问于 2012-12-30 22:16:55
回答 1查看 6K关注 0票数 5

我正在寻找捕捉我的场景的360度球面全景照片。我怎样才能做到最好呢?如果我没弄错的话,我不能用普通的方式将视角设置为360。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-30 22:23:19

这实际上是一件很重要的事情。

在一种简单的方法中,顶点着色器不是通过矩阵乘法来转换顶点位置,而是通过三角函数提供给它们,似乎可以做到这一点。问题是,这不会让直线变得“弯曲”。可以使用细分着色器添加足够的几何体来补偿此问题。

最直接的方法是两方面的。首先,你将场景渲染到一个立方体贴图中,即用90°×90°的FOV渲染到组成立方体的6个方向上。这使您可以使用常规的仿射投影来渲染场景。

在第二步中,您将使用生成的立方图为屏幕填充网格添加纹理,其中每个顶点的纹理坐标是方位角和高程。

另一种方法是使用平铺渲染与非常小的视场和旋转的“相机”,有点像做一个全景图片,没有使用广角镜头。事实上,基于立方图的方法是平铺渲染,但它比直接尝试改变相机方向和视口位置更容易做到这一点。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14091433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档