2026/3/30 0:30:52
网站建设
项目流程
网站seo优化网站,东阿网站建设费用,聊城建设局网站,网页设计基础课程设计问题反馈概要
Cesium中实现动态扩散圆#xff0c;关键函数仍然是czm_frameNumber。具体的方法参照上一篇流光线的实现方法#xff0c;主要的思路就是控制片元的透明度即可。
DiffusionCircleMaterial.SOURCE
czm_material czm_getMaterial(czm_materialInput materialInput) { cz…概要Cesium中实现动态扩散圆关键函数仍然是czm_frameNumber。具体的方法参照上一篇流光线的实现方法主要的思路就是控制片元的透明度即可。DiffusionCircleMaterial.SOURCE czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material czm_getDefaultMaterial(materialInput); vec2 st materialInput.st; // 计算出片元到中心点的距离 float distance distance(st, vec2(0.5, 0.5)); float speed fract(czm_frameNumber * animationSpeed); // edge表示扩散的边界比如二分之一个圆的地方。如果distance小于边界则返回0大于边界则返回1 float step step(speed * edge, distance); float alpha 0.0; if (step 0.0) { // 距离越远透明度越大 alpha color.a * (distance / speed); } // 最后让圆慢慢消失 alpha alpha * (1.0 - speed); // material.diffuse czm_gammaCorrect(color.rgb); material.alpha alpha; return material; } DiffusionCircleMaterial.TYPE DiffusionCircle效果Cesium中实现动态扩散圆