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);

 

 

鑽研不易,轉載請註明出處。。。。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章