33 lines
No EOL
594 B
GLSL
33 lines
No EOL
594 B
GLSL
layout(triangles) in;
|
|
layout(triangle_strip, max_vertices = 18) out;
|
|
|
|
layout(binding = 8) uniform UBO
|
|
{
|
|
mat4 viewMatrices[6];
|
|
} ubo;
|
|
|
|
in VS_OUT {
|
|
vec2 uv;
|
|
vec3 fragpos;
|
|
} vs_in[];
|
|
|
|
out VS_OUT {
|
|
vec2 uv;
|
|
vec3 fragpos;
|
|
} vs_out;
|
|
|
|
void main()
|
|
{
|
|
for (int face = 0; face < 6; ++face) {
|
|
gl_Layer = face;
|
|
for (int i = 0; i < 3; ++i) {
|
|
vs_out.uv = vs_in[i].uv;
|
|
vs_out.fragpos = vs_in[i].fragpos;
|
|
|
|
gl_Position = ubo.viewMatrices[face] * gl_in[i].gl_Position;
|
|
|
|
EmitVertex();
|
|
}
|
|
EndPrimitive();
|
|
}
|
|
} |