1234567891011121314151617181920212223242526272829 |
- #version 330
- // Vertex input data
- in vec3 vertexPosition;
- in vec2 vertexTexCoord;
- in vec3 vertexNormal;
- // Projection and model data
- uniform mat4 mvpMatrix;
- uniform mat4 modelMatrix;
- //uniform mat4 viewMatrix; // Not used
- // Attributes to fragment shader
- out vec2 fragTexCoord;
- out vec3 fragNormal;
- void main()
- {
- // Send texture coord to fragment shader
- fragTexCoord = vertexTexCoord;
-
- // Calculate view vector normal from model
- mat3 normalMatrix = transpose(inverse(mat3(modelMatrix)));
- fragNormal = normalize(normalMatrix*vertexNormal);
-
- // Calculate final vertex position
- gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
- }
|