#version 420 core layout(triangles, invocations = 4) in; // здесь invocations должно соответствовать количеству каскадов layout(triangle_strip, max_vertices = 3) out; uniform mat4 Sun_VP[4]; // Матрицы вида и проекции каскадов void main() { for (int i = 0; i < 3; ++i) { gl_Position = Sun_VP[gl_InvocationID] * gl_in[i].gl_Position; gl_Layer = gl_InvocationID; EmitVertex(); } EndPrimitive(); }