UNPKG

vue-cesium

Version:
96 lines (91 loc) 2.95 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('../../shaders/materials/index.js'); var VcLineFlowMaterial = require('../../shaders/materials/VcLineFlowMaterial.js'); var VcCircleWaveMaterial = require('../../shaders/materials/VcCircleWaveMaterial.js'); var VcLineTrailMaterial = require('../../shaders/materials/VcLineTrailMaterial.js'); "use strict"; let isExtended = false; class MaterialExtend { static extend(viewer) { var _a; if (isExtended) { return; } const { Material, Color, Cartesian2 } = Cesium; const webgl2 = (_a = viewer.scene.context) == null ? void 0 : _a.webgl2; let shaderSourceTextVcLineFlow = VcLineFlowMaterial["default"]; let shaderSourceTextVcCircle = VcCircleWaveMaterial["default"]; let shaderSourceTextVcLineTrail = VcLineTrailMaterial["default"]; if (!webgl2) { shaderSourceTextVcLineFlow = shaderSourceTextVcLineFlow.replace(/texture\(/g, "texture2D("); shaderSourceTextVcCircle = shaderSourceTextVcCircle.replace(/texture\(/g, "texture2D("); shaderSourceTextVcLineTrail = shaderSourceTextVcLineTrail.replace(/texture\(/g, "texture2D("); } Material["VcCircleWave"] = "VcCircleWave"; Cesium.Material["_materialCache"].addMaterial(Material["VcCircleWave"], { fabric: { type: Material["VcCircleWave"], uniforms: { color: new Color(1, 0, 0, 1), time: 1, count: 1, gradient: 0.1 }, source: shaderSourceTextVcCircle }, translucent() { return true; } }); Material["VcLineFlow"] = "VcLineFlow"; Cesium.Material["_materialCache"].addMaterial(Material["VcLineFlow"], { fabric: { type: Material["VcLineFlow"], uniforms: { image: Material.DefaultImageId, color: new Color(1, 1, 1, 1), repeat: new Cartesian2(1, 1), axisY: false, mixt: false, speed: 10, time: -1, hasImage2: false, image2: Material.DefaultImageId, color2: new Color(1, 1, 1), globalAlpha: 1 }, source: shaderSourceTextVcLineFlow }, translucent() { return true; } }); Material["VcLineTrail"] = "VcLineTrail"; Cesium.Material["_materialCache"].addMaterial(Material["VcLineTrail"], { fabric: { type: Material["VcLineTrail"], uniforms: { image: Material.DefaultImageId, color: new Color(1, 0, 0, 1), repeat: new Cartesian2(1, 1), time: 0, axisY: false }, source: shaderSourceTextVcLineTrail }, translucent() { return true; } }); isExtended = true; } static revoke(viewer) { if (!isExtended) { return; } isExtended = false; } } exports["default"] = MaterialExtend; //# sourceMappingURL=MaterialExtend.js.map