30 lines
No EOL
825 B
GLSL
30 lines
No EOL
825 B
GLSL
#version 330 core
|
|
|
|
layout (location = 0) in vec3 inPos;
|
|
layout (location = 1) in vec3 inNormal;
|
|
layout (location = 2) in vec3 inTangent;
|
|
layout (location = 3) in vec3 inBitangent;
|
|
layout (location = 4) in vec2 inTextCoords;
|
|
|
|
out vec4 outPos;
|
|
out vec3 outNormal;
|
|
out vec3 outTangent;
|
|
out vec3 outBitangent;
|
|
out vec2 outTextCoords;
|
|
|
|
uniform mat4 projectionMatrix;
|
|
uniform mat4 modelMatrix;
|
|
uniform mat4 viewMatrix;
|
|
|
|
|
|
void main()
|
|
{
|
|
vec4 worldPos = modelMatrix * vec4(inPos,1);
|
|
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(inPos, 1.0);
|
|
mat3 mNormal = transpose(inverse(mat3(modelMatrix)));
|
|
outPos = worldPos;
|
|
outNormal = mNormal * normalize(inNormal);
|
|
outTangent = mNormal * normalize(inTangent);
|
|
outBitangent = mNormal * normalize(inBitangent);
|
|
outTextCoords = inTextCoords;
|
|
} |