37 lines
No EOL
1.1 KiB
GLSL
37 lines
No EOL
1.1 KiB
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);
|
|
// outTextCoords = inTextCoords;
|
|
|
|
mat4 modelViewMatrix = viewMatrix * modelMatrix;
|
|
vec4 mvPosition = modelViewMatrix * vec4(inPos, 1.0);
|
|
gl_Position = projectionMatrix * mvPosition;
|
|
outPos = mvPosition;
|
|
outNormal = normalize(modelViewMatrix * vec4(inNormal, 0.0)).xyz;
|
|
outTangent = inNormal * normalize(inTangent);
|
|
outBitangent = inNormal * normalize(inBitangent);
|
|
outTextCoords = inTextCoords;
|
|
} |