我目前正在开发OpenGL程序性行星生成器。我希望将其用于太空RPG,这将不允许玩家向下走到星球的表面,因此我忽略了与漫游有关的任何内容。在妈妈们,我正在画一个带有VBO的立方体,并映射到一个球体上,如图所示 这里.

我熟悉大多数分形高图生成技术,并且已经实现了我自己的中点位移(在这种情况下,我知道这不是那么有用)。

我的问题是,程序生成高度图的最佳方法是什么。我看了看 libnoise 这使我能够制作可用的高度图/纹理,但据我所知,我需要生成一个类似的网络:

this

留下明显的瓷砖。

谁能在最佳途径上建议我?

任何意见都将不胜感激。

谢谢,

亨利。

有帮助吗?

解决方案

看起来您了解了生成平坦,无缝表面,然后尝试将其映射到球体上的问题。

如何使用3D噪声函数?一个3D噪声函数将3个坐标而不是2作为其输入,因此请想象一个包含生成数字的3D数组(而不是2D数组)。因此,一旦拥有3D噪声函数,就可以生成2D纹理,但是不要为每个像素使用2D坐标,而是使用该像素在球体上的3D坐标。 (我希望复杂的句子有意义!)

看一下有关Perlin噪音的中途中间的此页: https://web.archive.org/web/2012082911454/http://local.wasp.uwa.edu.au.au/~pbourke/~pbourke/texture_colour_colour/perlin/perlin/

我认为它准确地描述了您想要的领域。

其他提示

您可能还想查看2004年的这篇文章,介绍如何将球体“将”“分成”分成可管理的零件。

http://www.gamedev.net/reference/articles/article2074.asp

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