класс Mesh работает с OpenGL ES 1.x и 2.0. В OpenGL ES 1.x вы используете фиксированный конвейер функций (без шейдеров). Здесь атрибут не имеет никакого смысла. В OpenGL ES 2.0 вы пишете так называемые вершинные и фрагментные шейдеры. Если вы отправляете сетку (или, вернее, ее вершины) в вашу пару шейдеров вершин / фрагментов, ваши шейдеры должны иметь возможность идентифицировать конкретные атрибуты вершин, например, положение вершин, координаты текстуры, цвета и т. Д.
Шейдеры написаны на языке GLSL. Вершинный шейдер может выглядеть так:
attribute vec4 a_Position;
attribute vec4 a_Normal;
attribute vec2 a_TexCoord;
uniform mat4 u_projView;
varying vec2 v_texCoords;
varying vec4 v_color;
void main() {
v_color = vec4(1, 0, 0, 1);
v_texCoords = a_TexCoord;
gl_Position = u_projView * a_Position;
}
Как видите, в libgdx есть так называемые атрибуты, точно такие же, как VertexAttributes. Таким образом, третьим параметром является имя VertexAttribute, используемое в шейдере (и, следовательно, ShaderProgram в libgdx, если вы используете его для удобства вместо использования простых функций GLES 2.0).
НТН,
Mario