#version 450 #extension GL_ARB_separate_shader_objects : enable layout(std140, binding = 0) uniform Transform { mat4 viewProj; mat4 model; } transform; layout(location = 0) in vec3 vPos; layout(location = 1) in vec3 vNorm; layout(location = 1) out vec3 fNorm; layout(location = 0) out vec4 fWorldPos; void main() { fNorm = (transform.model * vec4(vNorm, 0.0f)).xyz; fWorldPos = transform.model * vec4(vPos, 1.0f); gl_Position = transform.viewProj * fWorldPos; }