9.8.2 Entrées du shader

Ensuite il faut préciser les entrées du shader :

1
2
in vec3 in_Vertex;
in vec3 in_Color;

Ici la variable in_Vertex aura la valeur passée avec le numéro 0 :

1
2
glEnableVertexAttribArray(0);  //le 0 correspond à la première variable du shader
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, p_vertices);

Dans ce cas p_vertices serait un tableau de vecteurs à trois dimensions car c'est bien un vec3 en entrée du shader.

Ici la variable in_Color aura la valeur passée avec le numéro 1 :

1
2
glEnableVertexAttribArray(1);  //le 1 correspond à la deuxième variable du shader
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, p_rouge);

p_rouge serait un tableau de couleur, qui mettrait tout les vertices du tableau p_vertices en rouge (par exemple).