light.vert 709 B

123456789101112131415161718192021222324252627282930313233
  1. // Version du GLSL
  2. #version 150 core
  3. // Entrées
  4. in vec3 in_Vertex;
  5. in vec3 in_Normale;
  6. in vec2 in_TexCoord0;
  7. // Uniform
  8. uniform mat4 pmv; // Projection * view * model
  9. uniform mat4 m; // Matrice modèle
  10. // Sortie
  11. out vec3 vertex;
  12. out vec3 normale;
  13. out vec2 coordTexture;
  14. // Fonction main
  15. void main()
  16. {
  17. // vertexition finale du vertex projeté en 3D
  18. gl_Position = pmv * vec4(in_Vertex, 1.0);
  19. // Envoi des coordonnées de texture au Fragment Shader
  20. coordTexture = in_TexCoord0;
  21. // Calcul vertexition pour la lumière
  22. normale = mat3(m) * in_Normale;
  23. normale = normalize( normale );
  24. vec4 realPosition = m * vec4(in_Vertex, 1.0);
  25. vertex = realPosition.xyz;
  26. }