0
点赞
收藏
分享

微信扫一扫

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


我决定不从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 ratio;
float PI = 3.1415926;
uniform float iTime;
// uniform vec2 iResolution = vec2(1.0,1.0);
varying vec2 vUv;
struct Gear
{
float t;
float gearR;
float teethH;
float teethR;
float teethCount;
float diskR;
vec3 color;
};
floatGearFunction(vec2 uv, Gear g)
{
float r = length(uv);
float a = atan(uv.y, uv.x);
float p = g.gearR-0.5g.teethH +
g.teethH/(1.0+exp(g.teethR
sin(g.t + g.teethCount*a)));
float gear = r - p;
float disk = r - g.diskR;
return g.gearR > g.diskR ? max(-disk, gear) : max(disk, -gear);
}
floatGearDe(vec2 uv, Gear g)
{
float f = GearFunction(uv, g);
Cesium 与 Babylon.js 可视化 glsl 特效篇(十) - 小专栏


举报

相关推荐

0 条评论