Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. // Simple Diffuse lighting Shader
  2. // Vertex Shader
  3. #version 130
  4.  
  5. // PARAMETRY WIERZCHOŁKA
  6. in vec4 vVertex; // współrzędne wierzchołka
  7. in vec3 vNormal; // wektor normalny powierzchni w wierzchołka
  8.  
  9.  
  10.  
  11. uniform vec3 vLightPosition; // pozycja światła
  12. uniform mat4 mvpMatrix; // macierz Model-View-Projection
  13. uniform mat4 mvMatrix; // macierz Model-View
  14. uniform mat3 normalMatrix; // macierz przekształcenia wektora normalnego
  15.  
  16. // WYJŚCIE PROGRAMU WIERZCHOŁKA (varying)
  17. out vec3 vVaryingNormal;
  18. out vec3 vVaryingLightDir;
  19.  
  20. void main( void )
  21. {
  22. vVaryingNormal = normalMatrix * vNormal; // normalna powierzchni w układzie współrzędnych oka (kamery)
  23.  
  24. vec4 vPosition4 = mvMatrix * vVertex; // współrzędne wierzchołka w układzie współrzędnych oka (kamery)
  25.  
  26. vVaryingLightDir = normalize( vLightPosition - vPosition4.xyz / vPosition4.w ); // wektor światła w układzie współrzędnych oka (kamery)
  27.  
  28.  
  29.  
  30. gl_Position = mvpMatrix * vVertex; // położenie wierzchołka w przestrzeni obcinania (przemnożenie przez macierz rzutowania)
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement