Tesseract-Engine/assets/shaders/UnlitMaterial.vert

28 lines
808 B
GLSL
Raw Permalink Normal View History

#version 330 core
layout(location = 0) in vec3 aPos; // Vertex position
layout(location = 1) in vec2 aTexCoord; // Texture coordinate
layout(location = 2) in vec3 aNormal; // Vertex normal
uniform mat4 uMVP; // Model-View-Projection matrix
uniform mat4 uModel; // Model matrix
out vec2 TexCoord; // Passed to fragment shader
out vec3 Normal; // Passed to fragment shader
out vec3 FragPos; // Passed to fragment shader
void main()
{
// Compute the fragment position in world space
FragPos = vec3(uModel * vec4(aPos, 1.0));
// Transform the normal vector
Normal = mat3(transpose(inverse(uModel))) * aNormal;
// Pass through the texture coordinate
TexCoord = aTexCoord;
2024-12-30 06:51:58 +00:00
// Final vertex position
gl_Position = uMVP * vec4(aPos, 1.0);
}