#version 330 core
  
layout(location=0) in vec3 vVertex;	//położenie wierzchołka w przestrzeni obiektu

//wyjście shadera wierzchołków
smooth out vec2 vUV;	//przekazywanie współrzędnych tekstury dla shadera fragmentów
 
//uniform
uniform mat4 MVP;		//połączona macierz modelu, widoku i rzutowania

void main()
{ 	 
	//mnożenie położenia wierzchołka przez połączoną macierz modelu, widoku i rzutowania 
	gl_Position = MVP * vec4(vVertex.xyz,1); 

	//wyznaczanie współrzędnych tekstury na podstawie położenia wierzchołka w przestrzenie obiektu
	vUV = vec2( (vVertex.x+1), vVertex.y) *0.5; 
}