Understanding the concept of vertex arrays
From what I understand, the array in vertex array (object) refers to the array of different attributes (inputs/uniform) that are entries for vertes data into the vertex shader. So if my vertex shader looked like this:
#version 430 core
layout (location=0) in vec4 vertex_position;
layout (location=2) in vec3 vertex_color;
out vec3 pass_through_color;
gl_Position = vertex_position;
pass_through_color = vertex_color;
, then the "array" of the VAO is defined by the list of inputs to the shader, namely vertex_position and vertex_color, and their locations in this array can be specified by the location specifier of the layout descriptor (locations 0 and 2 respectively).
And I imagine for a particular implementation of the GL, MAX_VERTEX_ATTRIBS defines the maximum number of distinct input parameters that a vertex shader can have.
Is this understanding correct? Thanks for your help