@babylonjs/core 7.22.3 → 7.22.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Animations/animationGroup.js +1 -1
- package/Animations/animationGroup.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +21 -1
- package/Engines/constants.js +21 -1
- package/Engines/constants.js.map +1 -1
- package/Engines/engineFeatures.d.ts +2 -0
- package/Engines/engineFeatures.js.map +1 -1
- package/Engines/nativeEngine.js +1 -0
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +1 -0
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/thinEngine.js +2 -0
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +1 -0
- package/Engines/webgpuEngine.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.d.ts +12 -0
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.js +51 -0
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +27 -0
- package/Materials/Node/Blocks/Input/prePassTextureBlock.js +69 -0
- package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +12 -0
- package/Materials/Node/nodeMaterial.js +24 -0
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +8 -0
- package/Materials/PBR/pbrBaseMaterial.js +8 -0
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.d.ts +4 -0
- package/Materials/Textures/Procedurals/proceduralTexture.js +19 -5
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/effectRenderer.d.ts +4 -0
- package/Materials/effectRenderer.js +10 -10
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/materialHelper.functions.js +20 -0
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/prePassConfiguration.js +2 -1
- package/Materials/prePassConfiguration.js.map +1 -1
- package/Materials/standardMaterial.d.ts +8 -0
- package/Materials/standardMaterial.js +8 -0
- package/Materials/standardMaterial.js.map +1 -1
- package/Misc/fileTools.js +1 -1
- package/Misc/fileTools.js.map +1 -1
- package/PostProcesses/postProcessManager.d.ts +2 -0
- package/PostProcesses/postProcessManager.js +3 -0
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +79 -8
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +88 -0
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +240 -0
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsImportanceSamplingRenderer.d.ts +88 -0
- package/Rendering/IBLShadows/iblShadowsImportanceSamplingRenderer.js +231 -0
- package/Rendering/IBLShadows/iblShadowsImportanceSamplingRenderer.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +340 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +884 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +67 -0
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js +139 -0
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +168 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +597 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +151 -0
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +291 -0
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -0
- package/Rendering/depthRenderer.js +44 -23
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/index.d.ts +1 -0
- package/Rendering/index.js +1 -0
- package/Rendering/index.js.map +1 -1
- package/Rendering/outlineRenderer.js +3 -3
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +25 -1
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +4 -2
- package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +8 -4
- package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +4 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +5 -1
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +4 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/Shaders/combineVoxelGrids.fragment.d.ts +5 -0
- package/Shaders/combineVoxelGrids.fragment.js +9 -0
- package/Shaders/combineVoxelGrids.fragment.js.map +1 -0
- package/Shaders/copyTexture3DLayerToTexture.fragment.d.ts +5 -0
- package/Shaders/copyTexture3DLayerToTexture.fragment.js +10 -0
- package/Shaders/copyTexture3DLayerToTexture.fragment.js.map +1 -0
- package/Shaders/default.fragment.js +31 -6
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.js +6 -2
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/generateVoxelMip.fragment.d.ts +5 -0
- package/Shaders/generateVoxelMip.fragment.js +25 -0
- package/Shaders/generateVoxelMip.fragment.js.map +1 -0
- package/Shaders/geometry.fragment.js +1 -1
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/iblShadowAccumulation.fragment.d.ts +5 -0
- package/Shaders/iblShadowAccumulation.fragment.js +27 -0
- package/Shaders/iblShadowAccumulation.fragment.js.map +1 -0
- package/Shaders/iblShadowDebug.fragment.d.ts +5 -0
- package/Shaders/iblShadowDebug.fragment.js +18 -0
- package/Shaders/iblShadowDebug.fragment.js.map +1 -0
- package/Shaders/iblShadowGBufferDebug.fragment.d.ts +5 -0
- package/Shaders/iblShadowGBufferDebug.fragment.js +19 -0
- package/Shaders/iblShadowGBufferDebug.fragment.js.map +1 -0
- package/Shaders/iblShadowSpatialBlur.fragment.d.ts +5 -0
- package/Shaders/iblShadowSpatialBlur.fragment.js +21 -0
- package/Shaders/iblShadowSpatialBlur.fragment.js.map +1 -0
- package/Shaders/iblShadowVoxelTracing.fragment.d.ts +5 -0
- package/Shaders/iblShadowVoxelTracing.fragment.js +152 -0
- package/Shaders/iblShadowVoxelTracing.fragment.js.map +1 -0
- package/Shaders/iblShadowsCdfx.fragment.d.ts +5 -0
- package/Shaders/iblShadowsCdfx.fragment.js +12 -0
- package/Shaders/iblShadowsCdfx.fragment.js.map +1 -0
- package/Shaders/iblShadowsCdfy.fragment.d.ts +5 -0
- package/Shaders/iblShadowsCdfy.fragment.js +33 -0
- package/Shaders/iblShadowsCdfy.fragment.js.map +1 -0
- package/Shaders/iblShadowsCombine.fragment.d.ts +5 -0
- package/Shaders/iblShadowsCombine.fragment.js +10 -0
- package/Shaders/iblShadowsCombine.fragment.js.map +1 -0
- package/Shaders/iblShadowsIcdfx.fragment.d.ts +5 -0
- package/Shaders/iblShadowsIcdfx.fragment.js +19 -0
- package/Shaders/iblShadowsIcdfx.fragment.js.map +1 -0
- package/Shaders/iblShadowsIcdfy.fragment.d.ts +5 -0
- package/Shaders/iblShadowsIcdfy.fragment.js +19 -0
- package/Shaders/iblShadowsIcdfy.fragment.js.map +1 -0
- package/Shaders/iblShadowsImportanceSamplingDebug.fragment.d.ts +5 -0
- package/Shaders/iblShadowsImportanceSamplingDebug.fragment.js +48 -0
- package/Shaders/iblShadowsImportanceSamplingDebug.fragment.js.map +1 -0
- package/Shaders/pbr.fragment.js +32 -7
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.js +3 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/voxelGrid.fragment.d.ts +5 -0
- package/Shaders/voxelGrid.fragment.js +14 -0
- package/Shaders/voxelGrid.fragment.js.map +1 -0
- package/Shaders/voxelGrid.vertex.d.ts +5 -0
- package/Shaders/voxelGrid.vertex.js +9 -0
- package/Shaders/voxelGrid.vertex.js.map +1 -0
- package/Shaders/voxelGrid2dArrayDebug.fragment.d.ts +5 -0
- package/Shaders/voxelGrid2dArrayDebug.fragment.js +9 -0
- package/Shaders/voxelGrid2dArrayDebug.fragment.js.map +1 -0
- package/Shaders/voxelGrid3dDebug.fragment.d.ts +5 -0
- package/Shaders/voxelGrid3dDebug.fragment.js +22 -0
- package/Shaders/voxelGrid3dDebug.fragment.js.map +1 -0
- package/Shaders/voxelSlabDebug.fragment.d.ts +5 -0
- package/Shaders/voxelSlabDebug.fragment.js +11 -0
- package/Shaders/voxelSlabDebug.fragment.js.map +1 -0
- package/Shaders/voxelSlabDebug.vertex.d.ts +5 -0
- package/Shaders/voxelSlabDebug.vertex.js +9 -0
- package/Shaders/voxelSlabDebug.vertex.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +4 -2
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +9 -4
- package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +4 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertex.js +5 -1
- package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +4 -1
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/default.fragment.js +42 -16
- package/ShadersWGSL/default.fragment.js.map +1 -1
- package/ShadersWGSL/default.vertex.js +5 -2
- package/ShadersWGSL/default.vertex.js.map +1 -1
- package/ShadersWGSL/geometry.fragment.js +1 -1
- package/ShadersWGSL/geometry.fragment.js.map +1 -1
- package/ShadersWGSL/pbr.fragment.js +37 -20
- package/ShadersWGSL/pbr.fragment.js.map +1 -1
- package/ShadersWGSL/pbr.vertex.js +1 -1
- package/ShadersWGSL/pbr.vertex.js.map +1 -1
- package/package.json +1 -1
- package/sceneComponent.d.ts +1 -0
- package/sceneComponent.js +1 -0
- package/sceneComponent.js.map +1 -1
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import type { AbstractMesh } from "../../Meshes/abstractMesh";
|
|
2
|
+
import type { Scene } from "../../scene";
|
|
3
|
+
import type { BaseTexture } from "../../Materials/Textures/baseTexture";
|
|
4
|
+
import { Texture } from "../../Materials/Textures/texture";
|
|
5
|
+
import { PrePassRenderer } from "../prePassRenderer";
|
|
6
|
+
import "../../Shaders/postprocess.vertex";
|
|
7
|
+
import "../../Shaders/iblShadowGBufferDebug.fragment";
|
|
8
|
+
import "../../Shaders/iblShadowsCombine.fragment";
|
|
9
|
+
import { PostProcessRenderPipeline } from "../../PostProcesses/RenderPipeline/postProcessRenderPipeline";
|
|
10
|
+
import type { Camera } from "../../Cameras/camera.js";
|
|
11
|
+
interface IblShadowsSettings {
|
|
12
|
+
/**
|
|
13
|
+
* The exponent of the resolution of the voxel shadow grid. Higher resolutions will result in sharper
|
|
14
|
+
* shadows but are more expensive to compute and require more memory.
|
|
15
|
+
* The resolution is calculated as 2 to the power of this number.
|
|
16
|
+
*/
|
|
17
|
+
resolutionExp: number;
|
|
18
|
+
/**
|
|
19
|
+
* The number of different directions to sample during the voxel tracing pass. Higher
|
|
20
|
+
* values will result in better quality, more stable shadows but are more expensive to compute.
|
|
21
|
+
*/
|
|
22
|
+
sampleDirections: number;
|
|
23
|
+
/**
|
|
24
|
+
* How dark the shadows are. 1.0 is full opacity, 0.0 is no shadows.
|
|
25
|
+
*/
|
|
26
|
+
shadowOpacity: number;
|
|
27
|
+
/**
|
|
28
|
+
* How long the shadows remain in the scene. 0.0 is no persistence, 1.0 is full persistence.
|
|
29
|
+
*/
|
|
30
|
+
shadowRemenance: number;
|
|
31
|
+
/**
|
|
32
|
+
* Render the voxel grid from 3 different axis. This will result in better quality shadows with fewer
|
|
33
|
+
* bits of missing geometry.
|
|
34
|
+
*/
|
|
35
|
+
triPlanarVoxelization: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Include screen-space shadows in the IBL shadow pipeline. This adds sharp shadows to small details
|
|
38
|
+
* but only applies close to a shadow-casting object.
|
|
39
|
+
*/
|
|
40
|
+
ssShadowsEnabled: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The number of samples used in the screen space shadow pass.
|
|
43
|
+
*/
|
|
44
|
+
ssShadowSampleCount: number;
|
|
45
|
+
/**
|
|
46
|
+
* The stride of the screen-space shadow pass. This controls the distance between samples.
|
|
47
|
+
*/
|
|
48
|
+
ssShadowStride: number;
|
|
49
|
+
/**
|
|
50
|
+
* The maximum distance a shadow can be cast in screen space. This should usually be kept small
|
|
51
|
+
* as screenspace shadows are mostly useful for small details.
|
|
52
|
+
*/
|
|
53
|
+
ssShadowMaxDist: number;
|
|
54
|
+
/**
|
|
55
|
+
* Screen-space shadow thickness. This value controls the perceived thickness of the SS shadows.
|
|
56
|
+
*/
|
|
57
|
+
ssShadowThickness: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Voxel-based shadow rendering for IBL's.
|
|
61
|
+
* This should not be instanciated directly, as it is part of a scene component
|
|
62
|
+
*/
|
|
63
|
+
export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline {
|
|
64
|
+
/**
|
|
65
|
+
* The scene that this pipeline is attached to
|
|
66
|
+
*/
|
|
67
|
+
scene: Scene;
|
|
68
|
+
private _voxelizationDirty;
|
|
69
|
+
private _boundsNeedUpdate;
|
|
70
|
+
private _allowDebugPasses;
|
|
71
|
+
private _debugPasses;
|
|
72
|
+
private _shadowCompositePP;
|
|
73
|
+
private _prePassEffectConfiguration;
|
|
74
|
+
private _excludedMeshes;
|
|
75
|
+
private _voxelRenderer;
|
|
76
|
+
private _importanceSamplingRenderer;
|
|
77
|
+
private _voxelTracingPass;
|
|
78
|
+
private _spatialBlurPass;
|
|
79
|
+
private _accumulationPass;
|
|
80
|
+
private _noiseTexture;
|
|
81
|
+
private _shadowOpacity;
|
|
82
|
+
/**
|
|
83
|
+
* How dark the shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
84
|
+
*/
|
|
85
|
+
get shadowOpacity(): number;
|
|
86
|
+
/**
|
|
87
|
+
* How dark the shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
88
|
+
*/
|
|
89
|
+
set shadowOpacity(value: number);
|
|
90
|
+
/**
|
|
91
|
+
* How dark the voxel shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
92
|
+
*/
|
|
93
|
+
get voxelShadowOpacity(): number;
|
|
94
|
+
/**
|
|
95
|
+
* How dark the voxel shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
96
|
+
*/
|
|
97
|
+
set voxelShadowOpacity(value: number);
|
|
98
|
+
/**
|
|
99
|
+
* How dark the screen-space shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
100
|
+
*/
|
|
101
|
+
get ssShadowOpacity(): number;
|
|
102
|
+
/**
|
|
103
|
+
* How dark the screen-space shadows appear. 1.0 is full opacity, 0.0 is no shadows.
|
|
104
|
+
*/
|
|
105
|
+
set ssShadowOpacity(value: number);
|
|
106
|
+
/**
|
|
107
|
+
* The number of samples used in the screen space shadow pass.
|
|
108
|
+
*/
|
|
109
|
+
get ssShadowSamples(): number;
|
|
110
|
+
/**
|
|
111
|
+
* The number of samples used in the screen space shadow pass.
|
|
112
|
+
*/
|
|
113
|
+
set ssShadowSamples(value: number);
|
|
114
|
+
/**
|
|
115
|
+
* The stride of the screen-space shadow pass. This controls the distance between samples.
|
|
116
|
+
*/
|
|
117
|
+
get ssShadowStride(): number;
|
|
118
|
+
/**
|
|
119
|
+
* The stride of the screen-space shadow pass. This controls the distance between samples.
|
|
120
|
+
*/
|
|
121
|
+
set ssShadowStride(value: number);
|
|
122
|
+
/**
|
|
123
|
+
* The maximum distance a shadow can be cast in screen space. This should usually be kept small
|
|
124
|
+
* as screenspace shadows are mostly useful for small details.
|
|
125
|
+
*/
|
|
126
|
+
get ssShadowMaxDist(): number;
|
|
127
|
+
/**
|
|
128
|
+
* The maximum distance a shadow can be cast in screen space. This should usually be kept small
|
|
129
|
+
* as screenspace shadows are mostly useful for small details.
|
|
130
|
+
*/
|
|
131
|
+
set ssShadowMaxDist(value: number);
|
|
132
|
+
/**
|
|
133
|
+
* Screen-space shadow thickness. This value controls the perceived thickness of the SS shadows.
|
|
134
|
+
*/
|
|
135
|
+
get ssShadowThickness(): number;
|
|
136
|
+
/**
|
|
137
|
+
* Screen-space shadow thickness. This value controls the perceived thickness of the SS shadows.
|
|
138
|
+
*/
|
|
139
|
+
set ssShadowThickness(value: number);
|
|
140
|
+
/**
|
|
141
|
+
* Set the IBL image to be used for shadowing. It can be either a cubemap
|
|
142
|
+
* or a 2D equirectangular texture.
|
|
143
|
+
* @param iblSource The texture to use for IBL shadowing
|
|
144
|
+
*/
|
|
145
|
+
setIblTexture(iblSource: BaseTexture): void;
|
|
146
|
+
/**
|
|
147
|
+
* Returns the texture containing the voxel grid data
|
|
148
|
+
* @returns The texture containing the voxel grid data
|
|
149
|
+
*/
|
|
150
|
+
getVoxelGridTexture(): Texture;
|
|
151
|
+
/**
|
|
152
|
+
* Returns the texture containing the importance sampling CDF data for the IBL shadow pipeline
|
|
153
|
+
* @returns The texture containing the importance sampling CDF data for the IBL shadow pipeline
|
|
154
|
+
*/
|
|
155
|
+
getIcdfyTexture(): Texture;
|
|
156
|
+
/**
|
|
157
|
+
* Returns the texture containing the importance sampling CDF data for the IBL shadow pipeline
|
|
158
|
+
* @returns The texture containing the importance sampling CDF data for the IBL shadow pipeline
|
|
159
|
+
*/
|
|
160
|
+
getIcdfxTexture(): Texture;
|
|
161
|
+
private _gbufferDebugPass;
|
|
162
|
+
private _gbufferDebugEnabled;
|
|
163
|
+
private _gBufferDebugSizeParams;
|
|
164
|
+
/**
|
|
165
|
+
* Is the debug view of the G-Buffer enabled?
|
|
166
|
+
*/
|
|
167
|
+
get gbufferDebugEnabled(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Turn on or off the debug view of the G-Buffer
|
|
170
|
+
*/
|
|
171
|
+
set gbufferDebugEnabled(enabled: boolean);
|
|
172
|
+
/**
|
|
173
|
+
* Turn on or off the debug view of the CDF importance sampling data
|
|
174
|
+
*/
|
|
175
|
+
get importanceSamplingDebugEnabled(): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Turn on or off the debug view of the CDF importance sampling data
|
|
178
|
+
*/
|
|
179
|
+
set importanceSamplingDebugEnabled(enabled: boolean);
|
|
180
|
+
/**
|
|
181
|
+
* Turn on or off the debug view of the voxel grid
|
|
182
|
+
*/
|
|
183
|
+
get voxelDebugEnabled(): boolean;
|
|
184
|
+
/**
|
|
185
|
+
* Turn on or off the debug view of the voxel grid
|
|
186
|
+
*/
|
|
187
|
+
set voxelDebugEnabled(enabled: boolean);
|
|
188
|
+
/**
|
|
189
|
+
* Set the axis to display for the voxel grid debug view
|
|
190
|
+
* When using tri-axis voxelization, this will display the voxel grid for the specified axis
|
|
191
|
+
*/
|
|
192
|
+
get voxelDebugAxis(): number;
|
|
193
|
+
/**
|
|
194
|
+
* Set the axis to display for the voxel grid debug view
|
|
195
|
+
* When using tri-axis voxelization, this will display the voxel grid for the specified axis
|
|
196
|
+
*/
|
|
197
|
+
set voxelDebugAxis(axisNum: number);
|
|
198
|
+
/**
|
|
199
|
+
* Set the mip level to display for the voxel grid debug view
|
|
200
|
+
*/
|
|
201
|
+
set voxelDebugDisplayMip(mipNum: number);
|
|
202
|
+
/**
|
|
203
|
+
* Display the debug view for the voxel tracing pass
|
|
204
|
+
*/
|
|
205
|
+
get voxelTracingDebugEnabled(): boolean;
|
|
206
|
+
/**
|
|
207
|
+
* Display the debug view for the voxel tracing pass
|
|
208
|
+
*/
|
|
209
|
+
set voxelTracingDebugEnabled(enabled: boolean);
|
|
210
|
+
/**
|
|
211
|
+
* Display the debug view for the spatial blur pass
|
|
212
|
+
*/
|
|
213
|
+
get spatialBlurPassDebugEnabled(): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Display the debug view for the spatial blur pass
|
|
216
|
+
*/
|
|
217
|
+
set spatialBlurPassDebugEnabled(enabled: boolean);
|
|
218
|
+
/**
|
|
219
|
+
* Display the debug view for the accumulation pass
|
|
220
|
+
*/
|
|
221
|
+
get accumulationPassDebugEnabled(): boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Display the debug view for the accumulation pass
|
|
224
|
+
*/
|
|
225
|
+
set accumulationPassDebugEnabled(enabled: boolean);
|
|
226
|
+
/**
|
|
227
|
+
* Add a mesh in the exclusion list to prevent it to be handled by the IBL shadow pipeline
|
|
228
|
+
* @param mesh The mesh to exclude from the IBL shadow pipeline
|
|
229
|
+
*/
|
|
230
|
+
addExcludedMesh(mesh: AbstractMesh): void;
|
|
231
|
+
/**
|
|
232
|
+
* Remove a mesh from the exclusion list of the IBL shadow pipeline
|
|
233
|
+
* @param mesh The mesh to remove
|
|
234
|
+
*/
|
|
235
|
+
removeExcludedMesh(mesh: AbstractMesh): void;
|
|
236
|
+
/**
|
|
237
|
+
* The exponent of the resolution of the voxel shadow grid. Higher resolutions will result in sharper
|
|
238
|
+
* shadows but are more expensive to compute and require more memory.
|
|
239
|
+
* The resolution is calculated as 2 to the power of this number.
|
|
240
|
+
*/
|
|
241
|
+
get resolutionExp(): number;
|
|
242
|
+
/**
|
|
243
|
+
* The exponent of the resolution of the voxel shadow grid. Higher resolutions will result in sharper
|
|
244
|
+
* shadows but are more expensive to compute and require more memory.
|
|
245
|
+
* The resolution is calculated as 2 to the power of this number.
|
|
246
|
+
*/
|
|
247
|
+
set resolutionExp(newResolution: number);
|
|
248
|
+
/**
|
|
249
|
+
* The number of different directions to sample during the voxel tracing pass
|
|
250
|
+
*/
|
|
251
|
+
get sampleDirections(): number;
|
|
252
|
+
/**
|
|
253
|
+
* The number of different directions to sample during the voxel tracing pass
|
|
254
|
+
*/
|
|
255
|
+
set sampleDirections(value: number);
|
|
256
|
+
/**
|
|
257
|
+
* The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
|
|
258
|
+
**/
|
|
259
|
+
get shadowRemenance(): number;
|
|
260
|
+
/**
|
|
261
|
+
* The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
|
|
262
|
+
**/
|
|
263
|
+
set shadowRemenance(value: number);
|
|
264
|
+
/**
|
|
265
|
+
* The global rotation of the IBL for shadows
|
|
266
|
+
*/
|
|
267
|
+
get envRotation(): number;
|
|
268
|
+
/**
|
|
269
|
+
* The global rotation of the IBL for shadows
|
|
270
|
+
*/
|
|
271
|
+
set envRotation(value: number);
|
|
272
|
+
/**
|
|
273
|
+
* Allow debug passes to be enabled. Default is false.
|
|
274
|
+
*/
|
|
275
|
+
get allowDebugPasses(): boolean;
|
|
276
|
+
/**
|
|
277
|
+
* Allow debug passes to be enabled. Default is false.
|
|
278
|
+
*/
|
|
279
|
+
set allowDebugPasses(value: boolean);
|
|
280
|
+
/**
|
|
281
|
+
* Support test.
|
|
282
|
+
*/
|
|
283
|
+
static get IsSupported(): boolean;
|
|
284
|
+
/**
|
|
285
|
+
* @param name The rendering pipeline name
|
|
286
|
+
* @param scene The scene linked to this pipeline
|
|
287
|
+
* @param options Options to configure the pipeline
|
|
288
|
+
* @param cameras Cameras to apply the pipeline to.
|
|
289
|
+
*/
|
|
290
|
+
constructor(name: string, scene: Scene, options?: Partial<IblShadowsSettings>, cameras?: Camera[]);
|
|
291
|
+
/**
|
|
292
|
+
* Toggle the shadow tracing on or off
|
|
293
|
+
* @param enabled Toggle the shadow tracing on or off
|
|
294
|
+
*/
|
|
295
|
+
toggleShadow(enabled: boolean): void;
|
|
296
|
+
private _handleResize;
|
|
297
|
+
private _createShadowCombinePostProcess;
|
|
298
|
+
private _createEffectPasses;
|
|
299
|
+
private _getGBufferDebugPass;
|
|
300
|
+
private _createDebugPasses;
|
|
301
|
+
private _disposeEffectPasses;
|
|
302
|
+
private _disposeDebugPasses;
|
|
303
|
+
private _updateDebugPasses;
|
|
304
|
+
/**
|
|
305
|
+
* Trigger the scene to be re-voxelized. This is useful when the scene has changed and the voxel grid needs to be updated.
|
|
306
|
+
*/
|
|
307
|
+
updateVoxelization(): void;
|
|
308
|
+
/**
|
|
309
|
+
* Trigger the scene bounds of shadow-casters to be updated. This is useful when the scene has changed and the bounds need
|
|
310
|
+
* to be recalculated. This will also trigger a re-voxelization.
|
|
311
|
+
*/
|
|
312
|
+
updateSceneBounds(): void;
|
|
313
|
+
private _updateBeforeRender;
|
|
314
|
+
private _listenForCameraChanges;
|
|
315
|
+
/**
|
|
316
|
+
* Links to the prepass renderer
|
|
317
|
+
* @param prePassRenderer The scene PrePassRenderer
|
|
318
|
+
* @returns true if the pre pass is setup
|
|
319
|
+
*/
|
|
320
|
+
setPrePassRenderer(prePassRenderer: PrePassRenderer): boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Checks if the IBL shadow pipeline is ready to render shadows
|
|
323
|
+
* @returns true if the IBL shadow pipeline is ready to render the shadows
|
|
324
|
+
*/
|
|
325
|
+
isReady(): boolean;
|
|
326
|
+
/**
|
|
327
|
+
* Renders accumulated shadows for IBL
|
|
328
|
+
*/
|
|
329
|
+
update(): void;
|
|
330
|
+
/**
|
|
331
|
+
* Get the class name
|
|
332
|
+
* @returns "IBLShadowsRenderPipeline"
|
|
333
|
+
*/
|
|
334
|
+
getClassName(): string;
|
|
335
|
+
/**
|
|
336
|
+
* Disposes the IBL shadow pipeline and associated resources
|
|
337
|
+
*/
|
|
338
|
+
dispose(): void;
|
|
339
|
+
}
|
|
340
|
+
export {};
|