我在几场比赛中看到了纹理良好的球,行星和其他球形物体,上次在不明飞行物中:后果。如果你只是将纹理溅入纬度/经度作为你和w -coordinates你会得到很多丑陋的纹理扭曲到极点。

我认为自己是一种实现具有最小失真的球形贴图的方法。通过三角形而不是正方形映射。但我不知道任何算法。如何为这样的球体生成顶点和纹理坐标?

另外,我没有看到从简单的扁平方形图生成完整球形贴图的方法。是否有一些直观的方法来绘制这样的地图而没有真正的麻烦?

但是,是否有其他算法来渲染没有或具有最小失真的球体?

光线追踪和光栅化算法都很有趣。

有帮助吗?

解决方案

毛球定理表明无法在球体上定义连续纹理坐标没有任何扭曲纹理的杆子。

其他提示

Lat / lon“球体”根据定义扭曲。如果您正在编程,请从[四面体]开始( http://en.wikipedia.org/通过细分每个三角形,wiki / Tetrahedron Tetrahedron)和细分进入4个三角形并重新定位中心给定半径的中点。

如果您正在进行建模,GeoSphere(如前所述)或任何类似的将解决您的问题。

关键是三角形将具有恒定的失真量,这与纬度无关。

另请注意,(封闭式)表面细分可让您拥有(C)LOD 相当容易。

纹理是另一个故事,但是一旦你有一个好的球体,你就拥有了问题少了。

希望这能激发你的想象力:)

你可以使用一个矩形地图,其纵向模糊在极点附近增加(从赤道上的没有,到60度以北)。结合mip-maps,这应该消除你提到的一些影响。

Drew Olbrich想出了一个很好的测试一个球体来生产一个非圆形体的方法。如果你增加顶点的数量,你将得到一个相当不错的球形细分。

或者您可以使用立方体贴图。这通常是进行环境映射的首选方式,基本上就是你所描述的。

不要按经度和纬度分割球体。而是在3Ds Max中使用所谓的GeoSphere。 (实际上,是一个多面体,测地球体。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top