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



我正在为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个不同的纹理绑定到这个立方体上。我该怎么做?

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

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

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

最新更新