SunVS.glsl 640 B

12345678910111213141516171819202122232425262728
  1. attribute vec2 direction;
  2. uniform float u_size;
  3. varying vec2 v_textureCoordinates;
  4. void main()
  5. {
  6. vec4 position;
  7. if (czm_morphTime == 1.0)
  8. {
  9. position = vec4(czm_sunPositionWC, 1.0);
  10. }
  11. else
  12. {
  13. position = vec4(czm_sunPositionColumbusView.zxy, 1.0);
  14. }
  15. vec4 positionEC = czm_view * position;
  16. vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);
  17. vec2 halfSize = vec2(u_size * 0.5);
  18. halfSize *= ((direction * 2.0) - 1.0);
  19. gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);
  20. v_textureCoordinates = direction;
  21. }