GeoBloom

自定义辉光(bloom)效果,用以对指定的图元应用辉光效果,可以创建多个,但是数量越多,效率越低。

new Cesium.GeoBloom(options)

Name Type Description
options Object optional 参数选项
Name Type Description
scene Scene optional 场景对象
name String optional 辉光(bloom)名字,如果不指定,则程序内部自动生成。不允许重复。
Author:
  • liuhonglei
Examples:
// 程序内部自动创建了一个辉光对象,可以直接使用
let geoBloom = viewer.scene.geoBloom;
// 添加辉光图元
geoBloom.addBloomPrimitives('polygon': [primitive, primitive, ...]);
// 调整辉光强度
geoBloom.strength = 2;
// 调整辉光半径
geoBloom.radius = 0.5;
// 创建一个辉光对象
let geoBloom = new Cesium.GeoBloom({
     scene: viewer.scene,
     name: 'myBloom'
});
// 添加辉光图元
geoBloom.addBloomPrimitives('polygon': [primitive, primitive, ...]);
Demo:

Members

radius : Number

辉光半径系数,值越大,辉光范围越大
Default Value: 0.1

strength : Number

辉光强度,值越大,辉光效果越强
Default Value: 1.0

Methods

addBloomPrimitives(key, primitives)Boolean

添加应用辉光效果的图元。分组添加,这样可以分别控制每组是否应用辉光。
Name Type Description
key Striing 应用辉光效果的key值
primitives Array key所对应的应用辉光效果的图元集合
Returns:
是否添加成功
Examples:
let primitive1 = viewer.scene.primitives.add(new Cesium.Primitive({...}));
let primitive2 = viewer.scene.primitives.add(new Cesium.Primitive({...}));
...
let geoBloom = viewer.scene.geoBloom;
geoBloom.addBloomPrimitives('polygon', [primitive1, primitive2, ...]);
let geoBloom = new Cesium.GeoBloom({
     scene: viewer.scene,
     name: 'myBloom'
});
geoBloom.addBloomPrimitives('line', [primitive1, primitive2, ...]);

checkKeyExist(key)Boolean

检测分组是否已经存在
Name Type Description
key String 分组的key值
Returns:
若分组已存在,则返回true

clearBloomPrimitives()

移除所有图元的辉光效果

removeBloomPrimitives(key)Boolean

对key分组的图元移除辉光效果。
Name Type Description
key String 想要移除辉光效果的key值
Returns:
是否移除成功
Example:
geoBloom.removeBloomPrimitives('polygon');

updateBloomPrimitives(key, primitives)Boolean

对key分组内的图元进行更新操作
Name Type Description
key String 为key分组的图元进行更新
primitives Array 为key分组重新指定的图元集合
Returns:
是否更新成功
Example:
geoBloom.updateBloomPrimitives('polygon', [primitive3, primitive4, ...]);