FadeMaterial.js 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. //This file is automatically rebuilt by the Cesium build process.
  2. export default "uniform vec4 fadeInColor;\n\
  3. uniform vec4 fadeOutColor;\n\
  4. uniform float maximumDistance;\n\
  5. uniform bool repeat;\n\
  6. uniform vec2 fadeDirection;\n\
  7. uniform vec2 time;\n\
  8. float getTime(float t, float coord)\n\
  9. {\n\
  10. float scalar = 1.0 / maximumDistance;\n\
  11. float q = distance(t, coord) * scalar;\n\
  12. if (repeat)\n\
  13. {\n\
  14. float r = distance(t, coord + 1.0) * scalar;\n\
  15. float s = distance(t, coord - 1.0) * scalar;\n\
  16. q = min(min(r, s), q);\n\
  17. }\n\
  18. return clamp(q, 0.0, 1.0);\n\
  19. }\n\
  20. czm_material czm_getMaterial(czm_materialInput materialInput)\n\
  21. {\n\
  22. czm_material material = czm_getDefaultMaterial(materialInput);\n\
  23. vec2 st = materialInput.st;\n\
  24. float s = getTime(time.x, st.s) * fadeDirection.s;\n\
  25. float t = getTime(time.y, st.t) * fadeDirection.t;\n\
  26. float u = length(vec2(s, t));\n\
  27. vec4 color = mix(fadeInColor, fadeOutColor, u);\n\
  28. color = czm_gammaCorrect(color);\n\
  29. material.emission = color.rgb;\n\
  30. material.alpha = color.a;\n\
  31. return material;\n\
  32. }\n\
  33. ";