@babylonjs/core 8.15.1 → 8.16.1
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.d.ts +13 -1
- package/Animations/animationGroup.js +16 -3
- package/Animations/animationGroup.js.map +1 -1
- package/AudioV2/webAudio/components/webAudioParameterComponent.d.ts +8 -0
- package/AudioV2/webAudio/components/webAudioParameterComponent.js +36 -3
- package/AudioV2/webAudio/components/webAudioParameterComponent.js.map +1 -1
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +10 -0
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +11 -0
- package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
- package/AudioV2/webAudio/webAudioEngine.d.ts +7 -0
- package/AudioV2/webAudio/webAudioEngine.js +45 -0
- package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
- package/Behaviors/Cameras/framingBehavior.js +3 -3
- package/Behaviors/Cameras/framingBehavior.js.map +1 -1
- package/Debug/directionalLightFrustumViewer.d.ts +6 -0
- package/Debug/directionalLightFrustumViewer.js +39 -1
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +2 -1
- package/Engines/AbstractEngine/abstractEngine.alpha.js +9 -9
- package/Engines/AbstractEngine/abstractEngine.alpha.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.states.d.ts +4 -104
- package/Engines/AbstractEngine/abstractEngine.states.js +4 -70
- package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.stencil.d.ts +147 -0
- package/Engines/AbstractEngine/abstractEngine.stencil.js +93 -0
- package/Engines/AbstractEngine/abstractEngine.stencil.js.map +1 -0
- package/Engines/AbstractEngine/index.d.ts +1 -0
- package/Engines/AbstractEngine/index.js +1 -0
- package/Engines/AbstractEngine/index.js.map +1 -1
- package/Engines/Extensions/engine.alpha.d.ts +2 -1
- package/Engines/Extensions/engine.alpha.js +7 -78
- package/Engines/Extensions/engine.alpha.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +8 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.alpha.d.ts +2 -1
- package/Engines/WebGPU/Extensions/engine.alpha.js +12 -82
- package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +12 -5
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +139 -72
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +13 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +8 -0
- package/Engines/WebGPU/webgpuStencilStateComposer.js +40 -0
- package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
- package/Engines/abstractEngine.d.ts +7 -3
- package/Engines/abstractEngine.js +12 -5
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +30 -28
- package/Engines/constants.js +30 -28
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +10 -0
- package/Engines/engine.js +1 -0
- package/Engines/engine.js.map +1 -1
- package/Engines/engineCapabilities.d.ts +4 -0
- package/Engines/engineCapabilities.js.map +1 -1
- package/Engines/nativeEngine.d.ts +2 -1
- package/Engines/nativeEngine.js +6 -3
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +2 -1
- package/Engines/nullEngine.js +7 -4
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/thinEngine.js +16 -3
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +1 -0
- package/Engines/webgpuEngine.js +6 -4
- package/Engines/webgpuEngine.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/passTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +8 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +14 -6
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +6 -5
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.js +7 -5
- package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
- package/FrameGraph/frameGraph.d.ts +10 -0
- package/FrameGraph/frameGraph.js +15 -5
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphContext.d.ts +16 -0
- package/FrameGraph/frameGraphContext.js +23 -0
- package/FrameGraph/frameGraphContext.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +9 -16
- package/FrameGraph/frameGraphRenderContext.js +15 -23
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/frameGraphUtils.d.ts +52 -0
- package/FrameGraph/frameGraphUtils.js +99 -0
- package/FrameGraph/frameGraphUtils.js.map +1 -0
- package/FrameGraph/index.d.ts +1 -0
- package/FrameGraph/index.js +1 -0
- package/FrameGraph/index.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.js +35 -2
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Materials/material.d.ts +32 -12
- package/Materials/material.js +49 -17
- package/Materials/material.js.map +1 -1
- package/Materials/materialStencilState.d.ts +24 -0
- package/Materials/materialStencilState.js +53 -1
- package/Materials/materialStencilState.js.map +1 -1
- package/Meshes/geometry.js +1 -1
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/instancedMesh.d.ts +5 -0
- package/Meshes/instancedMesh.js +3 -3
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +28 -5
- package/Meshes/mesh.js +127 -57
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/thinInstanceMesh.js +4 -0
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Misc/snapshotRenderingHelper.js +2 -1
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/Particles/IParticleSystem.d.ts +4 -0
- package/Particles/IParticleSystem.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +1 -0
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js +32 -10
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +4 -0
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +5 -0
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +12 -3
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +22 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
- package/PostProcesses/thinPassPostProcess.js +7 -3
- package/PostProcesses/thinPassPostProcess.js.map +1 -1
- package/Rendering/edgesRenderer.js +3 -2
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +1 -1
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js +1 -1
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Shaders/lod.fragment.js +2 -3
- package/Shaders/lod.fragment.js.map +1 -1
- package/ShadersWGSL/lod.fragment.js +2 -2
- package/ShadersWGSL/lod.fragment.js.map +1 -1
- package/Sprites/spriteManager.d.ts +1 -1
- package/Sprites/spriteManager.js.map +1 -1
- package/States/IStencilState.d.ts +6 -2
- package/States/IStencilState.js.map +1 -1
- package/States/alphaCullingState.d.ts +7 -5
- package/States/alphaCullingState.js +144 -33
- package/States/alphaCullingState.js.map +1 -1
- package/States/stencilState.d.ts +12 -0
- package/States/stencilState.js +29 -1
- package/States/stencilState.js.map +1 -1
- package/States/stencilStateComposer.d.ts +12 -0
- package/States/stencilStateComposer.js +48 -2
- package/States/stencilStateComposer.js.map +1 -1
- package/assetContainer.js +29 -8
- package/assetContainer.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +37 -1
- package/scene.js +56 -0
- package/scene.js.map +1 -1
package/Materials/material.js
CHANGED
|
@@ -179,32 +179,60 @@ export class Material {
|
|
|
179
179
|
*
|
|
180
180
|
* | Value | Type | Description |
|
|
181
181
|
* | --- | --- | --- |
|
|
182
|
-
* | 0 | ALPHA_DISABLE |
|
|
183
|
-
* | 1 | ALPHA_ADD |
|
|
184
|
-
* | 2 | ALPHA_COMBINE |
|
|
185
|
-
* | 3 | ALPHA_SUBTRACT |
|
|
186
|
-
* | 4 | ALPHA_MULTIPLY |
|
|
187
|
-
* | 5 | ALPHA_MAXIMIZED |
|
|
188
|
-
* | 6 | ALPHA_ONEONE |
|
|
189
|
-
* | 7 | ALPHA_PREMULTIPLIED |
|
|
190
|
-
* | 8 | ALPHA_PREMULTIPLIED_PORTERDUFF |
|
|
191
|
-
* | 9 | ALPHA_INTERPOLATE |
|
|
192
|
-
* | 10 | ALPHA_SCREENMODE |
|
|
182
|
+
* | 0 | ALPHA_DISABLE | |
|
|
183
|
+
* | 1 | ALPHA_ADD | Defines that alpha blending is COLOR=SRC_ALPHA * SRC + DEST, ALPHA=DEST_ALPHA |
|
|
184
|
+
* | 2 | ALPHA_COMBINE | Defines that alpha blending is COLOR=SRC_ALPHA * SRC + (1 - SRC_ALPHA) * DEST, ALPHA=SRC_ALPHA + DEST_ALPHA |
|
|
185
|
+
* | 3 | ALPHA_SUBTRACT | Defines that alpha blending is COLOR=(1 - SRC) * DEST, ALPHA=SRC_ALPHA - DEST_ALPHA |
|
|
186
|
+
* | 4 | ALPHA_MULTIPLY | Defines that alpha blending is COLOR=DEST * SRC, ALPHA=SRC_ALPHA + DEST_ALPHA |
|
|
187
|
+
* | 5 | ALPHA_MAXIMIZED | Defines that alpha blending is COLOR=SRC_ALPHA * SRC + (1 - SRC) * DEST, ALPHA=SRC_ALPHA + DEST_ALPHA |
|
|
188
|
+
* | 6 | ALPHA_ONEONE | Defines that alpha blending is COLOR=SRC + DEST, ALPHA=DEST_ALPHA |
|
|
189
|
+
* | 7 | ALPHA_PREMULTIPLIED | Defines that alpha blending is COLOR=SRC + (1 - SRC_ALPHA) * DEST, ALPHA=SRC_ALPHA + DEST_ALPHA |
|
|
190
|
+
* | 8 | ALPHA_PREMULTIPLIED_PORTERDUFF | Defines that alpha blending is COLOR=SRC + (1 - SRC_ALPHA) * DEST, ALPHA=SRC_ALPHA + (1 - SRC_ALPHA) * DEST_ALPHA |
|
|
191
|
+
* | 9 | ALPHA_INTERPOLATE | Defines that alpha blending is COLOR=CST * SRC + (1 - CST) * DEST, ALPHA=CST_ALPHA * SRC + (1 - CST_ALPHA) * DEST_ALPHA |
|
|
192
|
+
* | 10 | ALPHA_SCREENMODE | Defines that alpha blending is COLOR=SRC + (1 - SRC) * DEST, ALPHA=SRC_ALPHA + (1 - SRC_ALPHA) * DEST_ALPHA |
|
|
193
|
+
* | 11 | ALPHA_ONEONE_ONEONE | Defines that alpha blending is COLOR=SRC + DST, ALPHA=SRC_ALPHA + DEST_ALPHA |
|
|
194
|
+
* | 12 | ALPHA_ALPHATOCOLOR | Defines that alpha blending is COLOR=DEST_ALPHA * SRC + DST, ALPHA=0 |
|
|
195
|
+
* | 13 | ALPHA_REVERSEONEMINUS | Defines that alpha blending is COLOR=(1 - DEST) * SRC + (1 - SRC) * DEST, ALPHA=(1 - DEST_ALPHA) * SRC_ALPHA + (1 - SRC_ALPHA) * DEST_ALPHA |
|
|
196
|
+
* | 14 | ALPHA_SRC_DSTONEMINUSSRCALPHA | Defines that alpha blending is ALPHA=SRC + (1 - SRC ALPHA) * DEST, ALPHA=SRC_ALPHA + (1 - SRC ALPHA) * DEST_ALPHA |
|
|
197
|
+
* | 15 | ALPHA_ONEONE_ONEZERO | Defines that alpha blending is COLOR=SRC + DST, ALPHA=SRC_ALPHA |
|
|
198
|
+
* | 16 | ALPHA_EXCLUSION | Defines that alpha blending is COLOR=(1 - DEST) * SRC + (1 - SRC) * DEST, ALPHA=DEST_ALPHA |
|
|
199
|
+
* | 17 | ALPHA_LAYER_ACCUMULATE | Defines that alpha blending is COLOR=SRC_ALPHA * SRC + (1 - SRC ALPHA) * DEST, ALPHA=SRC_ALPHA + (1 - SRC_ALPHA) * DEST_ALPHA |
|
|
200
|
+
* | 18 | ALPHA_MIN | Defines that alpha blending is COLOR=MIN(SRC, DEST), ALPHA=MIN(SRC_ALPHA, DEST_ALPHA) |
|
|
201
|
+
* | 19 | ALPHA_MAX | Defines that alpha blending is COLOR=MAX(SRC, DEST), ALPHA=MAX(SRC_ALPHA, DEST_ALPHA) |
|
|
202
|
+
* | 20 | ALPHA_DUAL_SRC0_ADD_SRC1xDST | Defines that alpha blending uses dual source blending and is COLOR=SRC + SRC1 * DEST, ALPHA=DST_ALPHA |
|
|
193
203
|
*
|
|
194
204
|
*/
|
|
195
205
|
set alphaMode(value) {
|
|
196
|
-
if (this._alphaMode === value) {
|
|
206
|
+
if (this._alphaMode[0] === value) {
|
|
197
207
|
return;
|
|
198
208
|
}
|
|
199
|
-
this._alphaMode = value;
|
|
209
|
+
this._alphaMode[0] = value;
|
|
200
210
|
this.markAsDirty(Material.TextureDirtyFlag);
|
|
201
211
|
}
|
|
202
212
|
/**
|
|
203
213
|
* Gets the value of the alpha mode
|
|
204
214
|
*/
|
|
205
215
|
get alphaMode() {
|
|
216
|
+
return this._alphaMode[0];
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Gets the list of alpha modes (length greater than 1 for multi-targets)
|
|
220
|
+
*/
|
|
221
|
+
get alphaModes() {
|
|
206
222
|
return this._alphaMode;
|
|
207
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Sets the value of the alpha mode for a specific target index.
|
|
226
|
+
* @param value The alpha mode value to set.
|
|
227
|
+
* @param targetIndex The index of the target to set the alpha mode for. Defaults to 0.
|
|
228
|
+
*/
|
|
229
|
+
setAlphaMode(value, targetIndex = 0) {
|
|
230
|
+
if (this._alphaMode[targetIndex] === value) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
this._alphaMode[targetIndex] = value;
|
|
234
|
+
this.markAsDirty(Material.TextureDirtyFlag);
|
|
235
|
+
}
|
|
208
236
|
/**
|
|
209
237
|
* Sets the need depth pre-pass value
|
|
210
238
|
*/
|
|
@@ -418,7 +446,7 @@ export class Material {
|
|
|
418
446
|
/**
|
|
419
447
|
* Stores the value of the alpha mode
|
|
420
448
|
*/
|
|
421
|
-
this._alphaMode = 2;
|
|
449
|
+
this._alphaMode = [2];
|
|
422
450
|
/**
|
|
423
451
|
* Stores the state of the need depth pre-pass value
|
|
424
452
|
*/
|
|
@@ -1354,6 +1382,7 @@ export class Material {
|
|
|
1354
1382
|
*/
|
|
1355
1383
|
serialize() {
|
|
1356
1384
|
const serializationObject = SerializationHelper.Serialize(this);
|
|
1385
|
+
serializationObject.alphaMode = this._alphaMode;
|
|
1357
1386
|
serializationObject.stencil = this.stencil.serialize();
|
|
1358
1387
|
serializationObject.uniqueId = this.uniqueId;
|
|
1359
1388
|
this._serializePlugins(serializationObject);
|
|
@@ -1390,6 +1419,12 @@ export class Material {
|
|
|
1390
1419
|
const materialType = Tools.Instantiate(parsedMaterial.customType);
|
|
1391
1420
|
const material = materialType.Parse(parsedMaterial, scene, rootUrl);
|
|
1392
1421
|
material._loadedUniqueId = parsedMaterial.uniqueId;
|
|
1422
|
+
if (!Array.isArray(parsedMaterial.alphaMode)) {
|
|
1423
|
+
material._alphaMode = [parsedMaterial.alphaMode ?? 2];
|
|
1424
|
+
}
|
|
1425
|
+
else {
|
|
1426
|
+
material._alphaMode = parsedMaterial.alphaMode;
|
|
1427
|
+
}
|
|
1393
1428
|
return material;
|
|
1394
1429
|
}
|
|
1395
1430
|
static _ParsePlugins(serializationObject, material, scene, rootUrl) {
|
|
@@ -1571,9 +1606,6 @@ __decorate([
|
|
|
1571
1606
|
__decorate([
|
|
1572
1607
|
serialize()
|
|
1573
1608
|
], Material.prototype, "sideOrientation", void 0);
|
|
1574
|
-
__decorate([
|
|
1575
|
-
serialize("alphaMode")
|
|
1576
|
-
], Material.prototype, "_alphaMode", void 0);
|
|
1577
1609
|
__decorate([
|
|
1578
1610
|
serialize()
|
|
1579
1611
|
], Material.prototype, "_needDepthPrePass", void 0);
|