blob: afc78c4a8f8900b2a351dfbf8e15718ba41644cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
layout(std140) uniform shadow_render_block {
mat4 ShadowMatrix[6];
vec4 lampPosition;
int layer;
float exponent;
};
layout(triangles) in;
layout(triangle_strip, max_vertices=3) out;
in vec4 vPos[];
flat in int face[];
out vec3 worldPosition;
void main() {
int f = face[0];
gl_Layer = f;
for (int v = 0; v < 3; ++v) {
gl_Position = ShadowMatrix[f] * vPos[v];
worldPosition = vPos[v].xyz;
EmitVertex();
}
EndPrimitive();
}
|