21 lines
458 B
GLSL
21 lines
458 B
GLSL
#version 330 core
|
|
|
|
layout (location = 0) in vec3 a_position;
|
|
layout (location = 1) in vec3 a_normal;
|
|
|
|
uniform mat4 u_model;
|
|
uniform mat4 u_view;
|
|
uniform mat4 u_projection;
|
|
|
|
out vec3 frag_position;
|
|
out vec3 frag_normal;
|
|
|
|
void main()
|
|
{
|
|
vec4 world_position = u_model * vec4(a_position, 1.0);
|
|
|
|
gl_Position = u_projection * u_view * world_position;
|
|
|
|
frag_position = world_position.xyz;
|
|
frag_normal = mat3(transpose(inverse(u_model))) * a_normal;
|
|
} |