PostProcessStageCollection

PostProcessStages和/或PostProcessStageComposites.

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

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

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

new PostProcessStageCollection()

Members

(readonly) ambientOcclusion : PostProcessStageComposite

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

环境光遮挡模拟来自环境光的阴影。当表面接收到光时,不管光的位置如何,这些阴影总是存在的。

结构具有以下特性:intensitybiaslengthCapstepSizefrustumLengthambientOcclusionOnlydeltasigma,和blurStepSize

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

deltasigma,且blurStepSizePostProcessStageLibrary#createBlurStage相同。模糊应用于从图像生成的阴影,使其更平滑。

启用后,此阶段将先于所有其他阶段执行。

(readonly) bloom : PostProcessStageComposite

开花效应的后处理阶段。

光华效果增加了光晕效果,使亮区更亮,暗区更暗。

此阶段有以下结构:contrastbrightnessglowOnlydeltasigma,和stepSize

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

deltasigmastepSizePostProcessStageLibrary#createBlurStage具有相同的属性。模糊应用于从图像生成的阴影,使其更平滑。

启用后,此阶段将先于所有其他阶段执行。

(readonly) fxaa : PostProcessStage

快速近似消除混叠的后处理阶段。

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

(readonly) length : Number

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

(readonly) ready : Boolean

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

Methods

add(stage) → {PostProcessStage|PostProcessStageComposite}
将后期处理阶段添加到集合中。
Parameters:
stage ((PostProcessStage | PostProcessStageComposite)) 要添加到集合的后期处理阶段。
Throws
  • DeveloperError : 后处理阶段已添加到集合中,或者没有唯一的名称。
contains(stage) → {Boolean}
返回集合是否包含后期处理阶段。
Parameters:
stage ((PostProcessStage | PostProcessStageComposite)) 后处理阶段。
destroy()
销毁此对象持有的WebGL资源。销毁对象允许确定地释放WebGL资源,而不是依赖垃圾收集器来销毁此对象。

一旦对象被破坏,就不应使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例中所述。

Throws
See:
get(index) → {PostProcessStage|PostProcessStageComposite}
index处获取后期处理阶段。
Parameters:
index (Number) 后处理阶段的索引。
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。

See:
remove(stage) → {Boolean}
从集合中移除后处理阶段并将其销毁。
Parameters:
stage ((PostProcessStage | PostProcessStageComposite)) 要从集合中移除的后期处理阶段。
removeAll()
从集合中移除所有后期处理阶段并销毁它们。