我正在努力在 libGDX 中生成程序 3D 地形。我已经设法创建了网格,但是现在我很难找到一种有效的纹理化方法。
我现在这样做的方法是创建一个像素图并遍历所有高度图值。根据每个高度值,我从适当的纹理中提取一个像素(例如,如果值 < 100,则从水纹理中提取一个像素,如果 > 100 && < 150,则从沙子纹理中提取像素等),然后一些混合我把它放在我创建的像素图中。最后,我将根据我创建的像素图生成一个新纹理并将其分配给地形。这有效并给出了令人满意的结果,但是迭代每个像素并以这种方式创建纹理会导致我的游戏性能非常差并且启动时间很长。我的问题是,我还有什么其他选择?
有没有比一次一个像素地遍历像素图更有效的方法来创建纹理?有没有办法有效地“复制像素图的一部分并将其粘贴到另一个”?
我应该以完全不同的方式来做吗?也许是 FBO 或着色器?如果是这样,请指点我一些资源,我对这些资源没有太多经验。
谢谢!