DefaultShader.vert 765 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifdef GL_ES
  2. precision mediump float;
  3. #endif
  4. attribute lowp vec4 position;
  5. attribute lowp vec3 normal;
  6. attribute lowp vec2 texCoord;
  7. uniform mat4 modelMatrix;
  8. uniform mat4 viewMatrix;
  9. uniform mat4 projectionMatrix;
  10. varying lowp vec2 texCoordVar;
  11. varying lowp vec3 varNormal;
  12. varying lowp vec4 varPosition;
  13. mat3 mat3_emu(mat4 m4) {
  14. return mat3(
  15. m4[0][0], m4[0][1], m4[0][2],
  16. m4[1][0], m4[1][1], m4[1][2],
  17. m4[2][0], m4[2][1], m4[2][2]);
  18. }
  19. void main()
  20. {
  21. mat4 modelViewMatrix = viewMatrix * modelMatrix;
  22. lowp vec4 p = modelViewMatrix * position;
  23. lowp mat3 rotN = mat3_emu(modelViewMatrix);
  24. varNormal = normalize(rotN * normal);
  25. varPosition = modelViewMatrix * position;
  26. gl_Position = projectionMatrix * p;
  27. texCoordVar = texCoord;
  28. }