在我的游戏中,玩家在太空中飞行并且必须避开小行星。小行星只是我使用Mesh类绘制的简单多边形。对于所有的多边形,我只使用一个Mesh类对象,它工作正常。为了给它们的外观添加一些变化,我想使用4种纹理。
我的问题是,我是否必须为每个纹理创建不同的Mesh对象,或者有可能只使用一个Mesh类对象?我读到最好使用尽可能少的Mesh对象来提高性能,因为它是一款Android游戏,我当然可以使用性能提升。
将一个纹理绑定到网格的内部绘制方法我使用此代码:
mShaderProgram.begin();
mShaderProgram.setUniformMatrix("u_projTrans", mCamera.getCamera().combined);
Gdx.graphics.getGL20().glEnable(GL20.GL_TEXTURE_2D);
mTexture.bind();
mMesh.render(mShaderProgram, GL20.GL_TRIANGLES);
mShaderProgram.end();