【问题标题】:Threejs make a displaced mesh (terrain model) [closed]Threejs制作位移网格(地形模型)[关闭]
【发布时间】:2015-12-03 13:18:03
【问题描述】:

所以我有大约 59k 数据点要进行可视化。目前我正在将它们制作成纹理,然后将它们应用于平面几何。

现在的问题是我需要显示一个高度图,每个数据点都有一个高度值,我需要将它应用于网格。

最好的方法是如何做到这一点?以前我使用大量的立方体几何图形来显示这些数据,然后我可以改变它的高度。但这会影响性能,所以它不是一个真正的选择。

【问题讨论】:

标签: javascript three.js mesh heightmap


【解决方案1】:

以前我使用大量立方体几何图形来显示这些数据, 然后我可以改变高度。但这做出了表现 受苦,所以这不是一个真正的选择。

尝试使用THREE.BufferGeometry 和索引缓冲区。这是索引缓冲区使用示例(不是三个.js)https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Creating_3D_objects_using_WebGL

查看此示例http://alteredqualia.com/three/examples/webgl_cubes.html

【讨论】:

    【解决方案2】:

    需要置换着色器通过将计算推送到 GPU 来提高性能。

    这是使用置换着色器的good example

    This is an example of heightmap using displacement shader

    【讨论】:

    • 澄清一下,我是否需要细分网格以获得更多顶点以与着色器一起使用,或者着色器是否独立于顶点工作? (抱歉,我还是顶点着色器的新手)
    • 你看到我的评论了吗? ^
    • 是的,你需要细分它。例子中提到了。 “这设置了一个场景,其中有一个半径为 20 的线框球体,由 200x200 段组成,在中心,一个摄像机从 100 个单位外平视它。尝试更改球体中的半径或段,或者将相机或网格移动到其他地方。” (请给答案投票)
    • 谢谢。明天我会尝试将它应用到我的项目中,如果它适用于我正在做的事情,我会将答案标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2015-12-16
    • 2020-11-21
    • 2015-03-02
    • 1970-01-01
    • 2012-02-26
    相关资源
    最近更新 更多