什么是执行,存储和呈现球形世界,如孢子或无穷大的人,但没有在两者之间孢子阶段,多个世界ALA无穷宇宙的最佳途径。作出任何假设如何行星本身产生或它的尺寸/规模。

有帮助吗?

解决方案

有关渲染,你需要使用某种级别的细节算法,以便从靠近地球表面的无缝迁移到很远的。有许多动态LOD算法(看到这里)。一个旧的算法,称为ROAM,能够适于处理球形物体,或行星(球形ROAM )。几何clipmaps是一个新的,更流行的算法,可以被适配为球形表面以及

对于存储数据,你可能想看看程序代(根据您的需求)的纹理,高度图等,这是类似于无限和孢子是如何做的。你可以阅读一些关于程序纹理这里 。程序高度图是简单的,这取决于你如何复杂/逼真想你的地形。在最简单的级别,你可以简单地通过一个柏林噪声函数取代你的顶点的高度。

其他提示

如果你正在寻找的东西在存储有关的表面数据,你可能看 HEALpix 。它是专门用于映射天空(另一个球面)由天文学界开发的软件。

HEALpix创建描述表面的面部的位置和大小,并分配每一个的ID的网格。然后,您可以使用该ID作为键或索引,你想了解有关特定级别访问尽可能多的细节。

HEASpix提供方法来找到相邻的表面区域,可以给中心和顶点位置为每个网格点。

这是一个等级网格,允许你,只要你想,所以你在理论上可以在低的分辨率和更高层次的细节,如果你想要其他部分的网格部分细分每个面之多。它具有很好的特性,这是无限可分(到你的内存限制),并在给定的分辨率网格的每个像素具有相同的面积,在该分辨率等级的所有其他的。

在分发包提供了很多的东西,你可能不会需要,但核心库应该是有用的。

这可能不是你在找什么......但究竟发生了什么。这是一个很好的故事。

亿万年前,回来时恐龙仍然漫游地球和存储器以千字节仍然测量,我玩一些软件fractally产生行星。

的想法是创建表示行星2NxN的矩形。切行星一半一串倍两个半部每个时移略。 (正弦波用于与随机相移和幅度切割。用于换档的另一个随机正弦波。)后记,通过高度洪水与水和颜色代码的其余部分的低级区域。

然后把的直径无球体的顶部和项目,包装周围的地图半球体的N×N区域。移动球周围的地图,它看上去就像是旋转。

我会建议使用在内存某种多边形模型来实现它们的世界,用一个文件来存储它们,使用某种3D引擎的渲染他们。如果不是这样,或者只是一个指针中心和半径,以覆盖沿着来描述世界的地理。

编辑: 感谢您的一些详细信息。取决于你有多少细节需要,你需要使用某种方法来纹理分解成更小的部分 - 你可以生成20个面的质地和构建的二十面体的围绕中心点。看看地图投影,获取有关如何在现实生活中被处理的一些想法。

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