Сетка куба с libgdx на Android - PullRequest
0 голосов
/ 03 февраля 2012

Я сделал сетку с помощью 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.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2012

Для рисования изображений в кубе необходимо добавить следующие две строки кода в метод рендеринга, прежде чем рисовать сетку на экране.

Gdx.graphics.getGL10().glEnable(GL10.GL_TEXTURE_2D);
texture.bind();
0 голосов
/ 04 февраля 2012

См. http://code.google.com/p/libgdx-users/wiki/MeshColor. Вы можете использовать цвет по умолчанию для всей модели или цвет для каждой вершины.

В вашем примере есть информация о цвете для каждой вершины, поэтомучтобы изменить цвет, нужно изменить вершины и повторно вызвать setVertices на сетке.

...