#version 430 core layout (location = 0) in vec3 position; out vec3 frag_position; uniform mat4 view_matrix; uniform mat4 view_matrix_inverse; uniform mat4 model_matrix; uniform float time; void main() { frag_position = position; vec4 world_position = model_matrix * vec4(position, 1.0); gl_Position = view_matrix * world_position; }