123456789101112131415161718192021222324252627282930313233 |
- // 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;
- }
|