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 = `
- #define SMOOTH(r,R) (1.0-smoothstep(R-1.0,R+1.0, r))
- #define RANGE(a,b,x) ( step(a,x)*(1.0-step(b,x)) )
- #define RS(a,b,x) ( smoothstep(a-1.0,a+1.0,x)*(1.0-smoothstep(b-1.0,b+1.0,x)) )
- #define M_PI 3.1415926535897932384626433832795
- #define blue1 vec3(0.74,0.95,1.00)
- #define blue2 vec3(0.87,0.98,1.00)
- #define blue3 vec3(0.35,0.76,0.83)
- #define blue4 vec3(0.953,0.969,0.89)
- #define red vec3(1.00,0.38,0.227)
- #define MOV(a,b,c,d,t) (vec2(a*cos(t)+b*cos(0.1*(t)), c*sin(t)+d*cos(0.1*(t))))
- constfloat ratio = 1.0;
- float PI = 3.1415926;
- uniform float iTime;
- const vec2 iResolution = vec2(1200.0,1200.0);
- varying vec2 vUv;
- floatmovingLine(vec2 uv, vec2 center, float radius)
- {
- //angle of the line
- float theta0 = 90.0 * iTime;
- vec2 d = uv - center;
- float r = sqrt( dot( d, d ) );
- if(r<radius)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律