PostProcessStageComposite

new Cesium.PostProcessStageComposite (options)

逻辑上一起执行的 PostProcessStage 或其他后处理复合阶段的集合。

所有阶段都按照数组的顺序执行。输入纹理根据 inputPreviousStageTexture 的值变化。如果 inputPreviousStageTexture true ,则每个阶段的输入是场景渲染到的输出纹理或之前执行的阶段的输出纹理。如果 inputPreviousStageTexture false ,则输入纹理对于合成中的每个阶段都是相同的。输入纹理是场景渲染到的纹理或前一阶段的输出纹理。

Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
stages 大批 要按顺序执行的 PostProcessStage 或组合的数组。
inputPreviousStageTexture 布尔值 true 可选 是否执行每个后处理阶段,其中一个阶段的输入是前一个阶段的输出。否则,每个包含阶段的输入是在组合之前执行的阶段的输出。
name 细绳 createGuid() 可选 此后处理阶段的唯一名称,以供其他复合材料参考。如果未提供名称,将生成 GUID。
uniforms 目的 可选 后处理阶段制服的别名。
Throws:
Examples:
// Example 1: separable blur filter
// The input to blurXDirection is the texture rendered to by the scene or the output of the previous stage.
// The input to blurYDirection is the texture rendered to by blurXDirection.
scene.postProcessStages.add(new Cesium.PostProcessStageComposite({
    stages : [blurXDirection, blurYDirection]
}));
// Example 2: referencing the output of another post-process stage
scene.postProcessStages.add(new Cesium.PostProcessStageComposite({
    inputPreviousStageTexture : false,
    stages : [
        // The same as Example 1.
        new Cesium.PostProcessStageComposite({
            inputPreviousStageTexture : true
            stages : [blurXDirection, blurYDirection],
            name : 'blur'
        }),
        // The input texture for this stage is the same input texture to blurXDirection since inputPreviousStageTexture is false
        new Cesium.PostProcessStage({
            fragmentShader : compositeShader,
            uniforms : {
                blurTexture : 'blur' // The output of the composite with name 'blur' (the texture that blurYDirection rendered to).
            }
        })
    ]
});
// Example 3: create a uniform alias
const uniforms = {};
Cesium.defineProperties(uniforms, {
    filterSize : {
        get : function() {
            return blurXDirection.uniforms.filterSize;
        },
        set : function(value) {
            blurXDirection.uniforms.filterSize = blurYDirection.uniforms.filterSize = value;
        }
    }
});
scene.postProcessStages.add(new Cesium.PostProcessStageComposite({
    stages : [blurXDirection, blurYDirection],
    uniforms : uniforms
}));
See:

Members

准备好后是否执行此后期处理阶段。

readonly inputPreviousStageTexture : Boolean

所有后处理阶段都按照数组的顺序执行。输入纹理根据 inputPreviousStageTexture 的值变化。如果 inputPreviousStageTexture true ,则每个阶段的输入是场景渲染到的输出纹理或之前执行的阶段的输出纹理。如果 inputPreviousStageTexture false ,则输入纹理对于合成中的每个阶段都是相同的。输入纹理是场景渲染到的纹理或前一阶段的输出纹理。
此复合材料中的后处理阶段数。
此后期处理阶段的唯一名称,供 PostProcessStageComposite 中的其他阶段参考。
确定此后处理阶段是否已准备好执行。
为应用后处理而选择的特征。
后处理阶段统一值的别名。可能 undefined ;在这种情况下,让每个阶段设置统一的值。

Methods

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

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

Throws:
See:
获取 index 处的后处理阶段
Name Type Description
index Number 后处理阶段或组合的索引。
Returns:
后处理阶段或索引处的合成。
Throws:
如果此对象被销毁,则返回 true;否则为假。

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

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