reflection.gs 432 B

12345678910111213141516171819202122232425
  1. #version 330 core
  2. layout (triangles) in;
  3. layout (triangle_strip, max_vertices=18) out;
  4. uniform mat4 u_shadow_matrices[6];
  5. in vec2 uv[];
  6. out vec4 ffrag;
  7. out vec2 fuv;
  8. void main()
  9. {
  10. for (int face=0; face<6; ++face) {
  11. gl_Layer = face;
  12. for (int i=0; i<3; ++i) {
  13. ffrag = gl_in[i].gl_Position;
  14. fuv = uv[i];
  15. gl_Position = u_shadow_matrices[face] * ffrag;
  16. EmitVertex();
  17. }
  18. EndPrimitive();
  19. }
  20. }