SHARE
TWEET

Untitled

a guest Oct 23rd, 2019 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top