// XC_BUILTIN_FORWARD_LIT_VULKAN_VS #version 450 layout(location = 0) in vec3 aPosition; layout(location = 1) in vec3 aNormal; layout(location = 2) in vec2 aTexCoord; layout(set = 0, binding = 0, std140) uniform PerObjectConstants { mat4 gProjectionMatrix; mat4 gViewMatrix; mat4 gModelMatrix; mat4 gNormalMatrix; vec4 gMainLightDirectionAndIntensity; vec4 gMainLightColorAndFlags; }; layout(location = 0) out vec3 vNormalWS; layout(location = 1) out vec2 vTexCoord; layout(location = 2) out vec3 vPositionWS; void main() { vec4 positionWS = gModelMatrix * vec4(aPosition, 1.0); vec4 positionVS = gViewMatrix * positionWS; gl_Position = gProjectionMatrix * positionVS; vNormalWS = mat3(gNormalMatrix) * aNormal; vTexCoord = aTexCoord; vPositionWS = positionWS.xyz; }