new PostProcessStageComposite(options)
A collection of PostProcessStages or other post-process composite stages that execute together logically.
All stages are executed in the order of the array. The input texture changes based on the value of inputPreviousStageTexture.
If inputPreviousStageTexture is true, the input to each stage is the output texture rendered to by the scene or of the stage that executed before it.
If inputPreviousStageTexture is false, the input texture is the same for each stage in the composite. The input texture is the texture rendered to by the scene
or the output texture of the previous stage.
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
An object with the following properties:
|
- See:
Throws:
-
options.stages.length must be greater than 0.0.
- Type
- DeveloperError
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 SuperMap3D.PostProcessStageComposite({
stages : [blurXDirection, blurYDirection]
}));
// Example 2: referencing the output of another post-process stage
scene.postProcessStages.add(new SuperMap3D.PostProcessStageComposite({
inputPreviousStageTexture : false,
stages : [
// The same as Example 1.
new SuperMap3D.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 SuperMap3D.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 = {};
SuperMap3D.defineProperties(uniforms, {
filterSize : {
get : function() {
return blurXDirection.uniforms.filterSize;
},
set : function(value) {
blurXDirection.uniforms.filterSize = blurYDirection.uniforms.filterSize = value;
}
}
});
scene.postProcessStages.add(new SuperMap3D.PostProcessStageComposite({
stages : [blurXDirection, blurYDirection],
uniforms : uniforms
}));
Members
-
enabledBoolean
-
Whether or not to execute this post-process stage when ready.
-
readonly inputPreviousStageTextureBoolean
-
All post-process stages are executed in the order of the array. The input texture changes based on the value of
inputPreviousStageTexture. IfinputPreviousStageTextureistrue, the input to each stage is the output texture rendered to by the scene or of the stage that executed before it. IfinputPreviousStageTextureisfalse, the input texture is the same for each stage in the composite. The input texture is the texture rendered to by the scene or the output texture of the previous stage. -
readonly lengthNumber
-
The number of post-process stages in this composite.
-
readonly nameString
-
The unique name of this post-process stage for reference by other stages in a PostProcessStageComposite.
-
readonly readyBoolean
-
Determines if this post-process stage is ready to be executed.
-
selectedArray
-
The features selected for applying the post-process.
-
uniformsObject
-
An alias to the uniform values of the post-process stages. May be
undefined; in which case, get each stage to set uniform values.
Methods
-
destroy()
-
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other than
isDestroyedwill result in aDeveloperErrorexception. Therefore, assign the return value (undefined) to the object as done in the example.Throws:
-
This object was destroyed, i.e., destroy() was called.
- Type
- DeveloperError
-
-
get(index){PostProcessStage|PostProcessStageComposite}
-
Gets the post-process stage at
indexName Type Description indexNumber The index of the post-process stage or composite.
Throws:
-
-
index must be greater than or equal to 0.
- Type
- DeveloperError
-
-
-
index must be less than
PostProcessStageComposite#length. - Type
- DeveloperError
-
Returns:
Type Description PostProcessStage | PostProcessStageComposite The post-process stage or composite at index. -
-
isDestroyed(){Boolean}
-
Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than
isDestroyedwill result in aDeveloperErrorexception.Returns:
Type Description Boolean trueif this object was destroyed; otherwise,false.