问题标签 [heightmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1700 浏览

python - 生成混沌噪声较少的地形

我制作了一个高度图生成器,它使用梯度/值噪声来生成地形。问题是,高度图太混乱了,看起来不真实。
这就是我所说的:

在此处输入图像描述

这是没有颜色的地图:
在此处输入图像描述

我使用了 257x257 的块网格和 17x17 的渐变。可以看到,岛屿太多了,海洋中间还有一些随机的小海滩岛屿。
此外,还有很多锋利的边缘,尤其是对于山地地形(深灰色)。
我想要的是一个更平滑且不那么混乱的地形,例如一个大岛等等。我怎么做?

0 投票
2 回答
3208 浏览

python - 分形地形/高度图生成

我正在尝试重新实现我不久前成功完成的一些事情,但我只是做得不太对..

我使用的分形高度图生成算法本质上是递归菱形正方形算法。它似乎可以正常运行,但生成的地图“不太正确”....似乎没有成功访问网格中的每个点来确定颜色,并且地图中存在残留的“结构”这似乎与网格的递归方式有关。我不确定问题究竟在哪里/如何产生我所看到的。

我到目前为止的代码是,

如果您按原样运行它,您应该看到颜色图并了解它为什么不正确,将深度更改为 2 的不同幂以不同的方式显示它 - 值 256 及以上需要一段时间才能生成

非常感谢任何帮助。

0 投票
1 回答
236 浏览

java - Java LWJGL - 高度图未正确呈现

我正在尝试按照 Oskar Veerhoek 的 youtube 教程在我的游戏中实现高度图。我按照这些步骤,我得到了一些方法:

当我运行游戏时,高度图不显示,我在屏幕上的模型像这样被挤压:

在此处输入图像描述

我认为这与错误地渲染高度并将其应用于我的模型有关。但我真的不知道,因为我对 3D 开发非常陌生。一些帮助将是惊人的!谢谢!

0 投票
1 回答
399 浏览

java - 将高度图分割成象限

我正在使用四叉树系统渲染地形。splitHeightmap(float[] originalMap, int quadrant)我需要使用象限为 0-3 的数字的方法将高度图分成四个部分。地图需要分成四等分,因此如果将 0 作为象限传递,则数组的左下角四分之一作为新的浮点数组返回。我有一些基本代码,但我不确定如何根据所需的象限对地图进行实际采样:

编辑:我已经写了我认为应该工作的内容,但是我得到了索引 65792 的 ArrayIndexOutOfBoundsException (原始高度图为 512x512):

0 投票
1 回答
765 浏览

fractals - 用于增量程序地形生成的菱形正方形的替代品?

我目前正在为游戏编写程序地形生成器。为此,我将我的世界划分为大小相等的块,并在玩家漫步时一个接一个地生成它们。到目前为止,没有什么特别的。

现在,我特别不希望世界是持久的,即如果一个块被卸载(可能是因为玩家移动得太远)然后再次加载,它不应该和以前一样。

据我了解,将 3D Simplex Noise 视为 Marching Cubes 的密度函数输入等隐式方法不适合我的问题。那是因为我需要为生成器重新设定种子以获得空间中同一点的不同返回值,从而导致块边界上的不连续性。

我还研究了中点位移/钻石平方。通过使用来自相邻块边界的值播种每个块的高度图并随机化附近没有任何其他块的块角,我能够生成显示所需行为的可平铺地形。不过,结果看起来相当乏味。具体来说,由于这种方法依赖于高度图,它没有悬垂等。此外,即使使用角点随机化,地形特征也往往局限于小区域,即没有多块山丘或类似的地标。

现在我想知道是否还有其他我还没有听说过/想过的方法。非常感谢任何帮助!:)

干杯!

0 投票
1 回答
161 浏览

processing - 我实施中点位移以生成岛屿并没有创建所需的模式?

我想从“130行逼真地形”处理端口处的代码开始创建本文中的效果。我修改了代码,因此它只在处理中生成灰度高度图,而不是 3D 地形。但是,我的代码不会生成岛屿高度图,并且还会留下不寻常的方形图案,如图所示

