PostProcessStageComposite

new LSGlobe.PostProcessStageComposite (options)

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

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

Name Type Description
options Object 具有以下属性的对象:
名称 类型 默认 说明
阶段 数组 依次执行的 PostProcessStage 或组合数组。
inputPreviousStageTexture 布尔值 可选 是否执行每个后处理阶段,其中一个阶段的输入是前一个阶段的输出。否则,每个包含的阶段的输入就是在合成之前执行的阶段的输出。
名称 字符串 createGuid() 可选 此后期处理阶段的唯一名称,供其他组合参考。如果未提供名称,则将生成GUID。
制服 对象 可选 后处理阶段的制服的别名。
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 LSGlobe.PostProcessStageComposite({
    stages : [blurXDirection, blurYDirection]
}));
// Example 2: referencing the output of another post-process stage
scene.postProcessStages.add(new LSGlobe.PostProcessStageComposite({
    inputPreviousStageTexture : false,
    stages : [
        // The same as Example 1.
        new LSGlobe.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 LSGlobe.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
var uniforms = {};
LSGlobe.defineProperties(uniforms, {
    filterSize : {
        get : function() {
            return blurXDirection.uniforms.filterSize;
        },
        set : function(value) {
            blurXDirection.uniforms.filterSize = blurYDirection.uniforms.filterSize = value;
        }
    }
});
scene.postProcessStages.add(new LSGlobe.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;否则返回false。否则为假。

如果该对象被破坏,则不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。

Returns:
真正 该物体是否被破坏;除此以外,
See: