Class SSAO2RenderingPipeline
Hierarchy (View Summary)
- PostProcessRenderPipeline
- SSAO2RenderingPipeline
Constructors
constructor
-
new SSAO2RenderingPipeline(
name: string,
scene: Scene,
ratio: any,
cameras?: Camera[],
forceGeometryBuffer?: boolean | GeometryBufferRenderer,
textureType?: number,
): SSAO2RenderingPipelineCreates the SSAO2 rendering pipeline.
Parameters
- name: string
The rendering pipeline name
- scene: Scene
The scene linked to this pipeline
- ratio: any
The size of the postprocesses. Can be a number shared between passes or an object for more precision: { ssaoRatio: 0.5, blurRatio: 1.0 }
Optionalcameras: Camera[]The array of cameras that the rendering pipeline will be attached to
- forceGeometryBuffer: boolean | GeometryBufferRenderer = false
Set to true if you want to use the legacy geometry buffer renderer. You can also pass an existing instance of GeometryBufferRenderer if you want to use your own geometry buffer renderer.
- textureType: number = Constants.TEXTURETYPE_UNSIGNED_BYTE
The texture type used by the different post processes created by SSAO (default: Constants.TEXTURETYPE_UNSIGNED_BYTE)
Returns SSAO2RenderingPipeline
- name: string
Properties
inspectable Custom Properties
List of inspectable custom properties (used by the Inspector)
SSAO Blur H Render Effect
SSAO Blur V Render Effect
SSAO Combine Render Effect
SSAO Original Scene Color Effect
SSAO Render Effect
Readonlyunique Id
Gets the unique id of the post process rendering pipeline
Accessors
base
-
get base(): number
The base color of the SSAO post-process The final result is "base + ssao" between [0, 1]
Returns number
-
set base(value: number): void
Parameters
- value: number
Returns void
bilateral Samples
-
get bilateralSamples(): number
The number of samples the bilateral filter uses in both dimensions when denoising the SSAO calculations. Default value is 16.
A higher value should result in smoother shadows but will use more processing time in the shaders.
A high value can cause the shadows to get to blurry or create visible artifacts (bands) near sharp details in the geometry. The artifacts can sometimes be mitigated by increasing the bilateralSoften setting.
Returns number
-
set bilateralSamples(n: number): void
Parameters
- n: number
Returns void
bilateral Soften
-
get bilateralSoften(): number
Controls the shape of the denoising kernel used by the bilateral filter. Default value is 0.
By default the bilateral filter acts like a box-filter, treating all samples on the same depth with equal weights. This is effective to maximize the denoising effect given a limited set of samples. However, it also often results in visible ghosting around sharp shadow regions and can spread out lines over large areas so they are no longer visible.
Increasing this setting will make the filter pay less attention to samples further away from the center sample, reducing many artifacts but at the same time increasing noise.
Useful value range is [0..1].
Returns number
-
set bilateralSoften(n: number): void
Parameters
- n: number
Returns void
bilateral Tolerance
-
get bilateralTolerance(): number
How forgiving the bilateral denoiser should be when rejecting samples. Default value is 0.
A higher value results in the bilateral filter being more forgiving and thus doing a better job at denoising slanted and curved surfaces, but can lead to shadows spreading out around corners or between objects that are close to each other depth wise.
Useful value range is normally [0..1], but higher values are allowed.
Returns number
-
set bilateralTolerance(n: number): void
Parameters
- n: number
Returns void
bypass Blur
-
get bypassBlur(): boolean
Returns boolean
-
set bypassBlur(b: boolean): void
Skips the denoising (blur) stage of the SSAO calculations.
Useful to temporarily set while experimenting with the other SSAO2 settings.
Parameters
- b: boolean
Returns void
cameras
-
Gets the list of attached cameras
Returns Camera[]
engine
-
Gets the active engine
Returns AbstractEngine
epsilon
-
get epsilon(): number
Returns number
-
set epsilon(n: number): void
Used in SSAO calculations to compensate for accuracy issues with depth values. Default 0.02.
Normally you do not need to change this value, but you can experiment with it if you get a lot of in false self-occlusion on flat surfaces when using fewer than 16 samples. Useful range is normally [0..0.1] but higher values is allowed.
Parameters
- n: number
Returns void
expensive Blur
-
get expensiveBlur(): boolean
Returns boolean
-
set expensiveBlur(b: boolean): void
Enables the configurable bilateral denoising (blurring) filter. Default is true. Set to false to instead use a legacy bilateral filter that can't be configured.
The denoising filter runs after the SSAO calculations and is a very important step. Both options results in a so called bilateral being used, but the "expensive" one can be configured in several ways to fit your scene.
Parameters
- b: boolean
Returns void
is Supported
-
get isSupported(): boolean
If all the render effects in the pipeline are supported
Returns boolean
max Z
-
get maxZ(): number
Maximum depth value to still render AO. A smooth falloff makes the dimming more natural, so there will be no abrupt shading change.
Returns number
-
set maxZ(value: number): void
Parameters
- value: number
Returns void
min Z Aspect
-
get minZAspect(): number
In order to save performances, SSAO radius is clamped on close geometry. This ratio changes by how much.
Returns number
-
set minZAspect(value: number): void
Parameters
- value: number
Returns void
name
-
get name(): string
Gets pipeline name
Returns string
radius
-
get radius(): number
The radius around the analyzed pixel used by the SSAO post-process. Default value is 2.0
Returns number
-
set radius(value: number): void
Parameters
- value: number
Returns void
samples
-
get samples(): number
Returns number
-
set samples(n: number): void
Number of samples used for the SSAO calculations. Default value is 8.
Parameters
- n: number
Returns void
scene
-
Gets active scene
Returns Scene
texture Samples
-
get textureSamples(): number
Returns number
-
set textureSamples(n: number): void
Number of samples to use for antialiasing.
Parameters
- n: number
Returns void
total Strength
-
get totalStrength(): number
The output strength of the SSAO post-process. Default value is 1.0.
Returns number
-
set totalStrength(value: number): void
Parameters
- value: number
Returns void
use Viewport In Combine Stage
-
get useViewportInCombineStage(): boolean
Indicates that the combine stage should use the current camera viewport to render the SSAO result on only a portion of the output texture (default: true).
Returns boolean
-
set useViewportInCombineStage(b: boolean): void
Parameters
- b: boolean
Returns void
StaticIs Supported
-
get IsSupported(): boolean
Support test.
Returns boolean
Methods
add Effect
-
Adds an effect to the pipeline
Parameters
- renderEffect: PostProcessRenderEffect
the effect to add
Returns void
- renderEffect: PostProcessRenderEffect
dispose
-
Removes the internal pipeline assets and detaches the pipeline from the scene cameras
Parameters
- disableGeometryBufferRenderer: boolean = false
Set to true if you want to disable the Geometry Buffer renderer
Returns void
- disableGeometryBufferRenderer: boolean = false
get Class Name
-
Get the class name
Returns string
"SSAO2RenderingPipeline"
is Ready
-
Checks if all the post processes in the pipeline are ready.
Returns boolean
True if all the post processes in the pipeline are ready
serialize
-
Serialize the rendering pipeline (Used when exporting)
Returns any
the serialized object
set Pre Pass Renderer
-
Sets the required values to the prepass renderer.
Parameters
- prePassRenderer: PrePassRenderer
defines the prepass renderer to setup.
Returns boolean
true if the pre pass is needed.
- prePassRenderer: PrePassRenderer
Render pipeline to produce ssao effect