自定义材质效果如下,
示例源码如下,
const blinkRadiusMaterial = new Cesium.Material({
fabric:{
type:"blinkRadiusMaterial",
uniforms:{
speed:50.0,//旋转速度
pulseRadius:0.5,//取值[0-1]
sectorCount:4.0,//边缘弧段个数
selectorWidth:0.05,//边缘弧段宽度
},
source:
`
#define PI 3.1415926
#define TWOPI = 6.2831853
float iTime = czm_frameNumber/speed;
vec2 angleRadius(vec2 uv) {
uv = uv-vec2(0.5);
float anglePixel = atan(uv.y, uv.x);
float lengthPixel = length(uv);
return vec2(anglePixel, lengthPixel);
}
float filterPositive(float n) {
return smoothstep(0.0, 0.005, n);
}
float circle(float radius, vec2 center, vec2 uv)