#version 450 // Shadow pass 顶点着色器:只关心位置,输出光空间深度。 // push_constant 两个字 mat4 = 128 字节,正好在最小保证上限内。 layout(location = 0) in vec3 inPosition; layout(push_constant) uniform PushConstants { mat4 lightVP; // 光空间变换(正交) mat4 model; // 实体世界矩阵 } pc; void main() { gl_Position = pc.lightVP * pc.model * vec4(inPosition, 1.0); }