2012-07-23 57 views
0

我正在開發Android遊戲,我必須在每張臉上繪製具有不同紋理的立方體。android libgdx bind 6 diffrent texture to cube

我使用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個不同的紋理綁定到這個立方體。我怎樣才能做到這一點?

回答

2

我會考慮在代碼中創建多維數據集,而不是從obj文件加載它。這將允許您完全自定義紋理座標的生成,這將很可能需要您創建有效的解決方案。

而不是使用6紋理,你只需使用一個紋理,但爲每個面指定一組不同的座標。然後每個紋理座標將指向紋理圖集上的一個位置。這樣,您甚至可以在一個大紋理圖集中使用多個立方體紋理。這樣做會更有效率,因爲它會最小化紋理切換。

對於每個人臉具有自己的一組紋理座標的立方體,每個人臉需要4個頂點,每個人臉上有6個索引。所以共有24個頂點和36個索引。

+0

嗨感謝您的回覆,但有你的任何示例代碼? – Dhaval 2012-07-25 04:36:08

+0

那裏有很多教程,我可以建議你看看http://blog.xoppa.com/ – 2014-01-11 16:55:13