@vtx/cs-map
Version:
React components for Vortex
68 lines (66 loc) • 3.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _cesium = require("cesium");
/**
*渐变光圈纹理
* @param {}color 颜色
* @param {}speed 速率
* @param {}repeatNum 重复数量
*/
function CesiumGradualLightRingMaterialProperty(options) {
this._definitionChanged = new _cesium.Event();
this.color = options.color;
this.speed = options.speed;
this.repeatNum = options.repeatNum;
}
CesiumGradualLightRingMaterialProperty.prototype.getType = function () {
return 'CesiumGradualLightRingMaterialProperty';
};
CesiumGradualLightRingMaterialProperty.prototype.getValue = function (time, result) {
if (!(0, _cesium.defined)(result)) {
result = {};
}
result.color = _cesium.Property.getValueOrClonedDefault(this.color, time, new _cesium.Color(0.23, 0.67, 0.9, 1.0), result.color);
result.speed = _cesium.Property.getValueOrClonedDefault(this.speed, time, 1, result.speed);
result.repeatNum = _cesium.Property.getValueOrClonedDefault(this.repeatNum, time, 5, result.repeatNum);
return result;
};
CesiumGradualLightRingMaterialProperty.prototype.equals = function (other) {
return this === other || other instanceof CesiumGradualLightRingMaterialProperty && _cesium.Property.equals(this.color, other.color) && _cesium.Property.equals(this.speed, other.speed) && _cesium.Property.equals(this.repeatNum, other.repeatNum);
};
Object.defineProperties(CesiumGradualLightRingMaterialProperty.prototype, {
isConstant: {
get: function get() {
return false;
}
},
definitionChanged: {
get: function get() {
return this._definitionChanged;
}
},
color: (0, _cesium.createPropertyDescriptor)('color'),
speed: (0, _cesium.createPropertyDescriptor)('speed'),
repeatNum: (0, _cesium.createPropertyDescriptor)('repeatNum')
});
_cesium.Material.CesiumGradualLightRingMaterialPropertyType = 'CesiumGradualLightRingMaterialProperty';
_cesium.Material.CesiumGradualLightRingMaterialPropertyMaterialSource = "\nfloat iTime= czm_frameNumber/ 100.0;\nfloat pointy (float f) {\n // return 0.2/(abs(f)+0.2);\n return 0.01/(abs(f)+0.02);\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec2 str = materialInput.st*1.0;\n //----------------------------------------------------------\n vec2 uv = str;\n uv.y=fract(uv.y*repeatNum);\n vec3 col001 = vec3(0.0);\n float f001 =fract( abs(uv.y - (iTime*0.5*speed)));\n col001 = vec3(pointy(f001));\n\n // vec3 col= vec3(0.93, 0.97, 1) - vec3(0.7, 0.3, 0.1);//\u989C\u82722\n vec3 col= color.rgb;//\u989C\u82722\n material.diffuse = col*(1.0-str.y)*(1.0-str.y)*(1.0-str.y)*(1.0-str.y)+col001;\n material.emission = col+col001;\n material.alpha = (1.0-str.y);\n return material;\n }";
_cesium.Material._materialCache.addMaterial(_cesium.Material.CesiumGradualLightRingMaterialPropertyType, {
fabric: {
type: _cesium.Material.CesiumGradualLightRingMaterialPropertyType,
uniforms: {
color: new _cesium.Color(0.23, 0.67, 0.9, 1.0),
speed: 1,
repeatNum: 5
},
source: _cesium.Material.CesiumGradualLightRingMaterialPropertyMaterialSource
},
translucent: function translucent() {
return true;
}
});
var _default = exports["default"] = CesiumGradualLightRingMaterialProperty;
//# sourceMappingURL=GradualLightRingMaterialProperty.js.map