这是我在这里的第一篇文章;如果我好像迷路了,请原谅我,因为我。
我正在使用高度图在WebGL和three.js中实现大型地形。我可以使用常规PlaneGeometry做我想做的任何事情(到目前为止) - 设置平面,从高度图读取和分配高度值,从高度图读取和插入顶点间高度,以便玩家可以顺利地沿着高度图行走地形,无需参考几何体,并指定纹理和灯光。
问题是我似乎只限于513x513左右的顶点平面;比任何更高,一切都开始突然或崩溃。我知道解决这个问题的方法是使用缓冲测量和着色器将繁重的工作卸载到GPU上,我已经想出如何将高度读入数组,然后将该数组移到GPU上进行移位,但是现在我丢失了灯光信息,我不知道怎么回来。我想我可以添加自己的灯光,但我很确定有一种方法可以告诉着色器使用场景的灯光。我认为该解决方案与ShaderLib和/或UniformUtils有关,但我不知道如何使用它们,我在网上发现的所有例子都被破坏了。
所以我想我的问题是这样的:我如何获取现有着色器(phong,lambert)的一部分并将它们添加到我自己的代码中?