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*

Cesium 与 Babylon.js 可视化 glsl 特效篇(三十五) - 小专栏

posted @ 2023-03-15 20:00  haibalai  阅读(25)  评论(0编辑  收藏  举报