我决定不从Babylonjs 基础来讲了 直接整合mapbox与babylonjs可视化来讲
我整合一个类库 后续不断更新中
- npm i @haibalai/mapbox-babylonjs
初始化mapbox-babylonjs 类库, map 是mapbox.gl 的map 对象
- import { BabylonMapManager } from "@haibalai/mapbox-babylonjs";
- BabylonMapManager.init(map);
添加特效
- import { BabylonMapManager } from "@haibalai/mapbox-babylonjs";
- const fragmentShader =
- `
- precision highp float;
- uniform float time; // time
- vec2 resolution = vec2(1.0,1.0);
- varying vec2 vUv;
- vec2 rotateTo(vec2 point, float rad){
- float x = sin(rad) * point.x - cos(rad) * point.y;
- float y = sin(rad) * point.y + cos(rad) * point.x;
- return vec2(x,y);
- }
- floatrand(float co) { return fract(sin(co*(91.3458)) * 47453.5453); }
- floattrail(float r) {
- vec2 p = (vUv - 0.5);
- float t = rand(r) * time;
- vec2 s = rotateTo(p, -t);
- float head = clamp(0.05 - length( p-rotateTo(vec2(0
Mapbox 与 Babylon.js 可视化 glsl 特效篇(四十八) - 小专栏
标签:glsl,rad,babylonjs,Mapbox,point,float,js,vec2,mapbox From: https://www.cnblogs.com/haibalai/p/17011748.html