CesiumJS的PostProcessStageLibrary是一个库,用于创建一系列通用的后期处理阶段(Post-Process Stages),例如高光(Bloom),深度(Depth of Field),HDR,颜色平衡等等。
在CesiumJS中,后期处理阶段用于对场景渲染结果进行进一步处理,从而获得更好的视觉效果。
要使用PostProcessStageLibrary,可以通过以下方式获取:
var postProcessStageLibrary = Cesium.PostProcessStageLibrary;
在PostProcessStageLibrary中,可以通过以下方法创建一个后期处理阶段:
var bloom = postProcessStageLibrary.createBloomStage(options);
其中,options
是一个包含后期处理阶段参数的对象。不同的后期处理阶段,对应的options
也会有所不同。
例如,在创建高光(Bloom)后期处理阶段时,可以使用以下options
:
var options = {
glowOnly: false, // 是否仅针对高光区域
intensity: 0.8, // 高光强度
blurAmount: 4, // 高光模糊量
scale: 0.5, // 高光缩放
delta: 0.01, // 高光边缘值
sigma: 1.0 // 高光模糊程度
};
在创建后期处理阶段之后,可以通过以下方式将它们应用到相机视图中:
viewer.scene.postProcessStages.add(bloom);
这将使得后期处理阶段在场景渲染的最后一个阶段进行处理。
以下是一个使用PostProcessStageLibrary来创建高光(Bloom)并应用到场景中的代码示例:
var viewer = new Cesium.Viewer('cesiumContainer', {
sceneMode : Cesium.SceneMode.SCENE3D,
terrainProvider : Cesium.createWorldTerrain(),
shadows: true
});
// 创建高光后期处理阶段
var bloom = Cesium.PostProcessStageLibrary.createBloomStage({
intensity: 0.8,
blurAmount: 4,
delta: 0.01,
sigma: 1.0
});
// 将高光后期处理阶段应用到场景中
viewer.scene.postProcessStages.add(bloom);
PostProcessStageLibrary中预先定义了以下后期处理阶段: