raidillon/assets/shaders/gl_textured.vert

23 lines
543 B
GLSL

#version 330 core
in vec3 position;
in vec3 normal;
in vec2 tex_coords;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
uniform vec2 uv_offset;
uniform vec2 uv_scale;
out vec3 v_world_normal;
out vec2 v_tex;
out vec3 v_world_pos;
void main() {
mat3 model3 = mat3(model);
v_world_normal = normalize(transpose(inverse(model3)) * normal);
v_tex = tex_coords * uv_scale + uv_offset;
v_world_pos = (model * vec4(position, 1.0)).xyz;
gl_Position = projection * view * vec4(v_world_pos, 1.0);
}