Veo una cantidad diferente de vértices en diferentes sitios en línea para representar el mismo cubo en OpenGL ES. Por ejemplo, este es uno:¿Cuántos vértices se necesitan para dibujar un cubo en OpenGL ES?
float vertices[] = { -width, -height, -depth, // 0
width, -height, -depth, // 1
width, height, -depth, // 2
-width, height, -depth, // 3
-width, -height, depth, // 4
width, -height, depth, // 5
width, height, depth, // 6
-width, height, depth // 7
};
short indices[] = { 0, 2, 1,
0, 3, 2,
1,2,6,
6,5,1,
4,5,6,
6,7,4,
2,3,6,
6,3,7,
0,7,3,
0,4,7,
0,1,5,
0,5,4
};
Y aquí es otra:
float vertices[] = {
//Vertices according to faces
-1.0f, -1.0f, 1.0f, //Vertex 0
1.0f, -1.0f, 1.0f, //v1
-1.0f, 1.0f, 1.0f, //v2
1.0f, 1.0f, 1.0f, //v3
1.0f, -1.0f, 1.0f, //...
1.0f, -1.0f, -1.0f,
1.0f, 1.0f, 1.0f,
1.0f, 1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
-1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, 1.0f,
-1.0f, -1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
-1.0f, 1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
};
Cuál es la representación más alto rendimiento en OpenGL ES (Tenga en cuenta que se trata de OpenGL ES y no OpenGL)? Cuál es la mejor representación cuando quiero especificar las normales para la iluminación. En uno de mis otros quations en SO, tengo la impresión de que necesito especificar 24 vértices para el cubo, otro dice que necesito 36 vértices, y otro dice que necesito un número diferente para obtener respuestas contradictorias a la misma pregunta. De todos modos, quiero saber la respuesta única correcta que es técnicamente correcta.
Yo sé que hay un concepto de aficionados Triángulo Triángulo de Gaza o de dibujo, etc., pero en mi caso estoy usando:
gl.glDrawElements(GL10.GL_TRIANGLES, mNumOfIndices,
GL10.GL_UNSIGNED_SHORT, mIndicesBuffer);
lo que este debe aclarar con claridad lo que estoy pidiendo.
Es posible que se requieran vértices adicionales si el cubo varía de cara a cara. Por ejemplo, un cubo con diferentes colores en cada cara podría requerir 24 vértices y 36 índices si se dibuja con glTriangles. Si no todas las caras del cubo son visibles, el dibujo podría optimizarse al no dibujar las caras que no son visibles, reduciendo el recuento de índices. –
@Mr. Berna - Buen punto. He integrado esto en mi respuesta, porque parece que está buscando diferentes colores para las caras de su cubo. –
@Brad Larson - Perdón por publicar en este hilo antiguo, pero creo que los índices deben ser {0, 1, 2, 3, 7, 1, 6, 4, 7, 5, 2, 4, 0, 1} para forma un cubo correcto al menos el tuyo no funcionó para mí. =) – Dafen