@babylonjs/core 7.32.5 → 7.34.0
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/Cameras/arcRotateCamera.d.ts +14 -0
- package/Cameras/arcRotateCamera.js +39 -19
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Decorators/nodeDecorator.d.ts +2 -0
- package/Decorators/nodeDecorator.js +1 -0
- package/Decorators/nodeDecorator.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +63 -0
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +150 -0
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +3 -47
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +2 -129
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.d.ts +40 -0
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js +98 -0
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js +3 -3
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/index.d.ts +3 -2
- package/FrameGraph/Node/Blocks/index.js +3 -2
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
- package/FrameGraph/Passes/renderPass.js +1 -1
- package/FrameGraph/Passes/renderPass.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.d.ts +21 -0
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +110 -0
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -0
- package/FrameGraph/frameGraph.d.ts +6 -0
- package/FrameGraph/frameGraph.js +15 -1
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +3 -2
- package/FrameGraph/frameGraphRenderContext.js +9 -4
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/frameGraphTask.js +5 -1
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/FrameGraph/frameGraphTextureManager.d.ts +8 -0
- package/FrameGraph/frameGraphTextureManager.js +51 -7
- package/FrameGraph/frameGraphTextureManager.js.map +1 -1
- package/FrameGraph/frameGraphTypes.d.ts +2 -0
- package/FrameGraph/frameGraphTypes.js.map +1 -1
- package/FrameGraph/index.d.ts +3 -2
- package/FrameGraph/index.js +3 -2
- package/FrameGraph/index.js.map +1 -1
- package/Layers/layer.d.ts +4 -0
- package/Layers/layer.js +13 -2
- package/Layers/layer.js.map +1 -1
- package/Loading/sceneLoader.d.ts +11 -8
- package/Loading/sceneLoader.js +64 -35
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +2 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +12 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +16 -0
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +40 -7
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianBlock.js +6 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js +9 -2
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/index.d.ts +2 -0
- package/Materials/Node/Blocks/GaussianSplatting/index.js +3 -0
- package/Materials/Node/Blocks/GaussianSplatting/index.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.js +10 -3
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -1
- package/Materials/Node/nodeMaterial.js +1 -1
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/effectRenderer.d.ts +1 -1
- package/Materials/effectRenderer.js +2 -2
- package/Materials/effectRenderer.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +2 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +7 -2
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/Node/nodeGeometry.js.map +1 -1
- package/Meshes/abstractMesh.hotSpot.js +2 -0
- package/Meshes/abstractMesh.hotSpot.js.map +1 -1
- package/Meshes/csg2.js +0 -3
- package/Meshes/csg2.js.map +1 -1
- package/Misc/webRequest.fetch.d.ts +16 -0
- package/Misc/webRequest.fetch.js +33 -0
- package/Misc/webRequest.fetch.js.map +1 -0
- package/PostProcesses/RenderPipeline/Pipelines/index.d.ts +2 -0
- package/PostProcesses/RenderPipeline/Pipelines/index.js +2 -0
- package/PostProcesses/RenderPipeline/Pipelines/index.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +6 -8
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js +32 -49
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js.map +1 -1
- package/PostProcesses/thinTAAPostProcess.d.ts +72 -0
- package/PostProcesses/thinTAAPostProcess.js +149 -0
- package/PostProcesses/thinTAAPostProcess.js.map +1 -0
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +3 -3
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +7 -7
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +81 -80
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +102 -112
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +8 -6
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Shaders/geometry.vertex.js +1 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/iblShadowAccumulation.fragment.js +2 -1
- package/Shaders/iblShadowAccumulation.fragment.js.map +1 -1
- package/Shaders/layer.fragment.js +3 -1
- package/Shaders/layer.fragment.js.map +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +47 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.d.ts +7 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js +20 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.d.ts +7 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.js +13 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingVertexDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingVertexDeclaration.js +10 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -0
- package/ShadersWGSL/gaussianSplatting.fragment.d.ts +10 -0
- package/ShadersWGSL/gaussianSplatting.fragment.js +23 -0
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -0
- package/ShadersWGSL/gaussianSplatting.vertex.d.ts +14 -0
- package/ShadersWGSL/gaussianSplatting.vertex.js +31 -0
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -0
- package/ShadersWGSL/geometry.vertex.js +1 -1
- package/ShadersWGSL/geometry.vertex.js.map +1 -1
- package/ShadersWGSL/iblShadowAccumulation.fragment.js +2 -1
- package/ShadersWGSL/iblShadowAccumulation.fragment.js.map +1 -1
- package/ShadersWGSL/layer.fragment.js +4 -2
- package/ShadersWGSL/layer.fragment.js.map +1 -1
- package/ShadersWGSL/taa.fragment.d.ts +5 -0
- package/ShadersWGSL/taa.fragment.js +11 -0
- package/ShadersWGSL/taa.fragment.js.map +1 -0
- package/package.json +1 -1
|
@@ -13,56 +13,68 @@ interface IblShadowsSettings {
|
|
|
13
13
|
* shadows but are more expensive to compute and require more memory.
|
|
14
14
|
* The resolution is calculated as 2 to the power of this number.
|
|
15
15
|
*/
|
|
16
|
-
resolutionExp
|
|
16
|
+
resolutionExp?: number;
|
|
17
17
|
/**
|
|
18
18
|
* The number of different directions to sample during the voxel tracing pass. Higher
|
|
19
19
|
* values will result in better quality, more stable shadows but are more expensive to compute.
|
|
20
20
|
*/
|
|
21
|
-
sampleDirections
|
|
21
|
+
sampleDirections?: number;
|
|
22
22
|
/**
|
|
23
23
|
* How dark the shadows are. 1.0 is full opacity, 0.0 is no shadows.
|
|
24
24
|
*/
|
|
25
|
-
shadowOpacity
|
|
25
|
+
shadowOpacity?: number;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* 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.
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
envRotation?: number;
|
|
30
|
+
/**
|
|
31
|
+
* A factor that controls how long the shadows remain in the scene.
|
|
32
|
+
* 0.0 is no persistence, 1.0 is full persistence.
|
|
33
|
+
* This value applies only while the camera is moving. Once stationary, the pipeline
|
|
34
|
+
* increases remanence automatically to help the shadows converge.
|
|
35
|
+
*/
|
|
36
|
+
shadowRemanence?: number;
|
|
30
37
|
/**
|
|
31
38
|
* Render the voxel grid from 3 different axis. This will result in better quality shadows with fewer
|
|
32
39
|
* bits of missing geometry.
|
|
33
40
|
*/
|
|
34
|
-
triPlanarVoxelization
|
|
41
|
+
triPlanarVoxelization?: boolean;
|
|
35
42
|
/**
|
|
36
|
-
* A multiplier for the render
|
|
37
|
-
*
|
|
43
|
+
* A size multiplier for the internal shadow render targets (default 1.0). A value of 1.0 represents full-resolution.
|
|
44
|
+
* Scaling this below 1.0 will result in blurry shadows and potentially more artifacts but
|
|
45
|
+
* could help increase performance on less powerful GPU's.
|
|
38
46
|
*/
|
|
39
|
-
shadowRenderSizeFactor
|
|
47
|
+
shadowRenderSizeFactor?: number;
|
|
40
48
|
/**
|
|
41
49
|
* Separate control for the opacity of the voxel shadows.
|
|
42
50
|
*/
|
|
43
|
-
voxelShadowOpacity
|
|
51
|
+
voxelShadowOpacity?: number;
|
|
44
52
|
/**
|
|
45
53
|
* Include screen-space shadows in the IBL shadow pipeline. This adds sharp shadows to small details
|
|
46
54
|
* but only applies close to a shadow-casting object.
|
|
47
55
|
*/
|
|
48
|
-
ssShadowsEnabled
|
|
56
|
+
ssShadowsEnabled?: boolean;
|
|
49
57
|
/**
|
|
50
58
|
* The number of samples used in the screen space shadow pass.
|
|
51
59
|
*/
|
|
52
|
-
ssShadowSampleCount
|
|
60
|
+
ssShadowSampleCount?: number;
|
|
53
61
|
/**
|
|
54
|
-
* The stride of the screen-space shadow pass. This controls the distance between samples
|
|
62
|
+
* The stride of the screen-space shadow pass. This controls the distance between samples
|
|
63
|
+
* in pixels.
|
|
55
64
|
*/
|
|
56
|
-
ssShadowStride
|
|
65
|
+
ssShadowStride?: number;
|
|
57
66
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
67
|
+
* A scale for the maximum distance a screen-space shadow can be cast in world-space.
|
|
68
|
+
* The maximum distance that screen-space shadows cast is derived from the voxel size
|
|
69
|
+
* and this value so shouldn't need to change if you scale your scene.
|
|
60
70
|
*/
|
|
61
|
-
ssShadowDistanceScale
|
|
71
|
+
ssShadowDistanceScale?: number;
|
|
62
72
|
/**
|
|
63
|
-
* Screen-space shadow thickness. This value controls the
|
|
73
|
+
* Screen-space shadow thickness scale. This value controls the assumed thickness of
|
|
74
|
+
* on-screen surfaces in world-space. It scales with the size of the shadow-casting
|
|
75
|
+
* region so shouldn't need to change if you scale your scene.
|
|
64
76
|
*/
|
|
65
|
-
ssShadowThicknessScale
|
|
77
|
+
ssShadowThicknessScale?: number;
|
|
66
78
|
}
|
|
67
79
|
/**
|
|
68
80
|
* Voxel-based shadow rendering for IBL's.
|
|
@@ -105,7 +117,8 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
105
117
|
*/
|
|
106
118
|
voxelGridSize: number;
|
|
107
119
|
/**
|
|
108
|
-
* Reset the shadow accumulation.
|
|
120
|
+
* Reset the shadow accumulation. This has a similar affect to lowering the remanence for a single frame.
|
|
121
|
+
* This is useful when making a sudden change to the IBL.
|
|
109
122
|
*/
|
|
110
123
|
resetAccumulation(): void;
|
|
111
124
|
/**
|
|
@@ -132,23 +145,27 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
132
145
|
/**
|
|
133
146
|
* The number of samples used in the screen space shadow pass.
|
|
134
147
|
*/
|
|
135
|
-
get
|
|
136
|
-
set
|
|
148
|
+
get ssShadowSampleCount(): number;
|
|
149
|
+
set ssShadowSampleCount(value: number);
|
|
137
150
|
/**
|
|
138
|
-
* The stride of the screen-space shadow pass. This controls the distance between samples
|
|
151
|
+
* The stride of the screen-space shadow pass. This controls the distance between samples
|
|
152
|
+
* in pixels.
|
|
139
153
|
*/
|
|
140
154
|
get ssShadowStride(): number;
|
|
141
155
|
set ssShadowStride(value: number);
|
|
142
156
|
private _sssMaxDistScale;
|
|
143
157
|
/**
|
|
144
|
-
* A scale for the maximum distance a shadow can be cast in
|
|
145
|
-
* The
|
|
158
|
+
* A scale for the maximum distance a screen-space shadow can be cast in world-space.
|
|
159
|
+
* The maximum distance that screen-space shadows cast is derived from the voxel size
|
|
160
|
+
* and this value so shouldn't need to change if you scale your scene
|
|
146
161
|
*/
|
|
147
162
|
get ssShadowDistanceScale(): number;
|
|
148
163
|
set ssShadowDistanceScale(value: number);
|
|
149
164
|
private _sssThicknessScale;
|
|
150
165
|
/**
|
|
151
|
-
* Screen-space shadow thickness. This value controls the
|
|
166
|
+
* Screen-space shadow thickness scale. This value controls the assumed thickness of
|
|
167
|
+
* on-screen surfaces in world-space. It scales with the size of the shadow-casting
|
|
168
|
+
* region so shouldn't need to change if you scale your scene.
|
|
152
169
|
*/
|
|
153
170
|
get ssShadowThicknessScale(): number;
|
|
154
171
|
set ssShadowThicknessScale(value: number);
|
|
@@ -204,12 +221,10 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
204
221
|
private _gbufferDebugEnabled;
|
|
205
222
|
private _gBufferDebugSizeParams;
|
|
206
223
|
/**
|
|
207
|
-
*
|
|
224
|
+
* Turn on or off the debug view of the G-Buffer. This will display only the targets
|
|
225
|
+
* of the g-buffer that are used by the shadow pipeline.
|
|
208
226
|
*/
|
|
209
227
|
get gbufferDebugEnabled(): boolean;
|
|
210
|
-
/**
|
|
211
|
-
* Turn on or off the debug view of the G-Buffer
|
|
212
|
-
*/
|
|
213
228
|
set gbufferDebugEnabled(enabled: boolean);
|
|
214
229
|
/**
|
|
215
230
|
* Turn on or off the debug view of the CDF importance sampling data
|
|
@@ -220,58 +235,48 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
220
235
|
*/
|
|
221
236
|
set importanceSamplingDebugEnabled(enabled: boolean);
|
|
222
237
|
/**
|
|
223
|
-
*
|
|
238
|
+
* This displays the voxel grid in slices spread across the screen.
|
|
239
|
+
* It also displays what slices of the model are stored in each layer
|
|
240
|
+
* of the voxel grid. Each red stripe represents one layer while each gradient
|
|
241
|
+
* (from bright red to black) represents the layers rendered in a single draw call.
|
|
224
242
|
*/
|
|
225
243
|
get voxelDebugEnabled(): boolean;
|
|
226
|
-
/**
|
|
227
|
-
* Turn on or off the debug view of the voxel grid
|
|
228
|
-
*/
|
|
229
244
|
set voxelDebugEnabled(enabled: boolean);
|
|
230
245
|
/**
|
|
231
|
-
*
|
|
232
|
-
*
|
|
246
|
+
* When using tri-planar voxelization (the default), this value can be used to
|
|
247
|
+
* display only the voxelization result for that axis. z-axis = 0, y-axis = 1, x-axis = 2
|
|
233
248
|
*/
|
|
234
249
|
get voxelDebugAxis(): number;
|
|
235
|
-
/**
|
|
236
|
-
* Set the axis to display for the voxel grid debug view
|
|
237
|
-
* When using tri-axis voxelization, this will display the voxel grid for the specified axis
|
|
238
|
-
*/
|
|
239
250
|
set voxelDebugAxis(axisNum: number);
|
|
240
251
|
/**
|
|
241
|
-
*
|
|
252
|
+
* Displays a given mip of the voxel grid. `voxelDebugAxis` must be undefined in this
|
|
253
|
+
* case because we only generate mips for the combined voxel grid.
|
|
242
254
|
*/
|
|
243
255
|
set voxelDebugDisplayMip(mipNum: number);
|
|
244
256
|
/**
|
|
245
|
-
* Display the debug view for the
|
|
257
|
+
* Display the debug view for just the shadow samples taken this frame.
|
|
246
258
|
*/
|
|
247
259
|
get voxelTracingDebugEnabled(): boolean;
|
|
248
|
-
/**
|
|
249
|
-
* Display the debug view for the voxel tracing pass
|
|
250
|
-
*/
|
|
251
260
|
set voxelTracingDebugEnabled(enabled: boolean);
|
|
252
261
|
/**
|
|
253
262
|
* Display the debug view for the spatial blur pass
|
|
254
263
|
*/
|
|
255
264
|
get spatialBlurPassDebugEnabled(): boolean;
|
|
256
|
-
/**
|
|
257
|
-
* Display the debug view for the spatial blur pass
|
|
258
|
-
*/
|
|
259
265
|
set spatialBlurPassDebugEnabled(enabled: boolean);
|
|
260
266
|
/**
|
|
261
|
-
* Display the debug view for the
|
|
267
|
+
* Display the debug view for the shadows accumulated over time.
|
|
262
268
|
*/
|
|
263
269
|
get accumulationPassDebugEnabled(): boolean;
|
|
264
|
-
/**
|
|
265
|
-
* Display the debug view for the accumulation pass
|
|
266
|
-
*/
|
|
267
270
|
set accumulationPassDebugEnabled(enabled: boolean);
|
|
268
271
|
/**
|
|
269
|
-
* Add a mesh to be used for shadow
|
|
272
|
+
* Add a mesh to be used for shadow-casting in the IBL shadow pipeline.
|
|
273
|
+
* These meshes will be written to the voxel grid.
|
|
270
274
|
* @param mesh A mesh or list of meshes that you want to cast shadows
|
|
271
275
|
*/
|
|
272
276
|
addShadowCastingMesh(mesh: Mesh | Mesh[]): void;
|
|
273
277
|
/**
|
|
274
|
-
* Remove a mesh from the shadow-casting list.
|
|
278
|
+
* Remove a mesh from the shadow-casting list. The mesh will no longer be written
|
|
279
|
+
* to the voxel grid and will not cast shadows.
|
|
275
280
|
* @param mesh The mesh or list of meshes that you don't want to cast shadows.
|
|
276
281
|
*/
|
|
277
282
|
removeShadowCastingMesh(mesh: Mesh | Mesh[]): void;
|
|
@@ -281,11 +286,6 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
281
286
|
* The resolution is calculated as 2 to the power of this number.
|
|
282
287
|
*/
|
|
283
288
|
get resolutionExp(): number;
|
|
284
|
-
/**
|
|
285
|
-
* The exponent of the resolution of the voxel shadow grid. Higher resolutions will result in sharper
|
|
286
|
-
* shadows but are more expensive to compute and require more memory.
|
|
287
|
-
* The resolution is calculated as 2 to the power of this number.
|
|
288
|
-
*/
|
|
289
289
|
set resolutionExp(newResolution: number);
|
|
290
290
|
/**
|
|
291
291
|
* The number of different directions to sample during the voxel tracing pass
|
|
@@ -298,17 +298,17 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
298
298
|
/**
|
|
299
299
|
* The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
|
|
300
300
|
**/
|
|
301
|
-
get
|
|
301
|
+
get shadowRemanence(): number;
|
|
302
302
|
/**
|
|
303
303
|
* The decree to which the shadows persist between frames. 0.0 is no persistence, 1.0 is full persistence.
|
|
304
304
|
**/
|
|
305
|
-
set
|
|
305
|
+
set shadowRemanence(value: number);
|
|
306
306
|
/**
|
|
307
|
-
* The global rotation of the IBL for shadows
|
|
307
|
+
* 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.
|
|
308
308
|
*/
|
|
309
309
|
get envRotation(): number;
|
|
310
310
|
/**
|
|
311
|
-
* The global rotation of the IBL for shadows
|
|
311
|
+
* 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.
|
|
312
312
|
*/
|
|
313
313
|
set envRotation(value: number);
|
|
314
314
|
/**
|
|
@@ -323,6 +323,19 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
323
323
|
* Support test.
|
|
324
324
|
*/
|
|
325
325
|
static get IsSupported(): boolean;
|
|
326
|
+
/**
|
|
327
|
+
* Toggle the shadow tracing on or off
|
|
328
|
+
* @param enabled Toggle the shadow tracing on or off
|
|
329
|
+
*/
|
|
330
|
+
toggleShadow(enabled: boolean): void;
|
|
331
|
+
/**
|
|
332
|
+
* Trigger the scene to be re-voxelized. This should be run when any shadow-casters have been added, removed or moved.
|
|
333
|
+
*/
|
|
334
|
+
updateVoxelization(): void;
|
|
335
|
+
/**
|
|
336
|
+
* 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.
|
|
337
|
+
*/
|
|
338
|
+
updateSceneBounds(): void;
|
|
326
339
|
/**
|
|
327
340
|
* @param name The rendering pipeline name
|
|
328
341
|
* @param scene The scene linked to this pipeline
|
|
@@ -330,39 +343,27 @@ export declare class IblShadowsRenderPipeline extends PostProcessRenderPipeline
|
|
|
330
343
|
* @param cameras Cameras to apply the pipeline to.
|
|
331
344
|
*/
|
|
332
345
|
constructor(name: string, scene: Scene, options?: Partial<IblShadowsSettings>, cameras?: Camera[]);
|
|
333
|
-
/**
|
|
334
|
-
* Toggle the shadow tracing on or off
|
|
335
|
-
* @param enabled Toggle the shadow tracing on or off
|
|
336
|
-
*/
|
|
337
|
-
toggleShadow(enabled: boolean): void;
|
|
338
346
|
private _handleResize;
|
|
339
347
|
private _getGBufferDebugPass;
|
|
340
348
|
private _createDebugPasses;
|
|
341
349
|
private _disposeEffectPasses;
|
|
342
350
|
private _disposeDebugPasses;
|
|
343
351
|
private _updateDebugPasses;
|
|
344
|
-
/**
|
|
345
|
-
* Trigger the scene to be re-voxelized. This is useful when the scene has changed and the voxel grid needs to be updated.
|
|
346
|
-
*/
|
|
347
|
-
updateVoxelization(): void;
|
|
348
|
-
/**
|
|
349
|
-
* Trigger the scene bounds of shadow-casters to be updated. This is useful when the scene has changed and the bounds need
|
|
350
|
-
* to be recalculated. This will also trigger a re-voxelization.
|
|
351
|
-
*/
|
|
352
|
-
updateSceneBounds(): void;
|
|
353
352
|
/**
|
|
354
353
|
* Update the SS shadow max distance and thickness based on the voxel grid size and resolution.
|
|
355
354
|
* The max distance should be just a little larger than the world size of a single voxel.
|
|
356
355
|
*/
|
|
357
356
|
private _updateSSShadowParams;
|
|
358
357
|
/**
|
|
359
|
-
* Apply the shadows to a material or array of materials.
|
|
358
|
+
* Apply the shadows to a material or array of materials. If no material is provided, all
|
|
359
|
+
* materials in the scene will be added.
|
|
360
360
|
* @param material Material that will be affected by the shadows. If not provided, all materials of the scene will be affected.
|
|
361
361
|
*/
|
|
362
362
|
addShadowReceivingMaterial(material?: Material | Material[]): void;
|
|
363
363
|
/**
|
|
364
|
-
* Remove a material from
|
|
365
|
-
*
|
|
364
|
+
* Remove a material from the list of materials that receive shadows. If no material
|
|
365
|
+
* is provided, all materials in the scene will be removed.
|
|
366
|
+
* @param material The material or array of materials that will no longer receive shadows
|
|
366
367
|
*/
|
|
367
368
|
removeShadowReceivingMaterial(material: Material | Material[]): void;
|
|
368
369
|
protected _addShadowSupportToMaterial(material: Material): void;
|