PostProcessStageLibrary

包含用于创建公共后期处理阶段的函数。

Methods

(static) createBlackAndWhiteStage() → {PostProcessStage}
创建一个后处理阶段,该阶段用黑白渐变呈现输入纹理。

此阶段有一个统一的值gradations,用于缩放每个像素的亮度。

(static) createBlurStage() → {PostProcessStageComposite}
创建一个将高斯模糊应用于输入纹理的后期处理阶段。 此阶段通常与另一个阶段结合使用。

该阶段具有以下结构:deltasigmastepSize

deltasigma用于计算高斯滤波器的权重。 等式为exp((-0.5 * delta * delta) / (sigma * sigma))delta的默认值为1.0sigma的默认值为2.0stepSize是到下一个纹理像素的距离。 默认值为1.0

(static) createBrightnessStage() → {PostProcessStage}
创建一个后处理阶段,使输入纹理饱和。

此阶段有一个统一的值brightness,用于缩放每个像素的饱和度。

(static) createDepthOfFieldStage() → {PostProcessStageComposite}
创建应用景深效果的后期处理阶段。

景深模拟相机焦距。场景中处于焦点的对象将是清晰的,而未处于焦点的对象将是模糊的。

此阶段有以下结构:focalDistancedeltasigmastepSize

focalDistance是从相机到设置相机焦点的距离(米)。

deltasigmastepSizePostProcessStageLibrary#createBlurStage相同。模糊应用于不聚焦的区域。

(static) createEdgeDetectionStage() → {PostProcessStageComposite}
创建检测边缘的后期处理阶段。

将颜色写入输出纹理,其中alpha设置为1.0(在边上)。

此阶段有以下结构:colorlength

  • color是突出显示边缘的颜色。默认值为Color#BLACK
  • length是边缘的长度(像素)。默认为0.5

二维不支持此阶段。

Example
// multiple silhouette effects
var yellowEdge = bmgl.PostProcessLibrary.createEdgeDetectionStage();
yellowEdge.uniforms.color = bmgl.Color.YELLOW;
yellowEdge.selected = [feature0];

var greenEdge = bmgl.PostProcessLibrary.createEdgeDetectionStage();
greenEdge.uniforms.color = bmgl.Color.LIME;
greenEdge.selected = [feature1];

// draw edges around feature0 and feature1
postProcessStages.add(bmgl.PostProcessLibrary.createSilhouetteEffect([yellowEdge, greenEdge]);
(static) createLensFlareStage() → {PostProcessStage}
创建一个后期处理阶段,该阶段应用一个效果来模拟光线对摄影机镜头的放大。

本阶段有以下结构:dirtTexturestarTextureintensitydistortionghostDispersalhaloWidthdirtAmountearthRadius

  • dirtTexture是为模拟镜头上的灰尘而采样的纹理。
  • starTexture是为光斑的星型采样的纹理。
  • intensity是一个标量乘以镜头光斑的结果。默认值为2.0
  • distortion是影响色彩效果失真的标量值。默认值为10.0
  • ghostDispersal是一个标量,指示光环效果距离纹理中心的距离。默认值为0.4
  • haloWidth是一个标量,表示来自重影分散的光晕宽度。默认值为0.4
  • dirtAmount是表示镜头上灰尘量的标量。默认值为0.4
  • earthRadius是地球的最大半径。默认值为Ellipsoid.WGS84.maximumRadius.

(static) createNightVisionStage() → {PostProcessStage}
创建后处理阶段,将夜视效果添加到输入纹理。
(static) createSilhouetteStage() → {PostProcessStageComposite}
创建应用轮廓效果的后期处理阶段。

轮廓效果将边缘检测过程中的颜色与输入颜色纹理合成。{9{

edgeDetectionStagesundefinedcolorlength

color为突出显示边缘的颜色时,此阶段有以下结构。默认值为Color#BLACKlength是边缘的长度(像素)。默认值为0.5

(static) isAmbientOcclusionSupported(scene) → {Boolean}
是否支持环境光遮挡阶段。

此阶段需要WebGL_深度_纹理扩展。

Parameters:
scene (Scene) 现场。
See:
(static) isDepthOfFieldSupported(scene) → {Boolean}
是否支持景深阶段。

此阶段需要WebGL_深度_纹理扩展。

Parameters:
scene (Scene) 现场。
See:
(static) isEdgeDetectionSupported(scene) → {Boolean}
是否支持边缘检测阶段。

此阶段需要WebGL_深度_纹理扩展。

Parameters:
scene (Scene) 现场。
See:
(static) isSilhouetteSupported(scene) → {Boolean}
是否支持剪影阶段。

此阶段需要WebGL_深度_纹理扩展。

Parameters:
scene (Scene) 现场。
See: