Mapbox 与 Babylon.js 可视化 glsl 特效篇(二十三)

Mapbox与Babylon.js特效整合
本文介绍如何使用Mapbox与Babylon.js进行可视化整合,通过npm安装@haibalai/mapbox-babylonjs类库并利用GLSL特效实现独特的地图背景图案和波纹效果。

我决定不从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 = `
uniform float iTime;
uniform vec2 iResolution;
varying vec2 vUv;
vec3 COLOR1 = vec3(0.0, 0.0, 0.3);
vec3 COLOR2 = vec3(0.5, 0.0, 0.0);
float BLOCK_WIDTH = 0.01;
voidmain(void) {
vec2 uv = (vUv - 0.3) * 2.0 ;
// To create the BG pattern
vec3 final_color = vec3(1.0);
vec3 bg_color = vec3(0.0);
vec3 wave_color = vec3(0.0);
float c1 = mod(uv.x, 2.0 * BLOCK_WIDTH);
c1 = step(BLOCK_WIDTH, c1);
float c2 = mod(uv.y, 2.0 * BLOCK_WIDTH);
c2 = step(BLOCK_WIDTH, c2);
bg_color = mix(uv.x * COLOR1, uv.y * COLOR2, c1 * c2);
// To create the waves
float wave_width = 0.01;
uv = -1.0 + 2.0 * uv;
Mapbox 与 Babylon.js 可视化 glsl 特效篇(二十三) - 小专栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值