layout (location=0) in vec3 a_co; layout (location=1) in vec3 a_norm; layout (location=2) in vec2 a_uv; uniform mat4 uPv; uniform mat4x3 uMdl; out vec3 aNorm; out vec2 aUv; out vec3 aCo; void main() { vec3 world_pos = uMdl * vec4( a_co, 1.0 ); gl_Position = uPv * vec4(world_pos,1.0); aNorm = a_norm; aCo = world_pos; aUv = a_uv; }