问题标签 [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 投票
1 回答
668 浏览

three.js - 使用 Three.js 的地形碰撞问题

我已经通过 Three.js 中的高度图创建了一个地形,并且正在使用 mrdoob 的 misc_controls_pointerlock 进行碰撞和移动。但是,当我做objects.push(terrainobj); 性能下降到大约 3fps(从大约 60 帧)并且没有与地形发生碰撞。碰撞是通过光线实现的。我怎样才能解决这个问题?

0 投票
1 回答
639 浏览

c# - 将高度图转换为网格以在 XNA for WP7 中进行渲染

我相信你们中的大多数人都知道 WP7 不支持自定义着色器文件,除非我遗漏了一些东西,这意味着我不能像在 Windows 上那样从顶点和索引数据中绘制任何东西,我需要使用从其他数据类型中加载或解析的模型。

我正在寻找的是一种获取模型变量和高度图位图(可能作为 Texture2D 加载)并根据灰度值为每个像素创建一个顶点的方法,从一个函数构造函数变量。

以下是我在游戏中绘制模型的函数供参考:

有谁知道我怎么能相当简单地做到这一点?在我理解这个过程之前,我不想让多个文件过于复杂。

谢谢!

-瑞安

0 投票
1 回答
1323 浏览

c# - 使用 Perlin Noise 生成高度图返回黑色位图

如标题所示,我正在使用 Perlin Noise 制作高度图生成器。

我使用了这个站点的伪代码-> http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

并转为 C# 代码。到目前为止,我已经完成了所有变量类型分配,并且代码给出了输出。不幸的是我的输出看起来像这样->在此处输入图像描述

如您所见,右边缘和下边缘从黑色到白色有轻微的渐变,但其他一切都是黑色的。

这是我的 C# 源代码->

如果有人愿意,我也可以以 zip 格式上传 Visual Studio 解决方案。

到目前为止,我发现 Noise() 函数有问题,因为它返回 -0,281 的次数最多。它应该返回介于 -1.0 和 1.0 之间的浮点数。我已经尝试过使用其他随机函数,但每次输出都一样。

我希望你们能帮助我,谢谢你的建议。

0 投票
0 回答
890 浏览

directx - 读取 BMP 高度图

我正在尝试使用带有 DirectX 的 C++ 加载高度图。作为测试,我创建了一个全黑的 BMP 文件,因此地形应该是平坦的。虽然部分边缘并不平坦。谁能告诉我为什么?

0 投票
2 回答
3087 浏览

c# - 如何将多个高度图拼接在一起以消除接缝?

我正在尝试编写一个算法(在 c# 中),它将两个或多个不相关的高度图拼接在一起,因此地图之间没有可见的接缝。基本上我想模仿这个页面上的功能: http ://www.bundysoft.com/wiki/doku.php?id=tutorials:l3dt:stitching_heightmaps

(你可以只看图片来了解我在说什么)

我还希望能够获取单个高度图并对其进行更改,以便可以平铺,以创建一个无尽的世界(所有这些都是为了在 Unity3d 中使用)。但是,如果我可以将多个高度图拼接在一起,我应该能够轻松地修改算法以作用于单个高度图,所以我并不担心这部分。

任何形式的指导都将不胜感激,因为我已经搜索并搜索了没有成功的解决方案。只需向正确的方向轻推,将不胜感激!我知道许多图像处理技术可以应用于高度图,但一直无法找到产生我正在寻找的结果的图像处理算法。例如,图像拼接似乎只适用于具有重叠视野的图像,而不相关的高度图则不是这种情况。

以某种方式使用 FFT 低通滤波器会起作用,还是仅在生成单个可平铺高度图时有用?

因为该算法将在 Unit3d 中使用,所以任何 c# 代码都必须限于 .Net 3.5,因为我相信这是 Unity 使用的最新版本。谢谢你的帮助!

0 投票
1 回答
531 浏览

java - 在高度图上计算高度

就像在主题中。我生成了高度图,我想计算单个高度图正方形的确切高度。每个方格有 4 个高度,每个角一个高度。

例如:

在这两种情况下,点 A 都应该在高度 2 处。

在任何情况下,点 B 都应该在高度 4 处。

在这两种情况下,点 C 都应该在高度 6 处。

我认为中间任何点(如 A、B、C)的正确公式是(伪代码):

如何计算任何地方任何点的高度?

0 投票
2 回答
2690 浏览

c# - 将 GPS 坐标转换为 3D 模型

正如问题所说,我希望使用 GPS 坐标(例如来自 Google 地图)来构建 3D 模型(道路)。

所以它应该如下工作:你去谷歌地图并选择一条路线(这可以在 2 个点之间或一个电路之间)。然后,您将获得这条路线的经纬度坐标。

使用这些数据,然后将其输入到程序中,该程序生成从谷歌地图获得的坐标高度图。

我正在尝试用 C# (XNA) 制作一个演示,您可以快速生成您附近的路线以进行驾驶模拟(只要我得到主要道路部分就可以了,将无法添加道路的详细特征例如道路旁边的沟渠或实际路面上的小颠簸)。

有没有人对我什至从哪里开始这样的问题有任何想法(已经尝试过谷歌,但我能找到的最好的是这里

0 投票
1 回答
1732 浏览

javascript - Three.js、GLSL、HeightMaps + Alphamaps

我正在使用 three.js 来尝试和了解有关 OpenGL 的更多信息。无论如何,我创建了一个片段着色器,它实际上用于将纹理与 alphamap 混合,但我遇到了高度图部分的问题。如果有人有任何想法,请让我知道,因为我被卡住了。哦,我已将此作为参考:http ://threejs.org/examples/webgl_terrain_dynamic.html 。

0 投票
1 回答
2830 浏览

c++ - OpenGL:地形不绘制(高度图)

编辑:我认为问题可能出在我加载顶点和索引时。也许专注于那个部分:)

我正在尝试从 bmp 文件加载高度图并在 OpenGL 中显示它。与我尝试的大多数事情一样,一切都编译并运行没有错误,但屏幕上没有绘制任何内容。我似乎无法将问题隔离那么多,因为所有代码都可以自行运行,但是当结合起来绘制地形时,没有任何效果。

地形类

我有一个地形课。它有 2 个 VBO、1 个 IBO 和 1 个 VAO。它还存储顶点、索引、顶点的颜色和高度。它是从 bmp 文件加载的。

加载地形:

初始化缓冲区:

我创建 VBO、IBO 和 VAO 的部分适用于立方体,它们绘制得很好。

渲染地形:

着色器

这些是顶点和片段着色器。

顶点:

分段:

透视矩阵

以下是“相机”的设置:

制服填写后initGL()称为:

有人可以查看我的代码并提出建议吗?

0 投票
1 回答
2230 浏览

opengl - 有没有关于地形编辑器的好教程?

我是 3D 游戏编程的新手,现在在 Windows 上学习了很多关于 DirectX 和 OpenGL 的知识。但是我想出了一个地形编辑器,但是我无法在网上获得任何开放的教程或想法。

有没有好的教程或开源代码来学习这个?

简单的就好,我只是想知道如何升高或降低地形,或者在地图上放一棵树,就像下面的视频。

喜欢下面的视频:http ://www.youtube.com/watch?v=oaAN4zSkY24