首页 > 其他分享 >Mapbox 与 Babylon.js 可视化 glsl 特效篇(十七)

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

时间:2022-12-09 19:56:05浏览次数:57  
标签:glsl babylonjs Mapbox 0.0 float js vec2 mapbox 1.0

我决定不从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 iTime;
  • uniform vec2 iResolution;
  • varying vec2 vUv;
  • // Rand value between 0 and 1
  • floatrand(vec2 p) {
  • return fract(sin(dot(p, vec2(12.543,514.123)))*4732.12);
  • }
  • // Value noise
  • floatnoise(vec2 p) {
  • vec2 f = smoothstep(0.0, 1.0, fract(p));
  • vec2 i = floor(p);
  • float a = rand(i);
  • float b = rand(i+vec2(1.0,0.0));
  • float c = rand(i+vec2(0.0,1.0));
  • float d = rand(i+vec2(1.0,1.0));
  • return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);
  • }
  • // Fractal noise
  • floatfbm(vec2 p) {
  • float a = 0.5;
  • float r = 0.0;
  • for (int i = 0; i < 8; i++) {
  • r += a*noise(p);
  • a *= 0.5;
  • p *= 2.0;
  • }
  • return r;
  • }

Mapbox 与 Babylon.js 可视化 glsl 特效篇(十七) - 小专栏

标签:glsl,babylonjs,Mapbox,0.0,float,js,vec2,mapbox,1.0
From: https://www.cnblogs.com/haibalai/p/16969842.html

相关文章

  • Mapbox 与 Babylon.js 可视化 glsl 特效篇(十六)
    我决定不从Babylonjs基础来讲了直接整合mapbox与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/mapbox-babylonjs 初始化mapbox-babylonjs......
  • Mapbox 与 Babylon.js 可视化 glsl 特效篇(十八)
    我决定不从Babylonjs基础来讲了直接整合mapbox与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/mapbox-babylonjs 初始化mapbox-babylonjs......
  • Mapbox 与 Babylon.js 可视化 glsl 特效篇(二十)
    我决定不从Babylonjs基础来讲了直接整合mapbox与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/mapbox-babylonjs 初始化mapbox-babylonjs......
  • Mapbox 与 Babylon.js 可视化 glsl 特效篇(十九)
    我决定不从Babylonjs基础来讲了直接整合mapbox与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/mapbox-babylonjs 初始化mapbox-babylonjs......
  • 原生js实现复制功能
    h5新增了execCommand函数,就可以直接实现复制功能了,再也不用复制插件了,示例代码如下:<!DOCTYPEhtml><html><head><metacharset="utf-8"><metacontent="wi......
  • day35-JSON&Ajax03
    JSON&Ajax034.jQuery的Ajax请求原生Ajax请求问题分析:编写原生的Ajax要写很多的代码,还要考虑浏览器兼容问题,使用不方便在实际工作中,一般使用JavaScript的框架(比如jquer......
  • nodejs 图片加水印
    nodejs图片加水印varimages=require('images');//等待加水印的图片varsourceImg=images("./image.png");//水印图片宽高最大为200pxvarwatermarkImg=ima......
  • JS——bool(布尔)
    在编程中,有时只能如果只需要两个值之一的数据类型是,可以使用YES/NO,ON/OFF,TRUE/FALSE,所以使用布尔数据类型就很适合。通常JavaScript布尔是由字面量创建的原始值,但布尔......
  • JS高程8.1.1属性的类型笔记
    1.对象概念:对象是一组属性的无序集合。2.对象属性的类型:(1)数据属性:数据属性包含一个保存数据值的位置。值会从这个位置读取,也会写入到这个位置。数据属性有四个特性描述它......
  • FusionCharts Free-使用JS加载-flash图表
    使用JS加载 这个JS类文件就在FusionChartsFree>JSClass文件夹下,我们把它拷贝到c:FusionChartsFusionCharts下面。现在,我们把原来的Chart.html复制一份,命名为JSCh......