Cesium 与 Babylon.js 可视化 glsl 特效篇(三十五)
我决定不从Babylonjs 基础来讲了 直接整合cesium与babylonjs可视化来讲
我整合一个类库 后续不断更新中
- npm i @haibalai/cesium-babylonjs
初始化cesium -babylonjs 类库, map 是cesium 的viewer对象
- import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
- BabylonMapManager.init(map);
添加特效
- import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
- const fragmentShader = `
- uniform float time;
- vec2 iResolution = vec2(1.0,1.0);
- varying vec2 vUv;
- #define AA 1
- #define HEIGHT 12.
- vec3 _col;
- #define iTime time
- #define PI 3.14159
- #define TAU 6.28318
- vec3 spunk(vec2 uv)
- {
- vec3 col = vec3(.55,0.35,1.225);
- uv.x += sin(0.2+uv.y*0.8)*0.5;
- uv.x = uv.x*50.0;
- float dx = fract(uv.x);
- uv.x = floor(uv.x);
- float t = iTime*0.4;
- uv.y *= 0.15;
- float o=sin(uv.x*215.4);
- float s=cos(uv.x*33.1)*.3 +.7;
- float trail = mix(95.0,35.0,s);
- float yv = fract(uv.y + t*s + o) * trail;
- yv = 1.0/yv;
- yv = smoothstep(0.0,1.0,yv*