vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 6.04 kB
Source Map (JSON)
{"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: 2024-02-29 00:41:04\n * @FilePath: \\vue-cesium\\packages\\shared\\extends\\materials\\MaterialExtend.ts\n */\n\nimport { VcCircleWaveMaterial, VcLineFlowMaterial, VcLineTrailMaterial } 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 shaderSourceTextVcLineFlow = VcLineFlowMaterial\n let shaderSourceTextVcCircle = VcCircleWaveMaterial\n let shaderSourceTextVcLineTrail = VcLineTrailMaterial\n\n if (!webgl2) {\n shaderSourceTextVcLineFlow = shaderSourceTextVcLineFlow.replace(/texture\\(/g, 'texture2D(')\n shaderSourceTextVcCircle = shaderSourceTextVcCircle.replace(/texture\\(/g, 'texture2D(')\n shaderSourceTextVcLineTrail = shaderSourceTextVcLineTrail.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: shaderSourceTextVcLineFlow\n },\n translucent() {\n return true\n }\n })\n\n /**\n * Gets the name of the VcLineTrail material.\n * @type {string}\n * @readonly\n */\n Material['VcLineTrail'] = 'VcLineTrail'\n Cesium.Material['_materialCache'].addMaterial(Material['VcLineTrail'], {\n fabric: {\n type: Material['VcLineTrail'],\n uniforms: {\n image: Material.DefaultImageId,\n color: new Color(1, 0, 0, 1),\n repeat: new Cartesian2(1, 1),\n time: 0,\n axisY: false\n },\n source: shaderSourceTextVcLineTrail\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":"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"}