#version 330 core layout (triangles) in; layout (triangle_strip, max_vertices=18) out; out vec4 fragPos; uniform mat4 shadowMat[6]; uniform bool point; void main(){ if(point) for(int i=0;i<6;i++){ gl_Layer=i; for(int j=0;j<3;j++){ fragPos=gl_in[j].gl_Position; gl_Position=shadowMat[i]*fragPos; EmitVertex(); } EndPrimitive(); } }