showNormals_optimized.geom 479 B

123456789101112131415161718192021222324252627
  1. #version 330 core
  2. layout (triangles) in;
  3. layout (line_strip, max_vertices = 6) out;
  4. in vec3 v_normals[];
  5. uniform float u_size = 0.5;
  6. uniform mat4 u_projection; //projection matrix
  7. void emitNormal(int index)
  8. {
  9. gl_Position = u_projection * gl_in[index].gl_Position;
  10. EmitVertex();
  11. gl_Position = u_projection * (gl_in[index].gl_Position + vec4(v_normals[index],0) * u_size);
  12. EmitVertex();
  13. EndPrimitive();
  14. }
  15. void main()
  16. {
  17. emitNormal(0);
  18. emitNormal(1);
  19. emitNormal(2);
  20. }