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

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

时间:2023-03-15 09:55:05浏览次数:60  
标签:glsl iTime float js cesium length Cesium babylonjs uv

我决定不从Babylonjs 基础来讲了 直接整合cesium与babylonjs可视化来讲

我整合一个类库 后续不断更新中

  • npm i @haibalai/cesium-babylonjs

 

初始化cesium -babylonjs 类库, map 是cesium 的viewer对象

  • import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
  • BabylonMapManager.init(map);

 

添加特效

  • import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
  • const fragmentShader = `
  • uniform float iTime;
  • uniform vec2 iResolution;
  • varying vec2 vUv;
  • voidmain(void) {
  • vec2 uv = (vUv - 0.5) * 2.0;
  • float t = iTime * .1 + ((.25 + .05 * sin(iTime * .1))/(length(uv.xy) + .07)) * 2.2;
  • float si = sin(t);
  • float co = cos(t);
  • mat2 ma = mat2(co, si, -si, co);
  • float v1, v2, v3;
  • v1 = v2 = v3 = 0.0;
  • float s = 0.0;
  • for (int i = 0; i < 90; i++)
  • {
  • vec3 p = s * vec3(uv, 0.0);
  • p.xy *= ma;
  • p += vec3(.22, .3, s - 1.5 - sin(iTime * .13) * .1);
  • for (int i = 0; i < 8; i++) p = abs(p) / dot(p,p) - 0.659;
  • v1 += dot(p,p) * .0015 * (1.8 + sin(length(uv.xy * 13.0) + .5 - iTime * .2));
  • v2 += dot(p,p) * .0013 * (1.5 + sin(length(uv.xy * 14.5) + 1.2 - iTime * .3));
  • v3 += length(p.xy*10.) * .0003;
  • s += .035;
  • }
  • float len = length(uv);
  • v1 *= smoothstep(.7, .0, len);

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

标签:glsl,iTime,float,js,cesium,length,Cesium,babylonjs,uv
From: https://www.cnblogs.com/haibalai/p/17217426.html

相关文章

  • Cesium 与 Babylon.js 可视化 添加贴地
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲 我整合一个类库后续不断更新中```javascript npmi@haibalai/cesium-babylonjs ``` ......
  • Cesium 与 Babylon.js 可视化 第一个场景
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲 我整合一个类库后续不断更新中```javascript npmi@haibalai/cesium-babylonjs ``` ......
  • Cesium 与 Babylon.js 可视化 联合两个mesh
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs 初始化cesium-babylonjs......
  • Cesium 与 Babylon.js 可视化 给房子上贴图
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs 初始化cesium-babylonjs......
  • Cesium 与 Babylon.js 可视化 构建房子
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs 初始化cesium-babylonjs......
  • Cesium 与 Babylon.js 可视化 复制一个模型
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs 初始化cesium-babylonjs......
  • 使用nodeJs框架koa2搭建项目后端
    使用koa2搭建项目后端 github源码地址:https://github.com/liuerhost/koa2-demo.git1.安装koa脚手架—koa-generatornpminstall-gkoa-generator2.创建koa2项目......
  • 宝塔面板pm2管理器部署node.js
    前言需要你有一个轻量级服务器,服务器里面有宝塔面板,然后有一个写好的node.js后端文件,需要把你sever文件夹上传到你的服务器中,需要你有一个解析好的二级域名以及ssl证书,放行......
  • nodejs安装使用express
    NodeJs快速搭建Express框架1.用Express应用程序生成器express-generator进行快速搭建。1.1安装express-generator命令npminstallexpress-generator-g1.2生成......
  • 解决Windows下json.hpp中文乱码问题
    文中使用的是json库,整个库的代码由一个单独的头文件json.hpp组成,用普通的C++11编写的。它没有库,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来很方便。先引用头文......