Cesium 与 Babylon.js 可视化 glsl 特效篇(十一)
2023-04-18 15:00:27 时间
我决定不从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 TAU 6.28318530718
- #define MAX_ITER 5
- precision highp float;
- uniform float iTime;
- uniform vec2 iResolution;
- varying vec2 vUv;
- voidmain(void) {
- float time = iTime * .5+23.0;
- // uv should be the 0-1 uv of texture...
- vec2 uv = vUv;
- #ifdef SHOW_TILING
- vec2 p = mod(uv*TAU*2.0, TAU)-250.0;
- #else
- vec2 p = mod(uv*TAU, TAU)-250.0;
- #endif
- vec2 i = vec2(p);
- float c = 1.0;
- float inten = .005;
- for (int n = 0; n < MAX_ITER; n++)
- {
- float t = time * (1.0 - (3.5 / float(n+1)));
- i = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(t + i.x));
- c += 1.0/length(vec2(p.x / (sin(i.x+t)/inten),p.y / (cos(i.y+t)/inten)));
- }
- c /= float(MAX_ITER);
- c = 1.17-pow(c, 1.4);
- vec3 colour = vec3(pow(abs(c), 8.0));
相关文章
- Github全封41万俄罗斯开发者?被制裁企业前员工也难逃厄运
- 2022年软件工程师报告出炉!年薪最高竟是网安,机器学习比不过NLP
- 十年积累,5.4万GitHub Star一朝清零:开源史上超大意外损失
- SwiftUI @State @Published @ObservedObject 深入理解和使用
- “行胜于言”:语言模型如何适应机器人?
- SwiftUI图片处理(缩放、拼图)
- .NET MAUI Preview 7发布,跨平台UI框架
- 新技术,老问题:NLP领域中没有被听到的「声音」
- 上手jupyter notebook神器
- GitHub正在封禁部分俄罗斯开发者账号:受制裁实体前员工也被「误伤」
- Sentry 监控 - Snuba 数据中台架构(编写和测试 Snuba 查询)
- 10 款你不知道的 Linux 环境下的替代工具!
- Sentry 监控 - Snuba 数据中台架构(SnQL 查询语言简介)
- 软件工程师文档写作优秀实践
- 官宣 .NET MAUI 预览版 6
- 手把手教你配置Anaconda+Pycharm开发环境
- 元宇宙:四梁八柱是什么?
- [Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode 解决方法
- 如何更安全的升级Kubernetes节点
- 如何在 C# 9 中使用record类型?