// XC_BUILTIN_SHADOW_CASTER_VULKAN_VS #version 450 layout(location = 0) in vec3 aPosition; layout(location = 2) in vec2 aTexCoord; layout(set = 0, binding = 0, std140) uniform PerObjectConstants { mat4 gProjectionMatrix; mat4 gViewMatrix; mat4 gModelMatrix; }; layout(location = 0) out vec2 vTexCoord; void main() { vec4 positionWS = gModelMatrix * vec4(aPosition, 1.0); vec4 positionVS = gViewMatrix * positionWS; gl_Position = gProjectionMatrix * positionVS; vTexCoord = aTexCoord; }