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);
鑽研不易,轉載請註明出處。。。。。。