PostProcessStage
或其他后处理复合阶段的集合。
所有阶段都按照数组的顺序执行。输入纹理根据
inputPreviousStageTexture
的值变化。如果
inputPreviousStageTexture
为
true
,则每个阶段的输入是场景渲染到的输出纹理或之前执行的阶段的输出纹理。如果
inputPreviousStageTexture
为
false
,则输入纹理对于合成中的每个阶段都是相同的。输入纹理是场景渲染到的纹理或前一阶段的输出纹理。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
Throws:
-
DeveloperError : options.stages.length 必须大于 0.0。
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
inputPreviousStageTexture
的值变化。如果
inputPreviousStageTexture
为
true
,则每个阶段的输入是场景渲染到的输出纹理或之前执行的阶段的输出纹理。如果
inputPreviousStageTexture
为
false
,则输入纹理对于合成中的每个阶段都是相同的。输入纹理是场景渲染到的纹理或前一阶段的输出纹理。
undefined
;在这种情况下,让每个阶段设置统一的值。
Methods
一旦一个对象被销毁,它就不应该被使用;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。因此,如示例中所做的那样,将返回值 (
undefined
) 分配给对象。
Throws:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
index
处的后处理阶段
Name | Type | Description |
---|---|---|
index
|
Number | 后处理阶段或组合的索引。 |
Returns:
Throws:
-
DeveloperError : 索引必须大于或等于 0。
如果该对象被销毁,则不应使用;调用
isDestroyed
以外的任何函数都会导致
DeveloperError
异常。
Returns:
true
;否则,
false
。