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

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

时间:2022-12-09 19:55:11浏览次数:57  
标签:glsl 特效 babylonjs Mapbox js vec2 mapbox 可视化 uv

我决定不从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;
  • const vec2 iResolution = vec2(1.0,1.0);
  • varying vec2 iMouse;
  • varying vec2 vUv;
  • floathexLength(vec2 v) {
  • vec2 a = abs(v);
  • return max((2.0/sqrt(3.0))*a.x, (1.0/sqrt(3.0))*a.x + a.y);
  • }
  • voidmain(void) {
  • vec3 c;
  • float l,z=iTime;
  • for(int i=0;i<3;i++) {
  • vec2 uv,p=vUv;
  • uv=p;
  • p-=.5;
  • p.x*=iResolution.x/iResolution.y;
  • z+=.07;
  • l=hexLength(p);
  • uv+=p/l*(sin(z)+1.)*abs(sin(l*9.-z*2.));
  • c[i]=.01/hexLength(abs(mod(uv,1.)-.5));
  • }
  • gl_FragColor=vec4(c/l,iTime);
  • }
  • `;

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

标签:glsl,特效,babylonjs,Mapbox,js,vec2,mapbox,可视化,uv
From: https://www.cnblogs.com/haibalai/p/16969848.html

相关文章

  • 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......
  • JS 前端自适应打印
    第一种打印:首先是安装npminstall--savehtml2canvas然后在utils包importhtml2canvasfrom"html2canvas";//打印类属性、方法定义/*eslint-disable......
  • JS——Math(数学&随机方法)
    Math对象方法与其他全局对象不同,Math对象没有构造函数。方法和属性是静态的可以在不首先创建Math对象的情况下使用所有方法和属性(常量)方法描述abs(x)返回x......
  • JS 判断数组包含另一个数组
    ES6方法:1、findIndex (跟find类似,返回值不一样,findIndex找到则返回元素下标,否则返回-1)functiongetInclude(arr1,arr2){lettemp=[]for(constitemofa......