123456789101112131415161718192021222324252627282930313233343536 |
- uniform vec4 fadeInColor;
- uniform vec4 fadeOutColor;
- uniform float maximumDistance;
- uniform bool repeat;
- uniform vec2 fadeDirection;
- uniform vec2 time;
- float getTime(float t, float coord)
- {
- float scalar = 1.0 / maximumDistance;
- float q = distance(t, coord) * scalar;
- if (repeat)
- {
- float r = distance(t, coord + 1.0) * scalar;
- float s = distance(t, coord - 1.0) * scalar;
- q = min(min(r, s), q);
- }
- return clamp(q, 0.0, 1.0);
- }
- czm_material czm_getMaterial(czm_materialInput materialInput)
- {
- czm_material material = czm_getDefaultMaterial(materialInput);
-
- vec2 st = materialInput.st;
- float s = getTime(time.x, st.s) * fadeDirection.s;
- float t = getTime(time.y, st.t) * fadeDirection.t;
-
- float u = length(vec2(s, t));
- vec4 color = mix(fadeInColor, fadeOutColor, u);
-
- material.emission = color.rgb;
- material.alpha = color.a;
-
- return material;
- }
|