Terrain4J_Experimental_branch/resources/EngineResources/GLShaders/scene_vert.glsl
2026-08-29 19:42:11 +01:00

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;
}