2012-02-03 12 views
0

私はlibgdxを使ってメッシュを作成しました。メッシュに色を塗りつぶしています。Android上のlibgdxを使ったキューブメッシュ

create() { 
     if (bigMesh == null) { 
      bigMesh = new Mesh(true, 8, 8, 
        new VertexAttribute(Usage.Position, 3, "a_position"), 
        new VertexAttribute(Usage.ColorPacked, 4, "a_color")); 

      bigMesh.setVertices(new float[] { 
        0, -0.5f, -4, Color.toFloatBits(255, 0, 0, 255), 
        1, -0.5f, -4, Color.toFloatBits(255, 0, 0, 255), 
        1, 0.5f, -4, Color.toFloatBits(255, 0, 0, 255), 
        0, 0.5f, -4, Color.toFloatBits(255, 0, 0, 255), 

        1, 0.5f, -3, Color.toFloatBits(0, 255, 0, 255), 
        1, -0.5f, -3, Color.toFloatBits(0, 255, 0, 255), 
        0, -0.5f, -3, Color.toFloatBits(0, 255, 0, 255), 
        0, 0.5f,-3, Color.toFloatBits(0, 255, 0, 255) 
        }); 
      bigMesh.setIndices(new short[] { 0, 1, 2, 3,4,5,6,7}); 
     } 
} 

render(){ 
     Gdx.gl.glClearColor(0,0,0,1); 
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
     bigMesh.render(GL10.GL_TRIANGLE_STRIP); 
} 

使用するパレメータはどれですか?私はPerspectiveCameraを使用しています。

+1

FYIでは、頂点とインデックスはキューブを作成しません。 –

答えて

0

http://code.google.com/p/libgdx-users/wiki/MeshColorを参照してください。モデル全体のデフォルトカラー、または頂点カラーのいずれかを使用できます。

頂点を変更する必要がある色を変更するには、頂点ごとの色情報があるので、メッシュ上でsetVerticesを再呼び出しします。

+0

私は問題を解決しましたが、今はキューブメッシュがありますが、イメージのテクスチャを追加したいと思います。 テクスチャが正しく読み込まれていますが、上の方の立方体に置く方法はありません。テクスチャは画像のみです。 私は今使用してレンダリングします: \t \tレンダリング(GL10.GL_TRIANGLES); もう1つの質問です:3Dプラットフォームで動作するシェーダーはありますか? ありがとうございました – user1187691

+0

新しい質問をしてください(まだ質問されていないことを確認した後、もちろん)。 –

0

イメージをキューブ内に描画するには、スクリーン上にメッシュを描画する前に、レンダリングメソッドに次の2行のコードを追加する必要があります。

Gdx.graphics.getGL10().glEnable(GL10.GL_TEXTURE_2D); 
texture.bind(); 
+0

キューブの各面に異なるテクスチャを描画できますか? – Dhaval

関連する問題