Я вижу разное количество вершин на разных онлайн-сайтах для представления одного и того же куба в 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
};
А вот еще один:
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,
};
Какое представление является самой высокой производительностью в OpenGL ES (обратите внимание, что это OpenGL ES, а не OpenGL)? Что является лучшим представлением, когда я хочу указать нормали для освещения. В одной из моих других цитат о SO у меня сложилось впечатление, что мне нужно указать 24 вершины для куба, другая говорит, что мне нужно 36 вершин, а другая говорит, что мне нужно другое число, чтобы получить противоречивые ответы на тот же вопрос. В любом случае, я хочу знать правильный единственный ответ, который технически правильный.
Я знаю, что для рисования существует концепция вентиляторов с треугольной полосой, треугольника и т. Д., Но в моем случае я использую:
gl.glDrawElements(GL10.GL_TRIANGLES, mNumOfIndices,
GL10.GL_UNSIGNED_SHORT, mIndicesBuffer);
Так что это должно ясно прояснить то, что я спрашиваю.