我目前没有解决从极到极没有接缝的二十面体纹理映射的解决方案。这个图元的纹理映射似乎是一个普遍的问题,还没有完全解决。我做了很多研究,我尝试了很多不同的方法来生成 uv 坐标,最接近(和最小)的方法是这样的:
GLfloat u = 0.5f * ( 1.0f + atan2( z , x ) * ( 1 / M_PI ));
GLfloat v = acos( y ) * ( 1 / M_PI );
二十面体或地理圈是各种开源框架的一部分,例如 jMonkeyEngine 或 Geist3D,但似乎没有一个实现可以正常工作。映射展开的矩形纹理应该不是不可能的,还是我错了?欢迎每个代码片段。
我在这里上传了 Xcode 项目,它是用 iPhone 的 openFrameworks 0.61 构建的。里面还有两个PNG文件,每个文件都显示了另一个接缝变化。