Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Simple Diffuse lighting Shader
- // Vertex Shader
- #version 130
- // PARAMETRY WIERZCHOŁKA
- in vec4 vVertex; // współrzędne wierzchołka
- in vec3 vNormal; // wektor normalny powierzchni w wierzchołka
- uniform vec3 vLightPosition; // pozycja światła
- uniform mat4 mvpMatrix; // macierz Model-View-Projection
- uniform mat4 mvMatrix; // macierz Model-View
- uniform mat3 normalMatrix; // macierz przekształcenia wektora normalnego
- // WYJŚCIE PROGRAMU WIERZCHOŁKA (varying)
- out vec3 vVaryingNormal;
- out vec3 vVaryingLightDir;
- void main( void )
- {
- vVaryingNormal = normalMatrix * vNormal; // normalna powierzchni w układzie współrzędnych oka (kamery)
- vec4 vPosition4 = mvMatrix * vVertex; // współrzędne wierzchołka w układzie współrzędnych oka (kamery)
- vVaryingLightDir = normalize( vLightPosition - vPosition4.xyz / vPosition4.w ); // wektor światła w układzie współrzędnych oka (kamery)
- gl_Position = mvpMatrix * vVertex; // położenie wierzchołka w przestrzeni obcinania (przemnożenie przez macierz rzutowania)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement