// Version du GLSL #version 150 core // Entrées in vec3 in_Vertex; in vec3 in_Normale; in vec2 in_TexCoord0; // Uniform uniform mat4 pmv; // Projection * view * model uniform mat4 m; // Matrice modèle // Sortie out vec3 vertex; out vec3 normale; out vec2 coordTexture; // Fonction main void main() { // vertexition finale du vertex projeté en 3D gl_Position = pmv * vec4(in_Vertex, 1.0); // Envoi des coordonnées de texture au Fragment Shader coordTexture = in_TexCoord0; // Calcul vertexition pour la lumière normale = mat3(m) * in_Normale; normale = normalize( normale ); vec4 realPosition = m * vec4(in_Vertex, 1.0); vertex = realPosition.xyz; }