37 lines
674 B
GLSL
37 lines
674 B
GLSL
|
|
layout(triangles) in;
|
|
layout(triangle_strip, max_vertices = 3) out;
|
|
|
|
layout(std140) uniform shadow_render_block
|
|
{
|
|
/* Use vectors to avoid alignement padding. */
|
|
ivec4 shadowSampleCount;
|
|
vec4 shadowInvSampleCount;
|
|
vec4 filterSize;
|
|
int viewCount;
|
|
int baseId;
|
|
float cubeTexelSize;
|
|
float storedTexelSize;
|
|
float nearClip;
|
|
float farClip;
|
|
float exponent;
|
|
};
|
|
|
|
in int layerID_g[];
|
|
|
|
flat out int layerID;
|
|
|
|
void main()
|
|
{
|
|
gl_Layer = layerID_g[0];
|
|
layerID = gl_Layer - baseId;
|
|
|
|
gl_Position = gl_in[0].gl_Position;
|
|
EmitVertex();
|
|
gl_Position = gl_in[1].gl_Position;
|
|
EmitVertex();
|
|
gl_Position = gl_in[2].gl_Position;
|
|
EmitVertex();
|
|
EndPrimitive();
|
|
}
|