PostProcessStageCollection

new SuperMap3D.PostProcessStageCollection()

{@link后处理阶段(PostProcessStage)}和/或{@link后处理阶段复合(PostProcessStageComposite)}的集合。

每个后处理阶段的输入纹理都是场景渲染的纹理或集合中上一个阶段渲染的纹理。

如果启用了环境光遮蔽或绽放阶段,它们将在所有其他阶段之前执行。

如果启用了 FXAA 阶段,它将在所有其他阶段之后执行。

Members

readonlyambientOcclusion : PostProcessStageComposite

将基于地平线的环境光遮蔽 (HBAO) 应用于输入纹理的后处理阶段。

环境光遮蔽模拟来自环境光的阴影。当表面接收到光线时,无论光线的位置如何,这些阴影都会始终存在。

uniforms 具有以下属性intensity, bias, lengthCap, stepSize, frustumLength, ambientOcclusionOnly, delta, sigma, and blurStepSize.

  • intensity 是一个标量值,用于以指数方式使阴影变亮或变暗。较高的值会使阴影更暗。默认值为 3.0 。
  • bias 是一个标量值,以弧度表示角度。如果样本的法线与相机的向量之间的点积小于该值,则在当前方向上停止采样。这用于从平面边缘附近移除阴影。默认值为 0.1。
  • lengthCap 是一个标量值,表示以米为单位的长度。如果当前样本到第一个样本的距离大于该值,则沿当前方向停止采样。默认值为 0.26。
  • stepSize 是一个标量值,指示在当前方向上到下一个纹素样本的距离。默认值为 1.95。
  • frustumLength 是以米为单位的标量值。如果当前片段与相机的距离大于此值,则不会为该片段计算环境光遮蔽。默认值为 1000.0。
  • ambientOcclusionOnly 是一个布尔值。当为 true 时,仅将生成的阴影写入输出。当为 false 时,输入纹理使用环境光遮蔽进行调制。这是一个有用的调试选项,用于查看更改统一值的效果。默认值为 false 。

delta, sigma, 和 blurStepSize 与PostProcessStageLibrary#createBlurStage. 的属性相同。模糊应用于从影像生成的阴影以使其更平滑。

启用后,此阶段将在所有其他阶段之前执行。

readonlybloom : PostProcessStageComposite

绽放效果的后处理阶段。

绽放效果增加了发光效果,使明亮的区域更亮,黑暗的区域更暗。

这个阶段有以下uniforms: contrast, brightness, glowOnly, delta, sigma, and stepSize.

  • contrast 是 [-255.0, 255.0] 范围内的标量值,会影响效果的收缩。默认值为 128.0。
  • brightness是一个标量值。输入纹理 RGB 值转换为色调、饱和度和亮度 (HSB),然后将该值添加到亮度中。默认值为 -0.3 。
  • glowOnly 是一个布尔值。当为 true 时,只会显示发光效果。当为 false 时,发光将被添加到输入纹理中。默认值为 false 。这是一个调试选项,用于在更改其他统一值时查看效果。

delta, sigma, 和stepSize 与 PostProcessStageLibrary#createBlurStage的属性相同。模糊应用于从影像生成的阴影以使其更平滑。

启用后,此阶段将在所有其他阶段之前执行。

fog : Object

获取雾效果。

readonlyfxaa : PostProcessStage

快速近似抗锯齿的后处理阶段。

启用后,此阶段将在所有其他阶段之后执行。

readonlylength : Number

此集合中的后处理阶段数。

outline : Property

获取指定的轮廓属性。
Default Value: false
获取雨效果。

readonlyready : Boolean

确定集合中的所有后处理阶段是否已准备好执行。

readonlysmaa : PostProcessStage

是否开启反走样功能。
获取雪效果。

Methods

add(stage)PostProcessStage|PostProcessStageComposite

将后期处理阶段添加到集合中。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 添加到集合的后期处理阶段。
Returns:
添加到集合中的后期处理阶段。
Throws:
  • DeveloperError : 后处理阶段已添加到集合中或没有唯一名称。

contains(stage)Boolean

返回集合是否包含后处理阶段。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 后处理阶段。
Returns:
集合是否包含后期处理阶段。

destroy()

销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。

一旦一个对象被销毁,它就不应该被使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。因此,如示例中所做的那样,将返回值 ( undefined ) 分配给对象。

Throws:
See:

get(index)PostProcessStage|PostProcessStageComposite

获取 index 处的后处理阶段。
Name Type Description
index Number 后处理阶段的索引。
Returns:
索引的后处理阶段。

isDestroyed()Boolean

如果此对象被销毁,则返回 true;否则为false.

如果该对象被销毁,则不应使用;调用 isDestroyed 以外的任何函数都会导致DeveloperError异常。

Returns:
如果此对象被销毁,则为 true ;否则, false.
See:

remove(stage)Boolean

从集合中删除后处理阶段并将其销毁。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 要从集合中删除的后处理阶段。
Returns:
是否删除了后处理阶段。

removeAll()

从集合中删除所有后处理阶段并销毁它们。