cesium1.103实现primitive的流动线纹理
效果:
LineFlowMaterial
新建LineFlowMaterial类
const _0x229b6b=_0x40dd;(function(_0x595a8e,_0x212c3d){const _0x123bfa=_0x40dd,_0x18160e=_0x595a8e();while(!![]){try{const _0x1ad504=-parseInt(_0x123bfa(0x233))/(-0x1*-0x20c3+0x645*0x1+-0x2707)*(-parseInt(_0x123bfa(0x23f))/(-0x5*0x4a9+0x696*0x2+0xad*0xf))+-parseInt(_0x123bfa(0x27a))/(0xed0+0x2*0x7cc+-0x1e65)+-parseInt(_0x123bfa(0x262))/(0x260+-0x199e+0xd*0x1ca)*(-parseInt(_0x123bfa(0x22b))/(0x1ada*0x1+-0x2ed+-0x17e8))+parseInt(_0x123bfa(0x26d))/(0x1*-0x25ab+-0x694+0x2c45)*(parseInt(_0x123bfa(0x20b))/(0xb*-0x7d+-0x1*-0x109e+-0x1*0xb38))+-parseInt(_0x123bfa(0x24e))/(-0xd3*-0x2+0xcb3+0x1*-0xe51)*(parseInt(_0x123bfa(0x25e))/(-0x1c46+-0x2*0x10ba+0x3dc3))+parseInt(_0x123bfa(0x220))/(0x1ec7+-0x1*-0x144f+-0x330c)+-parseInt(_0x123bfa(0x223))/(-0xb00+0x21d0+0x1d*-0xc9);if(_0x1ad504===_0x212c3d)break;else _0x18160e['push'](_0x18160e['shift']());}catch(_0x29f820){_0x18160e['push'](_0x18160e['shift']());}}}(_0x4262,-0x388*0x5e+0x1*-0x18f94+0x533b6));const _LineFlow2=_0x229b6b(0x1e3)+_0x229b6b(0x1f8)+_0x229b6b(0x21e)+_0x229b6b(0x244)+_0x229b6b(0x24f)+_0x229b6b(0x217)+')\x0a'+'{\x0a'+(_0x229b6b(0x22c)+_0x229b6b(0x282)+_0x229b6b(0x267)+_0x229b6b(0x26a)+_0x229b6b(0x23a)+_0x229b6b(0x255)+_0x229b6b(0x241))+(_0x229b6b(0x26c)+_0x229b6b(0x212)+_0x229b6b(0x1ee)+_0x229b6b(0x21b)+'\x0a')+(_0x229b6b(0x1e8)+_0x229b6b(0x1fd)+_0x229b6b(0x218)+_0x229b6b(0x1e5)+_0x229b6b(0x247)+_0x229b6b(0x263)+_0x229b6b(0x257)+_0x229b6b(0x1f3)+_0x229b6b(0x275)+_0x229b6b(0x209)+_0x229b6b(0x242))+(_0x229b6b(0x24a)+_0x229b6b(0x23d)+_0x229b6b(0x266))+_0x229b6b(0x253)+(_0x229b6b(0x1f9)+_0x229b6b(0x1f0)+_0x229b6b(0x20c)+_0x229b6b(0x249))+(_0x229b6b(0x1f9)+_0x229b6b(0x1e9)+_0x229b6b(0x238)+_0x229b6b(0x286)+_0x229b6b(0x1eb))+_0x229b6b(0x237)+_0x229b6b(0x216)+_0x229b6b(0x253)+(_0x229b6b(0x1f9)+_0x229b6b(0x1f0)+_0x229b6b(0x20c)+_0x229b6b(0x26b)+_0x229b6b(0x22a))+(_0x229b6b(0x1f9)+_0x229b6b(0x1e9)+_0x229b6b(0x238)+_0x229b6b(0x21f))+_0x229b6b(0x237)+(_0x229b6b(0x21c)+_0x229b6b(0x1f1)+'\x0a')+'}',_LineFlow4=_0x229b6b(0x211)+'合\x0a'+(_0x229b6b(0x1e3)+_0x229b6b(0x1f8)+_0x229b6b(0x21e)+_0x229b6b(0x244)+_0x229b6b(0x24f)+_0x229b6b(0x217)+')\x0a')+'{\x0a'+(_0x229b6b(0x1e3)+_0x229b6b(0x273)+_0x229b6b(0x20e)+_0x229b6b(0x268)+_0x229b6b(0x27c)+_0x229b6b(0x217)+_0x229b6b(0x278))+(_0x229b6b(0x1fa)+_0x229b6b(0x259)+_0x229b6b(0x210)+_0x229b6b(0x21a))+(_0x229b6b(0x269)+_0x229b6b(0x27e)+_0x229b6b(0x219)+_0x229b6b(0x22e)+_0x229b6b(0x1ed)+_0x229b6b(0x261)+_0x229b6b(0x250)+_0x229b6b(0x277)+_0x229b6b(0x209)+_0x229b6b(0x242))+(_0x229b6b(0x227)+_0x229b6b(0x235))+'{\x0a'+(_0x229b6b(0x248)+_0x229b6b(0x23c)+_0x229b6b(0x1fe)+_0x229b6b(0x1ea))+(_0x229b6b(0x248)+_0x229b6b(0x225)+_0x229b6b(0x202)+_0x229b6b(0x20a))+'}\x0a'+_0x229b6b(0x245)+'{\x0a'+(_0x229b6b(0x248)+_0x229b6b(0x23c)+_0x229b6b(0x1fe)+_0x229b6b(0x1e7)+_0x229b6b(0x27d))+(_0x229b6b(0x248)+_0x229b6b(0x225)+_0x229b6b(0x26e)+_0x229b6b(0x251))+'}\x0a'+(_0x229b6b(0x269)+_0x229b6b(0x287)+_0x229b6b(0x265)+_0x229b6b(0x281)+_0x229b6b(0x22f))+(_0x229b6b(0x214)+_0x229b6b(0x252))+(_0x229b6b(0x248)+_0x229b6b(0x225)+_0x229b6b(0x24b)+_0x229b6b(0x284))+'}\x0a'+(_0x229b6b(0x240)+_0x229b6b(0x1f5))+'}';function _0x4262(){const _0x17d306=['repeat','m_frameNum','row','erial;\x0a','withAlpha','Cartesian2','al\x20czm_get','\x20\x20\x20\x20\x20\x20\x20\x20ma','vec2\x20st\x20=\x20','BnKGX','ype','olorImage\x20','\x20colorImag','getImageMa','PolylineAr','getType','\x20=\x20colorIm','bjCws','as\x20a\x20funct','color','5|7|10|8|3','wmKZV','EMqIG','100.0),\x20st','age.rgb;\x20\x0a','636279ngwCEb','ha\x20=\x20color','|1|13|9|6|','l\x20=\x20czm_ge','ity','aterialInp','//2个图片的叠加融','t\x20=\x20repeat','l\x20a\x20class\x20','if(colorBG','MPkVW','\x20\x20\x20\x20else\x0a','erialInput','=\x20texture(','xture(imag','ut.st;\x0a','lInput.st;','\x20\x20\x20\x20return','speed','Material(c','or.rgb;\x20\x0a','2127360IswdRk','EMPTY_OBJE','isArray','2293379vMhmoS','color2','al.diffuse','Type','if(color.a','fromCssCol','colorOpaci','color.a;\x0a','156035QKZqwb','\x20\x20\x20\x20czm_ma','url','e,\x20vec2(fr','put.st);\x0a','cription','Event','definition','36067NanKSK','_materialT','\x20==\x200.0)\x0a','image','\x20\x20\x20\x20}\x0a','fuse\x20=\x20col','WbvLw','ltMaterial','Property','al.alpha\x20=','or.a\x20==\x200.','nChanged','8cFxALN','return\x20mat','nput);\x0a','.t));\x0a','Changed','zm_materia','else\x0a','ialPropert','2(fract((a','\x20\x20\x20\x20materi','Image.a;\x0a','\x20\x20\x20\x20if(col','\x20=\x20bgColor','Cannot\x20cal','split','2120arbzUF','lInput\x20mat',')\x20-\x20czm_fr','gb;\x20\x0a','.a>0.5){\x0a','\x20\x20\x20\x20{\x0a','terial','(materialI','nqnKX','st.s)\x20-\x20cz','clone','repeat\x20*\x20m','Image','bgColor','equals','axisY','7083ePYDZm','_definitio','_color','?st.t:st.s','20qbQGwk','xisY?st.t:','defaultVal','re(image2,','0)\x0a','erial\x20=\x20cz','tDefaultMa','vec4\x20color','m_getDefau','Image.a\x20*\x20','\x20\x20\x20\x20vec2\x20s','18EvjnCx','\x20=\x20color.r','isConstant','Material','ion','kSxVN','al\x20materia','bgUrl','ber*speed/','orString','ameNumber/',');\x0a','AnimationL','645108zEPVFW','YNaLN','terial(mat','r.a;\x0a','Image\x20=\x20te','bDpkK','zrwCw','materialIn','terial\x20mat','_duration','.rgb;\x0a','12|4|11|0|','orImage.rg','BG\x20=\x20textu','_colorSubs','image2','czm_materi','ine','image,\x20vec','ColorMater','e.a\x20*\x20colo','\x20\x20\x20\x20vec4\x20c','terial.dif','e.a;\x0a','b;\x20\x0a','Color','act((axisY','\x20*\x20materia','color2Opac','terial.alp','\x20material;'];_0x4262=function(){return _0x17d306;};return _0x4262();}let cacheIdx=0x2305*0x1+-0x224e+-0xb7,nameEx=_0x229b6b(0x279)+_0x229b6b(0x1e4);const defaultColor=new Cesium[(_0x229b6b(0x1ec))](0x2*-0x1103+-0x363*0x7+0x39bb,-0x357*-0x6+-0x3ad+-0x105d,-0x4e3+-0x2647*0x1+0x2b2a,0x3f5*-0x1+-0x1*-0x1+0x3f4),defaultBgColor=new Cesium[(_0x229b6b(0x1ec))](0xa1c*-0x1+0xa3*-0x3d+-0x1a*-0x1e2,0xb*-0x133+-0x2*-0x913+-0x4f4*0x1,0xf3*-0x21+0x12ad+-0x4f*-0x29);function _classCallCheck(_0x1aa781,_0xb7eedd){const _0x3a7775=_0x229b6b,_0x4c6221={'bjCws':function(_0x124717,_0x59b49b){return _0x124717 instanceof _0x59b49b;},'YNaLN':_0x3a7775(0x24c)+_0x3a7775(0x213)+_0x3a7775(0x204)+_0x3a7775(0x271)};if(!_0x4c6221[_0x3a7775(0x203)](_0x1aa781,_0xb7eedd))throw _0x4c6221[_0x3a7775(0x27b)];}class LineFlowMaterial{constructor(_0x37d732){const _0x406e28=_0x229b6b,_0x3dc49b={'zrwCw':_0x406e28(0x206)+_0x406e28(0x20d)+_0x406e28(0x285)+'2','wmKZV':function(_0x35efec,_0xa10690){return _0x35efec(_0xa10690);},'bDpkK':function(_0x5d58eb,_0x472b79,_0x4e4c61){return _0x5d58eb(_0x472b79,_0x4e4c61);},'MPkVW':function(_0x49c6d0,_0x5d0a8c){return _0x49c6d0(_0x5d0a8c);}},_0x3796e6=_0x3dc49b[_0x406e28(0x280)][_0x406e28(0x24d)]('|');let _0x4f7cfb=0x97*-0x1+-0x644*-0x4+-0x7*0x37f;while(!![]){switch(_0x3796e6[_0x4f7cfb++]){case'0':this[_0x406e28(0x283)]=_0x37d732[_0x406e28(0x21d)]||0x2426+0xa03+0x698*-0x7;continue;case'1':this[_0x406e28(0x205)]=Cesium[_0x406e28(0x264)+'ue'](_0x37d732[_0x406e28(0x205)]&&Cesium[_0x406e28(0x1ec)][_0x406e28(0x228)+_0x406e28(0x276)](_0x37d732[_0x406e28(0x205)])[_0x406e28(0x1f6)](_0x37d732[_0x406e28(0x229)+'ty']??0x7*0x2f7+-0x2*0x304+-0xeb8),defaultColor);continue;case'2':return this[_0x406e28(0x1ff)+_0x406e28(0x254)](this[_0x406e28(0x22d)],this[_0x406e28(0x274)],_0x37d732[_0x406e28(0x1f2)],_0x3dc49b[_0x406e28(0x207)](Boolean,_0x37d732[_0x406e28(0x25d)]),this[_0x406e28(0x25b)],this[_0x406e28(0x205)]);case'3':this[_0x406e28(0x1e1)+_0x406e28(0x230)]=undefined;continue;case'4':this[_0x406e28(0x274)]=Cesium[_0x406e28(0x264)+'ue'](_0x37d732[_0x406e28(0x1e2)],undefined);continue;case'5':_0x3dc49b[_0x406e28(0x27f)](_classCallCheck,this,LineFlowMaterial);continue;case'6':if(!this[_0x406e28(0x22d)])return;continue;case'7':_0x37d732=Cesium[_0x406e28(0x264)+'ue'](_0x37d732,Cesium[_0x406e28(0x264)+'ue'][_0x406e28(0x221)+'CT']);continue;case'8':this[_0x406e28(0x260)]=undefined;continue;case'9':this[_0x406e28(0x260)]=new Cesium[(_0x406e28(0x1e6))+(_0x406e28(0x246))+'y'](this[_0x406e28(0x205)][_0x406e28(0x258)]());continue;case'10':this[_0x406e28(0x25f)+_0x406e28(0x23e)]=new Cesium[(_0x406e28(0x231))]();continue;case'11':this[_0x406e28(0x25b)]=Cesium[_0x406e28(0x264)+'ue'](_0x37d732[_0x406e28(0x224)]&&Cesium[_0x406e28(0x1ec)][_0x406e28(0x228)+_0x406e28(0x276)](_0x37d732[_0x406e28(0x224)])[_0x406e28(0x1f6)](_0x37d732[_0x406e28(0x1ef)+_0x406e28(0x20f)]??0x3*0xc0d+0xff2+-0x1a0c*0x2),defaultBgColor);continue;case'12':this[_0x406e28(0x25d)]=_0x3dc49b[_0x406e28(0x215)](Boolean,_0x37d732[_0x406e28(0x25d)]);continue;case'13':this[_0x406e28(0x22d)]=Cesium[_0x406e28(0x264)+'ue'](_0x37d732[_0x406e28(0x236)],undefined);continue;}break;}}[_0x229b6b(0x1ff)+_0x229b6b(0x254)](_0x2425e0,_0x497c30,_0x3d0fbc,_0x28917d,_0x487303,_0x451918){const _0x1c9d41=_0x229b6b,_0x534048={'BnKGX':function(_0x3b1e92,_0x5bc352){return _0x3b1e92+_0x5bc352;},'EMqIG':_0x1c9d41(0x226),'nqnKX':_0x1c9d41(0x25a)};cacheIdx++;let _0x181b0f=_0x534048[_0x1c9d41(0x1fb)](_0x534048[_0x1c9d41(0x1fb)](nameEx,cacheIdx),_0x534048[_0x1c9d41(0x208)]),_0x36a76c=_0x534048[_0x1c9d41(0x1fb)](_0x534048[_0x1c9d41(0x1fb)](nameEx,cacheIdx),_0x534048[_0x1c9d41(0x256)]);Cesium[_0x1c9d41(0x270)][_0x181b0f]=_0x181b0f,Cesium[_0x1c9d41(0x270)][_0x36a76c]=_0x2425e0;let _0x1b483a=null;const _0x38ba4b=_0x3d0fbc&&Array[_0x1c9d41(0x222)](_0x3d0fbc)?new Cesium[(_0x1c9d41(0x1f7))](_0x3d0fbc[-0xf65+0xeda+0x8b*0x1],_0x3d0fbc[0x25*-0x6+-0x3d6+-0x5*-0xf1]):new Cesium[(_0x1c9d41(0x1f7))](0x1*-0x1b55+-0x76*0x3c+-0x1b7f*-0x2,-0x1*-0x1cb7+-0x283*0x7+-0xb21);return _0x497c30?_0x1b483a=new Cesium[(_0x1c9d41(0x270))]({'fabric':{'type':Cesium[_0x1c9d41(0x270)][_0x1c9d41(0x200)+_0x1c9d41(0x1f4)],'uniforms':{'color':_0x451918,'image':Cesium[_0x1c9d41(0x270)][_0x36a76c],'time':0x0,'repeat':_0x38ba4b,'axisY':_0x28917d,'image2':_0x497c30,'bgColor':_0x487303},'source':_LineFlow4},'translucent':function _0x5f1c3b(){return!![];}}):_0x1b483a=new Cesium[(_0x1c9d41(0x270))]({'fabric':{'type':_0x181b0f,'uniforms':{'color':_0x451918,'image':Cesium[_0x1c9d41(0x270)][_0x36a76c],'time':0x0,'repeat':_0x38ba4b,'axisY':_0x28917d,'speed':this[_0x1c9d41(0x283)]},'source':_LineFlow2},'translucent':function _0x442d4b(){return!![];}}),_0x1b483a;}[_0x229b6b(0x201)](_0x315310){const _0x2808b7=_0x229b6b;return this[_0x2808b7(0x234)+_0x2808b7(0x1fc)];}[_0x229b6b(0x25c)](_0x221655){const _0x5ecc9f=_0x229b6b,_0x38bd0a={'kSxVN':function(_0x1b9029,_0x53de36){return _0x1b9029===_0x53de36;},'WbvLw':function(_0x3e79fa,_0x3e9533){return _0x3e79fa instanceof _0x3e9533;}};return _0x38bd0a[_0x5ecc9f(0x272)](this,_0x221655)||_0x38bd0a[_0x5ecc9f(0x239)](_0x221655,LineFlowMaterial)&&Cesium[_0x5ecc9f(0x23b)][_0x5ecc9f(0x25c)](this[_0x5ecc9f(0x260)],_0x221655[_0x5ecc9f(0x260)]);}get[_0x229b6b(0x26f)](){return![];}get[_0x229b6b(0x232)+_0x229b6b(0x243)](){const _0xd10e15=_0x229b6b;return this[_0xd10e15(0x25f)+_0xd10e15(0x23e)];}}function _0x40dd(_0x50c6c5,_0x35cf38){const _0x4ae1f5=_0x4262();return _0x40dd=function(_0x5eeb06,_0x5a83c3){_0x5eeb06=_0x5eeb06-(0x13*0x40+-0x493*-0x1+-0x772);let _0x5265d1=_0x4ae1f5[_0x5eeb06];return _0x5265d1;},_0x40dd(_0x50c6c5,_0x35cf38);}export default LineFlowMaterial;
使用示例:
new Cesium.MaterialAppearance({
material: new LineFlowMaterial({
image: "http://localhost:8080/img/textures/fence.png",
color: "#ff293a",
colorOpacity:1,
color2: "#2bff71",
color2Opacity:0.03,
// speed: 3,
axisY: true,
repeat:[21,1]
})
})