我决定不从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 =
- `
- #ifdef GL_ES
- precision mediump float;
- #endif
- // glslsandbox uniforms
- uniform float time;
- vec2 resolution = vec2(1.0,1.0);
- varying vec2 vUv;
- // shadertoy emulation
- #define iTime time
- #define iResolution resolution
- floatnoise(vec3 p) //Thx to Las^Mercury
- {
- vec3 i = floor(p);
- vec4 a = dot(i, vec3(1., 57., 21.)) + vec4(0., 57., 21., 78.);
- vec3 f = cos((p-i)*acos(-1.))*(-.5)+.5;
- a = mix(sin(cos(a)*a),sin(cos(1.+a)*(1.+a)), f.x);
- a.xy = mix(a.xz, a.yw, f.y);
Mapbox 与 Babylon.js 可视化 glsl 特效篇(四十二) - 小专栏
标签:glsl,特效,babylonjs,Mapbox,js,可视化,vec3,mapbox From: https://www.cnblogs.com/haibalai/p/17011740.html