|
|
/** * Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind * * 版本信息:v3.4.26 * 编译日期:2023-11-13 20:28:33 * 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2022-06-01 */(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, (window.mars3d || require('mars3d'))) : typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));})(this, (function (exports, mars3d) {'use strict';var _0x272d26=_0x3e3a;(function(_0x3ce9ae,_0xc66be6){var _0x122854=_0x3e3a,_0x142a1e=_0x3ce9ae();while(!![]){try{var _0xebeb2f=parseInt(_0x122854(0xee))/0x1*(parseInt(_0x122854(0xfd))/0x2)+parseInt(_0x122854(0x8b))/0x3*(-parseInt(_0x122854(0x125))/0x4)+-parseInt(_0x122854(0x10c))/0x5+parseInt(_0x122854(0xcc))/0x6*(-parseInt(_0x122854(0x150))/0x7)+parseInt(_0x122854(0xe3))/0x8*(parseInt(_0x122854(0x97))/0x9)+-parseInt(_0x122854(0x157))/0xa+parseInt(_0x122854(0x141))/0xb;if(_0xebeb2f===_0xc66be6)break;else _0x142a1e['push'](_0x142a1e['shift']());}catch(_0x32215b){_0x142a1e['push'](_0x142a1e['shift']());}}}(_0x3286,0x50d86));function _0x3286(){var _0x3aba5b=['RGBA','writable','_tomap','layer','Rectangle','createFramebuffer','color','particlesComputing','constructor','blending','removeEventListener','TRIANGLES','zIndex','getUVByPoint','xmin','globe','fadeOpacity','commandList','postProcessingPosition','arrayBufferView','log','lineWidth','currentParticlesSpeed','setData','fromDegrees','SCENE3D','getOwnPropertyDescriptor','Color','mode','currentParticlesPosition','postMessage','fromCache','DrawCommand','createTexture','canvasContext','1558878dhSJvC','keys','windField','windTextures','default','clearCommand','createSegmentsGeometry','resize','randomizeParticles','getUVByXY','fill','_updateIng2','speedRate','forEach','array','uniformMap','positionWC','camera','grid','setDate','applyViewerParameters','mouse_down','mouse_move','32FAIMxJ','getPixelSize','redraw','GeometryAttributes','xmax','RGB','undefined','PrimitiveType','setPrototypeOf','currentTrails','udata','81nuxzNH','Sampler','EventType','particles','toGridXY','PI_OVER_TWO','fixedHeight','construct','clear','rawRenderState','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','PI_OVER_THREE','CanvasWindField','primitives','TWO_PI','6858XwMcMS','Math','vdata','add','particleHeight','globalCompositeOperation','fragmentShaderSource','Object','unbindEvent','toDegrees','canvasWidth','setOptions','textures','globalAlpha','dimensions','1246985FccLzo','bind','ymax','defined','red','source','_onMouseDownEvent','pow','sin','prototype','string','LUMINANCE','maxParticles','BaseLayer','latRange','createCommand','getOwnPropertySymbols','ymin','primitiveType','data','_updateIng','_canrefresh','Compute','outputTexture','Geometry','371732UBTUvq','preExecute','vmax','cos','particlesNumber','getRandomLatLng','TextureMagnificationFilter','getParticles','wheel','clampToLatitudeRange','clientHeight','context','sqrt','animateFrame','RenderState','atan2','create','_removedHook','framebuffers','length','LayerUtil','Cesium','pointer-events','mouseHidden','maxAge','canvasWind','viewerParameters','shaderProgram','16177238FEqpFG','drawingBufferWidth','attributeLocations','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20//\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindN
}));
|