earthsdk之tileset样式调整
earthsdk之tileset样式调整
// 注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0
float _baseHeight = 0.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 60.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange) 默认是 0-60米
float _glowRange = 300.0; // 光环的移动范围(高度)
// 建筑基础色
float vtxf_height = v_stcVertex.z - _baseHeight;
float vtxf_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0;
float vtxf_a12 = (vtxf_height+50.0) / _heightRange + sin(vtxf_a11) * 0.1; // +50.0可以将渐变下移,遮挡住渐变的黑色部分
gl_FragColor *= vec4(vtxf_a12, vtxf_a12, vtxf_a12, 1.0); // vtxf_a12改为1.0可直接将渐变样式取消改为白色
// gl_FragColor *= vec4(1.0, 1.0, 1.0, 1.0);
// 动态光环
float vtxf_a13 = fract(czm_frameNumber / 360.0);
float vtxf_h = clamp(vtxf_height / _glowRange, 0.0, 1.0);
vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;
float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));
gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);
钻研不易,转载请注明出处。。。。。。