2
0

watersample.vert 832 B

12345678910111213141516171819202122232425262728293031323334
  1. /////////////////////////////
  2. // Attributes
  3. attribute vec4 a_position;
  4. attribute vec2 a_texCoord;
  5. /////////////////////////////
  6. // Uniforms
  7. uniform mat4 u_worldMatrix;
  8. uniform mat4 u_worldViewProjectionMatrix;
  9. uniform mat4 u_worldViewProjectionReflectionMatrix;
  10. uniform vec3 u_cameraPosition;
  11. /////////////////////////////
  12. // Varyings
  13. varying vec4 v_vertexRefractionPosition;
  14. varying vec4 v_vertexReflectionPosition;
  15. varying vec2 v_texCoord;
  16. varying vec3 v_eyePosition;
  17. /////////////////////////////
  18. void main()
  19. {
  20. v_vertexRefractionPosition = u_worldViewProjectionMatrix * a_position;
  21. v_vertexReflectionPosition = u_worldViewProjectionReflectionMatrix * a_position;
  22. gl_Position = v_vertexRefractionPosition;
  23. v_texCoord = a_texCoord;
  24. v_eyePosition = u_cameraPosition - (u_worldMatrix * a_position).xyz;
  25. }