PolylineVS.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //This file is automatically rebuilt by the Cesium build process.
  2. /*global define*/
  3. define(function() {
  4. "use strict";
  5. return "attribute vec3 position3DHigh;\n\
  6. attribute vec3 position3DLow;\n\
  7. attribute vec3 position2DHigh;\n\
  8. attribute vec3 position2DLow;\n\
  9. attribute vec3 prevPosition3DHigh;\n\
  10. attribute vec3 prevPosition3DLow;\n\
  11. attribute vec3 prevPosition2DHigh;\n\
  12. attribute vec3 prevPosition2DLow;\n\
  13. attribute vec3 nextPosition3DHigh;\n\
  14. attribute vec3 nextPosition3DLow;\n\
  15. attribute vec3 nextPosition2DHigh;\n\
  16. attribute vec3 nextPosition2DLow;\n\
  17. attribute vec4 texCoordExpandWidthAndShow;\n\
  18. attribute vec4 pickColor;\n\
  19. \n\
  20. varying vec2 v_st;\n\
  21. varying float v_width;\n\
  22. varying vec4 czm_pickColor;\n\
  23. \n\
  24. void main() \n\
  25. {\n\
  26. float texCoord = texCoordExpandWidthAndShow.x;\n\
  27. float expandDir = texCoordExpandWidthAndShow.y;\n\
  28. float width = abs(texCoordExpandWidthAndShow.z) + 0.5;\n\
  29. bool usePrev = texCoordExpandWidthAndShow.z < 0.0;\n\
  30. float show = texCoordExpandWidthAndShow.w;\n\
  31. \n\
  32. vec4 p, prev, next;\n\
  33. if (czm_morphTime == 1.0)\n\
  34. {\n\
  35. p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);\n\
  36. prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);\n\
  37. next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);\n\
  38. }\n\
  39. else if (czm_morphTime == 0.0)\n\
  40. {\n\
  41. p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\n\
  42. prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);\n\
  43. next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);\n\
  44. }\n\
  45. else\n\
  46. {\n\
  47. p = czm_columbusViewMorph(\n\
  48. czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),\n\
  49. czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),\n\
  50. czm_morphTime);\n\
  51. prev = czm_columbusViewMorph(\n\
  52. czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),\n\
  53. czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),\n\
  54. czm_morphTime);\n\
  55. next = czm_columbusViewMorph(\n\
  56. czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),\n\
  57. czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),\n\
  58. czm_morphTime);\n\
  59. }\n\
  60. \n\
  61. vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\n\
  62. gl_Position = czm_viewportOrthographic * positionWC * show;\n\
  63. \n\
  64. v_st = vec2(texCoord, clamp(expandDir, 0.0, 1.0));\n\
  65. v_width = width;\n\
  66. czm_pickColor = pickColor;\n\
  67. }\n\
  68. ";
  69. });