为什么我可以在GLSL中看到这个OpenGL球形映射工件?

时间:2011-12-08 05:35:31

标签: opengl geometry textures glsl

Globe Artifact

我正在尝试将地球纹理映射到球体上。我正在使用一块板状的carrée(Equirectangular)地图投影,并且这个经络有这种“模糊”。奇怪的是,模糊不是在我的纹理中的奇点(在这个例子中发生在太平洋下面)。相反,缺陷发生在(s,t)=(0.5,?)点附近。

我做过一些非常愚蠢的事吗?

编辑:为了证明这个模型并不奇怪,这里的茶壶也是如此:

Teapot Artifact

1 个答案:

答案 0 :(得分:6)

你不能像那样生成纹理坐标。

问题是真的很简单。在359度,S纹理坐标将大约为0.95左右。接近1.0,但不等于1.0。在0度,物理是与最后位置直接相邻的位置,纹理坐标将为0.0。因此,您将在0.95和0.0之间进行插值。它没有相反的方式。

这是立方体贴图存在的众多原因之一。如果没有立方体贴图或更改网格拓扑,则无法解决此问题。