我的代码如下:

谢谢你的帮助!

0 投票
2 回答
408 浏览

java - 将灰度图像像素转换为定义的比例

我正在寻找使用我在 Photoshop 中创建的非常粗略的高度图来为我定义一个平铺的等距网格:

地图:http: //i.imgur.com/jKM7AgI.png

我的目标是遍历图像中的每个像素,并将该像素的颜色转换为我选择的比例,例如 0-100。

目前我正在使用以下代码:

这在一定程度上有效;位置 0 处的黑色像素为 167,位置 999 处的白色像素为 0。但是,当我将某些像素插入到图像中时,我得到了一些奇怪的结果,例如,非常接近白色的灰色像素返回超过 100,而我期望它是个位数。

有没有我可以使用的替代解决方案来产生更可靠的结果?

非常感谢。

0 投票
1 回答
719 浏览

3d - HERE maps 3D 如何使用其高度图?

我看过 HERE Maps 3D 的作品,它使用了 WebGL:

在此处输入图像描述

现场演示:http ://here.com/45.4382049,12.3281023,18.51,124,75,3d.day

看起来,这是一种类似于高度图的技术。

我想知道,它是如何工作的,完全适用于从纹理中挤出。我在浏览器工具中查看了网络以查看请求/响应,并看到了下一个:

在此处输入图像描述

有两个文件,纹理文件和一些二进制*.n3m文件,它们与具有相似x, y, zoom值的平铺纹理有关。

我还查看了纹理的外观,并了解它不是标准的空中(宇宙)视图:

在此处输入图像描述

您可以在其中看到一些灰色像素,并且该平铺纹理既有来自宇宙的一些视图,也有一些建筑物的纹理,这些都存在于一个纹理文件中。

我认为,HERE 地图技术不仅很棒,而且非常棒。如果存在类似于 OSCAR 的奖项,但对于 IT 行业,来自 HERE 地图的开发人员必须有这样的奖项。

但是,让我们回到主题。我想知道,他们使用什么确切的技术?也许这是非常流行的技术,众所周知?如果是这样,请告诉我一些有关它的信息。

我已经成功地创建了一个 three.js 应用程序,它从现实世界的高度图创建了美丽的地形,所以当我从 HERE 地图中看到这样的示例时,我想尝试做同样的事情。

所以,问题是:

  • 这个样本的技术是什么(据了解,它在高度图挤出技术中很常见)?
  • 为什么会这样生成纹理?
  • 你能说出什么*.n3m文件格式(它是一个二进制格式,我试图在谷歌搜索中搜索它的信息,但最有趣的是下一个:http ://content.stamen.com/files/idiocode/index.html )?

相关链接:

0 投票
1 回答
415 浏览

c++ - C ++ OpenGL大网格缺少三角形

所以我正在组合一个高度图渲染器,它将在顶点着色器中完成大部分工作,但首先我当然会生成一个要渲染的网格,目前我正在使用 openGL 和 C++ 的上限来查看我可以渲染的网格有多密集(所以我后来在 LoD 网格划分方面有一些事情要做)

反正!切入问题;

我在测试 32、64 和 128 的 meshResolution 后注意到的问题我遇到了运行时崩溃,我使用自制的类“indexFace”停止了它们,该类包含 6 个索引以降低数组长度,问题仅在 128 分辨率下网格的第三个实际显示,我想知道 openGL 可以使用一组 BufferObjects 渲染或保存的索引是否有限制,或者它是否与我处理 C++ 方面的问题有关。

我通过以下方式生成网格:

0 投票
0 回答
200 浏览

directx - 使用三角条在 DirectX 中计算高度图法线

我正在尝试加载高度图数据,但我正在努力弄清楚如何计算出法线。上网查了一下,好像没找到有用的。

我使用存储顶点

然后使用加载顶点

我能够使用三角形列表计算法线,这很简单,但不确定如何使用条带