28 lines
649 B
GLSL
28 lines
649 B
GLSL
|
#version 430 core
|
||
|
layout (location = 0) out vec3 vertexPosition;
|
||
|
layout (location = 1) out vec3 vertexNormal;
|
||
|
layout (location = 2) in vec2 vertexTexCoords;
|
||
|
|
||
|
out vec3 FragPos;
|
||
|
out vec2 TexCoords;
|
||
|
out vec3 Normal;
|
||
|
|
||
|
uniform bool invertedNormals;
|
||
|
|
||
|
uniform mat4 modelMatrix;
|
||
|
uniform mat3 transformation;
|
||
|
|
||
|
uniform mat4 view;
|
||
|
uniform mat4 projection;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec4 viewPos = transformation * vec4(vertexPosition, 1.0);
|
||
|
FragPos = viewPos.xyz;
|
||
|
TexCoord = vertexTexCoords;
|
||
|
|
||
|
mat3 normalMatrix = transpose(inverse(mat3( * model)));
|
||
|
Normal = normalMatrix * (invertedNormals ? -aNormal : aNormal);
|
||
|
|
||
|
gl_Position = viewPos;
|
||
|
}
|