首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更真实的透视算法

更真实的透视算法
EN

Stack Overflow用户
提问于 2014-04-13 00:06:05
回答 1查看 145关注 0票数 1

正如我注意到的,许多3D游戏(我认为几乎所有的游戏)都使用简单的算法来进行计算。它的工作几乎是理想的,但所有的物体明显变形在边缘的视场。这一效应的最有力的例子是,在FOV边缘的所有球体看起来都不像圆圈。

OpenGl函数gluPerspective()创建具有相同缺陷的透视图。

我对更好的算法有一个粗略的想法,就像我想的那样,它将解决这个问题。

因此,问题是:

有没有任何算法没有这个缺陷,我可以在哪里读到它们呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-13 00:29:56

有没有任何算法没有这个缺陷,我可以在哪里读到它们呢?

有几个:球面投影,立体投影。圆柱形投影。平铺的全景投影,等等,你可以说出来。

然而,基于三角形的光栅系统对投影的正确工作有一个非常重要的要求:直线必须投影到直线(仿射投影)。这就是你所看到的令人不快的扭曲的原因。上面提到的任何投影(还有更多的)都可以使用适当的顶点着色器用OpenGL近似。然而,为了好看,几何学必须足够精细的镶嵌,因为直线的边缘需要分解成足够多的段,以允许映射到曲线。一个镶嵌着色器可以用于这一点。另一种方法是将一个宽的字段视图呈现为一个立方体映射(多维数据集映射需要仿射投影来创建它们)。然后可以在cubemap上应用和其他映射,从而获得更健壮的结果。

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

https://stackoverflow.com/questions/23037637

复制
相关文章

相似问题

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