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