TSR_ECS/main/shaders/basic.vs
2023-12-25 18:47:55 +01:00

21 lines
484 B
GLSL

#version 330 core
layout (location = 0) in vec3 a_position;
layout (location = 1) in vec2 a_texcoord;
layout (location = 2) in vec3 a_normal;
uniform mat4 u_vp;
uniform mat4 u_model;
out vec3 v_fragpos;
out vec2 v_texcoord;
out vec3 v_normal;
void main() {
v_texcoord = a_texcoord;
v_normal = normalize(mat3(transpose(inverse(u_model))) * a_normal);
vec4 fragpos4 = u_model * vec4(a_position, 1.0);
v_fragpos = vec3(fragpos4);
gl_Position = u_vp * fragpos4;
}