将立方体贴图映射到球体时出现问题

时间:2010-11-03 18:02:31

标签: opengl geometry texture-mapping procedural-programming procedural-generation

我目前正在尝试创建一个程序行星生成工具。我已经开始将一个立方体映射到一个球体,如下所示:

alt text

接下来,我使用3D Perlian噪声将Libnoise用于高度图立方体。我能够生成一个无缝的cubmap。我已经在photoshop中检查了这一点,虽然我不得不旋转高度图图像以使它们适合网络我认为它们是正确的方向。

我已经尝试在将它们映射到球体之前获取坐标的perlin值,之后,但是我无法使边缘匹配:

alt text

目前我在-0.8和+0.8之间创建几何体,然后添加0.2 *高度图百分比。

要么我错误地使用了高度图数据,要么高度图没有正确定位(我怀疑它们都是两者)。

1 个答案:

答案 0 :(得分:2)

我发现了问题。从-1到1绘制一个立方体,将其映射到一个球体,然后一旦它是一个球体,将每个坐标乘以1 +(百分比*高度图值),例如,如果你想要高度图添加或带走20%的领域:

x *= 1 + ( 0.2 * heightmapValue);
y *= 1 + ( 0.2 * heightmapValue);
z *= 1 + ( 0.2 * heightmapValue);

看起来像这样:

cube