/* Universidade Federal Fluminense
 * Programa de Pós-Graduação em Computação
 *
 * Tópicos Avançados em Computação Visual e Interfaces II (Técnicas Avançadas de Rendering)
 * Professor: Leandro Augusto Frata Fernandes
 *
 * Version: 2012.05.16-001
 */

// User-defined matrices (from application).
uniform mat4 ModelViewProjectionMatrix;

uniform mat4 ModelViewMatrix;

// User-defined mesh attributes (from vertex buffer object).
attribute vec4 rm_Vertex;

varying vec3 ViewDirection;

// The main method.
void main(void)
{
   // OCS to Homogeneous Clip Space.
   gl_Position = ModelViewProjectionMatrix * rm_Vertex;

   vec4 fvVertexPosition = ModelViewMatrix * rm_Vertex;
   
   ViewDirection = fvVertexPosition.xyz;

}
