raylib/shaders/glsl330/phong.vs

29 lines
686 B
Plaintext
Raw Normal View History

#version 330
2016-05-18 13:04:27 +03:00
// Input vertex attributes
in vec3 vertexPosition;
in vec2 vertexTexCoord;
in vec3 vertexNormal;
2016-05-18 13:04:27 +03:00
// Input uniform values
2016-01-13 19:13:28 +03:00
uniform mat4 mvpMatrix;
2016-05-18 13:04:27 +03:00
// Output vertex attributes (to fragment shader)
out vec2 fragTexCoord;
out vec3 fragNormal;
2016-05-18 13:04:27 +03:00
// NOTE: Add here your custom variables
uniform mat4 modelMatrix;
void main()
{
2016-05-18 13:04:27 +03:00
// Send vertex attributes to fragment shader
fragTexCoord = vertexTexCoord;
2016-05-18 13:04:27 +03:00
// Calculate view vector normal from model
mat3 normalMatrix = transpose(inverse(mat3(modelMatrix)));
2016-01-13 19:13:28 +03:00
fragNormal = normalize(normalMatrix*vertexNormal);
// Calculate final vertex position
2016-01-13 19:13:28 +03:00
gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
}