{"version":3,"file":"MaterialExtend.mjs","sources":["../../../../../../packages/shared/extends/materials/MaterialExtend.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2023-08-18 00:56:13\n * @Description: Do not edit\n * @LastEditors: zouyaoji 370681295@qq.com\n * @LastEditTime: 2023-10-31 22:33:58\n * @FilePath: \\vue-cesium\\packages\\shared\\extends\\materials\\MaterialExtend.ts\n */\n\nimport { VcCircleWaveMaterial, VcLineFlowMaterial } from '@vue-cesium/shared/shaders/materials'\n\nlet isExtended = false\nexport default class MaterialExtend {\n  static extend(viewer: Cesium.Viewer) {\n    if (isExtended) {\n      return\n    }\n\n    const { Material, Color, Cartesian2 } = Cesium\n    const webgl2 = viewer.scene.context?.webgl2\n\n    let shaderSourceTextVcLine = VcLineFlowMaterial\n    let shaderSourceTextVcCircle = VcCircleWaveMaterial\n\n    if (!webgl2) {\n      shaderSourceTextVcLine = shaderSourceTextVcLine.replace(/texture\\(/g, 'texture2D(')\n      shaderSourceTextVcCircle = shaderSourceTextVcCircle.replace(/texture\\(/g, 'texture2D(')\n    }\n\n    /**\n     * Gets the name of the VcCircleWave material.\n     * @type {string}\n     * @readonly\n     */\n    Material['VcCircleWave'] = 'VcCircleWave'\n    Cesium.Material['_materialCache'].addMaterial(Material['VcCircleWave'], {\n      fabric: {\n        type: Material['VcCircleWave'],\n        uniforms: {\n          color: new Color(1, 0, 0, 1),\n          time: 1,\n          count: 1,\n          gradient: 0.1\n        },\n        source: shaderSourceTextVcCircle\n      },\n      translucent() {\n        return true\n      }\n    })\n\n    /**\n     * Gets the name of the VcLineFlow material.\n     * @type {string}\n     * @readonly\n     */\n    Material['VcLineFlow'] = 'VcLineFlow'\n    Cesium.Material['_materialCache'].addMaterial(Material['VcLineFlow'], {\n      fabric: {\n        type: Material['VcLineFlow'],\n        uniforms: {\n          image: Material.DefaultImageId,\n          color: new Color(1, 1, 1, 1),\n          repeat: new Cartesian2(1, 1),\n          axisY: false,\n          mixt: false,\n          speed: 10,\n          time: -1,\n          hasImage2: false,\n          image2: Material.DefaultImageId,\n          color2: new Color(1, 1, 1),\n          globalAlpha: 1\n        },\n        source: shaderSourceTextVcLine\n      },\n      translucent() {\n        return true\n      }\n    })\n\n    isExtended = true\n  }\n\n  static revoke(viewer?: Cesium.Viewer) {\n    if (!isExtended) {\n      return\n    }\n\n    isExtended = false\n  }\n}\n"],"names":[],"mappings":";;;;;AAWA,IAAI,UAAa,GAAA,KAAA,CAAA;AACjB,MAAqB,cAAe,CAAA;AAAA,EAClC,OAAO,OAAO,MAAuB,EAAA;AAbvC,IAAA,IAAA,EAAA,CAAA;AAcI,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,MAAM,EAAE,QAAA,EAAU,KAAO,EAAA,UAAA,EAAe,GAAA,MAAA,CAAA;AACxC,IAAA,MAAM,MAAS,GAAA,CAAA,EAAA,GAAA,MAAA,CAAO,KAAM,CAAA,OAAA,KAAb,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AAErC,IAAA,IAAI,sBAAyB,GAAA,kBAAA,CAAA;AAC7B,IAAA,IAAI,wBAA2B,GAAA,oBAAA,CAAA;AAE/B,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAyB,sBAAA,GAAA,sBAAA,CAAuB,OAAQ,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAClF,MAA2B,wBAAA,GAAA,wBAAA,CAAyB,OAAQ,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,KACxF;AAOA,IAAA,QAAA,CAAS,cAAc,CAAI,GAAA,cAAA,CAAA;AAC3B,IAAA,MAAA,CAAO,SAAS,gBAAgB,CAAA,CAAE,WAAY,CAAA,QAAA,CAAS,cAAc,CAAG,EAAA;AAAA,MACtE,MAAQ,EAAA;AAAA,QACN,IAAA,EAAM,SAAS,cAAc,CAAA;AAAA,QAC7B,QAAU,EAAA;AAAA,UACR,OAAO,IAAI,KAAA,CAAM,CAAG,EAAA,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,UAC3B,IAAM,EAAA,CAAA;AAAA,UACN,KAAO,EAAA,CAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,SACZ;AAAA,QACA,MAAQ,EAAA,wBAAA;AAAA,OACV;AAAA,MACA,WAAc,GAAA;AACZ,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;AAOD,IAAA,QAAA,CAAS,YAAY,CAAI,GAAA,YAAA,CAAA;AACzB,IAAA,MAAA,CAAO,SAAS,gBAAgB,CAAA,CAAE,WAAY,CAAA,QAAA,CAAS,YAAY,CAAG,EAAA;AAAA,MACpE,MAAQ,EAAA;AAAA,QACN,IAAA,EAAM,SAAS,YAAY,CAAA;AAAA,QAC3B,QAAU,EAAA;AAAA,UACR,OAAO,QAAS,CAAA,cAAA;AAAA,UAChB,OAAO,IAAI,KAAA,CAAM,CAAG,EAAA,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,UAC3B,MAAQ,EAAA,IAAI,UAAW,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,UAC3B,KAAO,EAAA,KAAA;AAAA,UACP,IAAM,EAAA,KAAA;AAAA,UACN,KAAO,EAAA,EAAA;AAAA,UACP,IAAM,EAAA,CAAA,CAAA;AAAA,UACN,SAAW,EAAA,KAAA;AAAA,UACX,QAAQ,QAAS,CAAA,cAAA;AAAA,UACjB,MAAQ,EAAA,IAAI,KAAM,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,UACzB,WAAa,EAAA,CAAA;AAAA,SACf;AAAA,QACA,MAAQ,EAAA,sBAAA;AAAA,OACV;AAAA,MACA,WAAc,GAAA;AACZ,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;AAED,IAAa,UAAA,GAAA,IAAA,CAAA;AAAA,GACf;AAAA,EAEA,OAAO,OAAO,MAAwB,EAAA;AACpC,IAAA,IAAI,CAAC,UAAY,EAAA;AACf,MAAA,OAAA;AAAA,KACF;AAEA,IAAa,UAAA,GAAA,KAAA,CAAA;AAAA,GACf;AACF;;;;"}