使用Libgdx进行高效的3D块渲染

时间:2014-03-12 09:43:33

标签: java performance 3d libgdx culling

1 个答案:

答案 0 :(得分:1)

ModelBuilder#createRect将为每个矩形创建一个新模型。渲染(部分)模型实例时,它意味着绘制调用。因此,ModelBuilder #createRect效率极低。最好将多个矩形组合成一个(部分)模型。这可以使用:

完成
modelBuilder.begin();
MeshPartBuilder mpb = modelBuilder.part(....);
mpb.rect(...); // first rect.
mpb.rect(...); // second rect.
// etc.
Model model = modelBuilder.end();

请注意,这仍然不够有效,例如体素引擎。如果您的目标是优化体素,您可能希望在自定义RenderableProvider中构建网格(在视锥体剔除和深度排序之后)。这是一个例子:https://github.com/libgdx/libgdx/tree/master/tests/gdx-tests/src/com/badlogic/gdx/tests/g3d/voxel