#version 450 layout(binding = 0) uniform matrix_state { mat4 mviewproj; } m; layout(location = 1) in vec3 attr_pos; layout(location = 2) in vec3 attr_normal; layout(location = 0) out vec3 normal; void main() { gl_Position = m.mviewproj * vec4(attr_pos, 1.0); normal = attr_normal; }