2
0

LightCube.vert 821 B

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