我正在尝试在OpenGL中创建用于表示地球的几何形状。我有一个近似椭球形大地(更接近地球的椭球体)。我将地球表面的纹理映射到该几何图形上(可能是墨卡托投影或类似的投影方式)。纹理的UV坐标对应于几何的纬度和经度。但我遇到了两个问题,目前无法解决。我使用的是OpenSceneGraph,但我认为这是普遍的OpenGL / 3D编程问题。
存在非常明显的纹理接缝。我确定这是因为我不知道如何将UV坐标映射到出现接缝的XYZ坐标。我仅将UV坐标映射到绕过最后一个顶点之前...你需要将两个不同的UV坐标映射到同一个XYZ顶点以消除接缝。是否有一种通常使用的技巧来解决这个问题,还是我做错了什么?
在极点处发生了疯狂的旋转畸变。我猜测这是因为我将单个UV点映射到了极点(对于地球,我使用[0.5,1]表示北极,[0.5,0]表示南极)。还有其他的方法吗?我可以接受这种畸变...但在低分辨率网格上非常明显。
我附加了一张图片以说明我的问题。