Javascript Threejs生成置换网格(地形模型)

Javascript Threejs生成置换网格(地形模型),javascript,three.js,mesh,heightmap,Javascript,Three.js,Mesh,Heightmap,所以我有大约59k个数据点,我正在可视化。目前,我正在将它们制作成纹理,然后将它们应用于平面几何体 现在的问题是,我需要显示一个heightmap,每个数据点都有一个高度值,我需要将其应用于网格 这样做的最佳方式是什么?之前,我使用大量的立方体几何图形来显示这些数据,然后我可以在上面更改高度。但这会影响性能,因此它不是一个真正的选项。需要置换着色器通过将计算推到GPU来提高性能 这是一个使用置换着色器的示例 之前我用大量的立方体几何图形来显示这些数据, 然后我可以改变上面的高度。但这让我们的

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

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


这样做的最佳方式是什么?之前,我使用大量的立方体几何图形来显示这些数据,然后我可以在上面更改高度。但这会影响性能,因此它不是一个真正的选项。

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

这是一个使用置换着色器的示例

之前我用大量的立方体几何图形来显示这些数据, 然后我可以改变上面的高度。但这让我们的表现更加出色 痛苦,所以这不是一个真正的选择

尝试使用和索引缓冲区。下面是索引缓冲区使用的示例(不是three.js)


检查此示例

我认为您可能需要使用顶点着色器置换着色器的官方示例:。在r72中,这将构建在MeshPhongMaterial中。只是为了澄清,我需要细分网格以获得更多顶点用于着色器,还是着色器独立于顶点工作?(抱歉,我对顶点着色器还是新手)您看到我的评论了吗^是的,你需要细分它。例子中提到了这一点。“这将设置一个场景,中心有一个半径为20的线框球体,由200x200个线段组成,并有一个摄像头从100个单位外平放观看。请尝试更改球体的半径或线段,或将摄像头或网格移动到其他地方。”(请向上投票)谢谢。明天我会尝试将它应用到我的项目中,如果它对我正在做的工作有效,我会将答案标记为正确。