Can anyone this shader explan?

1. A concise explanation of the problem you’re experiencing.

I am making a custome shader.

2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

"czm_material czm_getMaterial(czm_materialInput materialInput)\n" +

"{\n czm_material material = czm_getDefaultMaterial(materialInput);\n" +

"material.diffuse = 1.5 * color.rgb;\n" +

"vec2 st = materialInput.st;\n" +

"float dis = distance(st, vec2(0.5, 0.5));\n" +

"float per = fract(time);\n" +

"if(dis > per * 0.5){\n" +

"discard;\n" +

"}else {\n" +

"material.alpha = color.a * dis / per / 2.0;\n" +

"}\n" +

"return material;\n" +

"}"

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

4. The Cesium version you’re using, your operating system and browser.

Can you explain what kind of effect you’re trying to do?