PolylineGlowMaterial.glsl 703 B

12345678910111213141516171819202122232425
  1. uniform vec4 color;
  2. uniform float glowPower;
  3. uniform float taperPower;
  4. czm_material czm_getMaterial(czm_materialInput materialInput)
  5. {
  6. czm_material material = czm_getDefaultMaterial(materialInput);
  7. vec2 st = materialInput.st;
  8. float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5);
  9. if (taperPower <= 0.99999) {
  10. glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5));
  11. }
  12. vec4 fragColor;
  13. fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);
  14. fragColor.a = clamp(0.0, 1.0, glow) * color.a;
  15. fragColor = czm_gammaCorrect(fragColor);
  16. material.emission = fragColor.rgb;
  17. material.alpha = fragColor.a;
  18. return material;
  19. }