2
0

stencil_optimized.vert 599 B

123456789101112131415161718192021222324252627
  1. #version 330
  2. #pragma debug(on)
  3. in layout(location = 0) vec3 a_positions;
  4. in layout(location = 1) vec3 a_normals;
  5. //in layout(location = 2) vec2 a_texCoord;
  6. uniform mat4 u_transform;
  7. uniform mat4 u_modelTransform;
  8. out vec3 v_normals;
  9. out vec3 v_position;
  10. void main()
  11. {
  12. gl_Position = u_transform * vec4(a_positions, 1.f);
  13. v_position = (u_modelTransform * vec4(a_positions,1)).xyz;
  14. //v_normals = (u_modelTransform * vec4(a_normals,0)).xyz; //uniform scale
  15. v_normals = mat3(transpose(inverse(mat3(u_modelTransform)))) * a_normals; //non uniform scale
  16. v_normals = normalize(v_normals);
  17. }