PolylineMaterialAppearanceVS.glsl 848 B

123456789101112131415161718192021222324252627282930313233
  1. in vec3 position3DHigh;
  2. in vec3 position3DLow;
  3. in vec3 prevPosition3DHigh;
  4. in vec3 prevPosition3DLow;
  5. in vec3 nextPosition3DHigh;
  6. in vec3 nextPosition3DLow;
  7. in vec2 expandAndWidth;
  8. in vec2 st;
  9. in float batchId;
  10. out float v_width;
  11. out vec2 v_st;
  12. out float v_polylineAngle;
  13. void main()
  14. {
  15. float expandDir = expandAndWidth.x;
  16. float width = abs(expandAndWidth.y) + 0.5;
  17. bool usePrev = expandAndWidth.y < 0.0;
  18. vec4 p = czm_computePosition();
  19. vec4 prev = czm_computePrevPosition();
  20. vec4 next = czm_computeNextPosition();
  21. float angle;
  22. vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);
  23. gl_Position = czm_viewportOrthographic * positionWC;
  24. v_width = width;
  25. v_st.s = st.s;
  26. v_st.t = czm_writeNonPerspective(st.t, gl_Position.w);
  27. v_polylineAngle = angle;
  28. }