Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

CircleDiffuseMaterial.glsl 945B

123456789101112131415161718192021222324
  1. uniform vec4 color;
  2. uniform float speed;
  3. vec3 circlePing(float r, float innerTail, float frontierBorder, float timeResetSeconds, float radarPingSpeed, float fadeDistance){
  4. float t = fract(czm_frameNumber * speed / 1000.0);
  5. float time = mod(t, timeResetSeconds) * radarPingSpeed;
  6. float circle;
  7. circle += smoothstep(time - innerTail, time, r) * smoothstep(time + frontierBorder,time, r);
  8. circle *= smoothstep(fadeDistance, 0.0, r);
  9. return vec3(circle);
  10. }
  11. czm_material czm_getMaterial(czm_materialInput materialInput){
  12. czm_material material = czm_getDefaultMaterial(materialInput);
  13. vec2 st = materialInput.st * 2.0 - 1.0 ;
  14. vec2 center = vec2(0.);
  15. float time = fract(czm_frameNumber * speed / 1000.0);
  16. vec3 flagColor;
  17. float r = length(st - center) / 4.;
  18. flagColor += circlePing(r, 0.25, 0.025, 4.0, 0.3, 1.0) * color.rgb;
  19. material.alpha = length(flagColor);
  20. material.diffuse = flagColor.rgb;
  21. return material;
  22. }