#version 130 in vec3 vPosition; in vec2 vTexCoords; in vec3 vNormal; out vec3 vPosition2; out vec2 vTexCoords2; out vec3 vNormal2; uniform mat4 modelMatrix; uniform mat4 viewMatrix; uniform mat4 projectionMatrix; uniform mat3 normalMatrix; mat4 modelViewMatrix; mat4 modelViewProjectionMatrix; void main() { // Handle texCoords vTexCoords2 = vTexCoords; // Handle normal vNormal2 = normalize(normalMatrix * vNormal); // Matrices modelViewMatrix = viewMatrix * modelMatrix; modelViewProjectionMatrix = projectionMatrix * modelViewMatrix; // Handle position vPosition2 = vec3((modelViewMatrix * vec4(vPosition, 1.0)).xyz); gl_Position = modelViewProjectionMatrix * vec4(vPosition, 1.0); }