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