Class IblShadowsRenderPipeline
Hierarchy (View Summary)
- PostProcessRenderPipeline
- IblShadowsRenderPipeline
Index
Constructors
Properties
Accessors
Methods
Constructors
constructor
-
new IblShadowsRenderPipeline(
name: string,
scene: Scene,
options?: Partial<IIblShadowsSettings>,
cameras?: Camera[],
): IblShadowsRenderPipelineParameters
- name: string
The rendering pipeline name
- scene: Scene
The scene linked to this pipeline
- options: Partial<IIblShadowsSettings> = {}
Options to configure the pipeline
Optionalcameras: Camera[]Cameras to apply the pipeline to.
Returns IblShadowsRenderPipeline
- name: string
Properties
inspectable Custom Properties
List of inspectable custom properties (used by the Inspector)
on New Ibl Ready Observable
Observable that triggers when a new IBL is set and the importance sampling is ready
on Shadow Texture Ready Observable
Observable that triggers when the shadow renderer is ready
on Voxelization Complete Observable
Observable that triggers when the voxelization is complete
scene
The scene that this pipeline is attached to
Readonlyunique Id
Gets the unique id of the post process rendering pipeline
voxel Grid Size
The current world-space size of that the voxel grid covers in the scene.
Accessors
accumulation Pass Debug Enabled
-
get accumulationPassDebugEnabled(): boolean
Display the debug view for the shadows accumulated over time.
Returns boolean
-
set accumulationPassDebugEnabled(enabled: boolean): void
Parameters
- enabled: boolean
Returns void
allow Debug Passes
-
get allowDebugPasses(): boolean
Allow debug passes to be enabled. Default is false.
Returns boolean
-
set allowDebugPasses(value: boolean): void
Allow debug passes to be enabled. Default is false.
Parameters
- value: boolean
Returns void
cameras
-
Gets the list of attached cameras
Returns Camera[]
cdf Debug Enabled
-
get cdfDebugEnabled(): boolean
Turn on or off the debug view of the CDF importance sampling data
Returns boolean
-
set cdfDebugEnabled(enabled: boolean): void
Turn on or off the debug view of the CDF importance sampling data
Parameters
- enabled: boolean
Returns void
colored Shadows
-
get coloredShadows(): boolean
Render the shadows in color rather than black and white. This is slightly more expensive than black and white shadows but can be much more accurate when the strongest lights in the IBL are non-white.
Returns boolean
-
set coloredShadows(value: boolean): void
Parameters
- value: boolean
Returns void
engine
-
Gets the active engine
Returns AbstractEngine
env Rotation
-
get envRotation(): number
The global Y-axis rotation of the IBL for shadows. This should match the Y-rotation of the environment map applied to materials, skybox, etc.
Returns number
-
set envRotation(value: number): void
The global Y-axis rotation of the IBL for shadows. This should match the Y-rotation of the environment map applied to materials, skybox, etc.
Parameters
- value: number
Returns void
gbuffer Debug Enabled
-
get gbufferDebugEnabled(): boolean
Turn on or off the debug view of the G-Buffer. This will display only the targets of the g-buffer that are used by the shadow pipeline.
Returns boolean
-
set gbufferDebugEnabled(enabled: boolean): void
Parameters
- enabled: boolean
Returns void
is Supported
-
get isSupported(): boolean
If all the render effects in the pipeline are supported
Returns boolean
max Voxel Roulette Tests
-
get maxVoxelRouletteTests(): number
Maximum number of translucent voxels a shadow ray roulettes through before it is treated as unoccluded. Higher values converge more accurately at extra cost. Opaque voxels always block.
Returns number
-
set maxVoxelRouletteTests(value: number): void
Parameters
- value: number
Returns void
name
-
get name(): string
Gets pipeline name
Returns string
resolution Exp
-
get resolutionExp(): number
The exponent of the resolution of the voxel shadow grid. Higher resolutions will result in sharper shadows but are more expensive to compute and require more memory. The resolution is calculated as 2 to the power of this number.
Returns number
-
set resolutionExp(newResolution: number): void
Parameters
- newResolution: number
Returns void
sample Directions
-
get sampleDirections(): number
The number of different directions to sample during the voxel tracing pass
Returns number
-
set sampleDirections(value: number): void
The number of different directions to sample during the voxel tracing pass
Parameters
- value: number
Returns void
shadow Opacity
-
get shadowOpacity(): number
How dark the shadows appear. 1.0 is full opacity, 0.0 is no shadows.
Returns number
-
set shadowOpacity(value: number): void
Parameters
- value: number
Returns void
shadow Remanence
-
get shadowRemanence(): number
The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
Returns number
-
set shadowRemanence(value: number): void
The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
Parameters
- value: number
Returns void
shadow Render Size Factor
-
get shadowRenderSizeFactor(): number
A multiplier for the render size of the shadows. Used for rendering lower-resolution shadows.
Returns number
-
set shadowRenderSizeFactor(value: number): void
Parameters
- value: number
Returns void
spatial Blur Pass Debug Enabled
-
get spatialBlurPassDebugEnabled(): boolean
Display the debug view for the spatial blur pass
Returns boolean
-
set spatialBlurPassDebugEnabled(enabled: boolean): void
Parameters
- enabled: boolean
Returns void
ss Shadow Distance Scale
-
get ssShadowDistanceScale(): number
A scale for the maximum distance a screen-space shadow can be cast in world-space. The maximum distance that screen-space shadows cast is derived from the voxel size and this value so shouldn't need to change if you scale your scene
Returns number
-
set ssShadowDistanceScale(value: number): void
Parameters
- value: number
Returns void
ss Shadow Opacity
-
get ssShadowOpacity(): number
How dark the screen-space shadows appear. 1.0 is full opacity, 0.0 is no shadows.
Returns number
-
set ssShadowOpacity(value: number): void
Parameters
- value: number
Returns void
ss Shadow Sample Count
-
get ssShadowSampleCount(): number
The number of samples used in the screen space shadow pass.
Returns number
-
set ssShadowSampleCount(value: number): void
Parameters
- value: number
Returns void
ss Shadow Stride
-
get ssShadowStride(): number
The stride of the screen-space shadow pass. This controls the distance between samples in pixels.
Returns number
-
set ssShadowStride(value: number): void
Parameters
- value: number
Returns void
ss Shadow Thickness Scale
-
get ssShadowThicknessScale(): number
Screen-space shadow thickness scale. This value controls the assumed thickness of on-screen surfaces in world-space. It scales with the size of the shadow-casting region so shouldn't need to change if you scale your scene.
Returns number
-
set ssShadowThicknessScale(value: number): void
Parameters
- value: number
Returns void
voxel Shadow Opacity
-
get voxelShadowOpacity(): number
How dark the voxel shadows appear. 1.0 is full opacity, 0.0 is no shadows.
Returns number
-
set voxelShadowOpacity(value: number): void
Parameters
- value: number
Returns void
voxel Tracing Debug Enabled
-
get voxelTracingDebugEnabled(): boolean
Display the debug view for just the shadow samples taken this frame.
Returns boolean
-
set voxelTracingDebugEnabled(enabled: boolean): void
Parameters
- enabled: 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
add Shadow Casting Mesh
add Shadow Receiving Material
-
Apply the shadows to a material or array of materials. If no material is provided, all materials in the scene will be added.
Parameters
Optionalmaterial: anyMaterial that will be affected by the shadows. If not provided, all materials of the scene will be affected.
Returns void
clear Shadow Casting Meshes
-
Clear the list of shadow-casting meshes. This will remove all meshes from the list
Returns void
clear Shadow Receiving Materials
-
Clear the list of materials that receive shadows. This will remove all materials from the list
Returns void
dispose
-
Disposes the IBL shadow pipeline and associated resources
Returns void
get Class Name
-
Get the class name
Returns string
"IBLShadowsRenderPipeline"
is Ready
-
Checks if the IBL shadow pipeline is ready to render shadows
Returns any
true if the IBL shadow pipeline is ready to render the shadows
remove Shadow Casting Mesh
remove Shadow Receiving Material
-
Remove a material from the list of materials that receive shadows. If no material is provided, all materials in the scene will be removed.
Parameters
- material: any
The material or array of materials that will no longer receive shadows
Returns void
- material: any
reset Accumulation
-
Reset the shadow accumulation. This has a similar affect to lowering the remanence for a single frame. This is useful when making a sudden change to the IBL.
Returns void
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
toggle Shadow
-
Toggle the shadow tracing on or off
Parameters
- enabled: boolean
Toggle the shadow tracing on or off
Returns void
- enabled: boolean
update Scene Bounds
-
Trigger the scene bounds of shadow-casters to be calculated. This is the world size that the voxel grid will cover and will always be a cube.
Returns void
update Voxelization
-
Trigger the scene to be re-voxelized. This should be run when any shadow-casters have been added, removed or moved.
Returns void
Voxel-based shadow rendering for IBL's. This should not be instanciated directly, as it is part of a scene component