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

//wyjście shadera wierzchołków
smooth out vec4 vSmoothColor;		//wygładzany kolor dla shadera fragmentów

//uniform
uniform mat4 MVP;	//połączona macierz modelu, widoku i rzutowania
void main()
{
	//przypisanie koloru wierzchołka do zmiennej varying vSmoothColor 
   vSmoothColor = vec4(vColor,1);

   //wyznaczanie położenia w przestrzeni przycięcia przez mnożenie macierzy MVP współrzędne  
   //wierzchołka w przestrzeni obiektu
   gl_Position = MVP*vec4(vVertex,1);
}