我决定不从claygl基础来讲了 直接整合arcgis与claygl可视化来讲
关于整合clagyl 有兴趣看我这篇文章 arcgis 与 claygl 引擎结合做地图可视化
我整合一个类库 后续不断更新中
- npm i @haibalai/gismap4-claygl
初始化gismap4-claygl 类库, view是arcgis的sceneView对象
- import { ClayglMapManager} from "@haibalai/gismap4-claygl";
- ClayglMapManager.init(view);
添加特效
- import { ClayglMapManager} from "@haibalai/gismap4-claygl";
- import * as clay from "claygl";
- const fragmentShader =
- `
- precision highp float;
- uniform float time; // time
- vec2 resolution = vec2(1.0,1.0);
- varying vec2 vUv;
- vec2 rotateTo(vec2 point, float rad){
- float x = sin(rad) * point.x - cos(rad) * point.y;
- float y = sin(rad) * point.y + cos(rad) * point.x;
- return vec2(x,y);
- }
- floatrand(float co) { return fract(sin(co*(91.3458)) * 47453.5453); }
- floattrail(float r) {
- vec2 p = (vUv - 0.5);
- float t = rand(r) * time;
- vec2 s = rotateTo(p, -t);
- float head = clamp(0.05 - length( p-rotateTo(vec2(0,r),t) ),0.,1.) * 10.;
- float tail = (clamp(0.006 / abs(length(p) - r )-0.1,0.0,2.)) ;
- float tailStrength = clamp(atan(s.x,s.y)-1.5+r,0.,1.);
- return head + tail * tailStrength;
- }
- voidmain(void){