android libgdx将6种不同的纹理绑定到立方体

时间:2012-07-23 12:16:18

标签: android libgdx

我正在为Android开发游戏,我必须在每个脸上绘制具有不同纹理的立方体。

我正在使用libgdx游戏开发框架来开发这个游戏。

我绘制多维数据集的代码如下:

public void draw(GL10 gl) 
{
    Mesh cube_mesh  =   ModelLoaderOld.loadObj(Gdx.files.internal("data/cube.obj").read());
    cube_mesh.render(GL10.GL_TRIANGLES);}

现在我想将6个不同的纹理绑定到这个立方体。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

我会考虑在代码中创建您的多维数据集,而不是从obj文件加载它。这将允许您完全自定义纹理坐标的生成,您最有可能需要创建有效的解决方案。

不是使用6个纹理,而是使用一个纹理,但为每个面指定一组不同的坐标。然后,每个纹理坐标将指向纹理图集上的位置。这样,您甚至可以在一个大纹理图集中拥有多个立方体纹理。这种方式效率会更高,因为它可以最大限度地减少纹理切换。

对于每个面具有自己的纹理坐标集的立方体,每个面需要4个顶点,每个面需要6个索引。所以共有24个顶点和36个索引。