@babylonjs/core 8.24.2 → 8.25.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/Engines/AbstractEngine/abstractEngine.cubeTexture.js +1 -1
- package/Engines/AbstractEngine/abstractEngine.cubeTexture.js.map +1 -1
- package/Engines/Native/nativeShaderProcessors.js +3 -0
- package/Engines/Native/nativeShaderProcessors.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +3 -0
- package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +3 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +4 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +4 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/abstractEngine.d.ts +1 -1
- package/Engines/abstractEngine.functions.d.ts +2 -2
- package/Engines/abstractEngine.functions.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +8 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js +16 -0
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.js +2 -0
- package/FrameGraph/Node/Blocks/inputBlock.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +2 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +16 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.d.ts +3 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +10 -7
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
- package/FrameGraph/frameGraph.d.ts +2 -2
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphTextureManager.js +4 -0
- package/FrameGraph/frameGraphTextureManager.js.map +1 -1
- package/Gizmos/cameraGizmo.js +11 -13
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +21 -13
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +1 -1
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js +0 -5
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -1
- package/Materials/Node/nodeMaterial.js +3 -14
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +1 -1
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/material.d.ts +17 -1
- package/Materials/material.js +38 -7
- package/Materials/material.js.map +1 -1
- package/Materials/materialDefines.d.ts +1 -0
- package/Materials/materialDefines.js +1 -0
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +2 -1
- package/Materials/materialHelper.functions.js +3 -1
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/standardMaterial.js +1 -1
- package/Materials/standardMaterial.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +3 -10
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/csg2.js +5 -3
- package/Meshes/csg2.js.map +1 -1
- package/Meshes/linesMesh.d.ts +5 -3
- package/Meshes/linesMesh.js +27 -8
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +2 -2
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Misc/fileTools.d.ts +2 -2
- package/Misc/fileTools.js +3 -1
- package/Misc/fileTools.js.map +1 -1
- package/Misc/khronosTextureContainer2.js +16 -7
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/snapshotRenderingHelper.d.ts +2 -0
- package/Misc/snapshotRenderingHelper.js +31 -1
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +6 -3
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js +1 -0
- package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +14 -2
- package/Rendering/objectRenderer.js +54 -28
- package/Rendering/objectRenderer.js.map +1 -1
- package/Shaders/pbr.vertex.js +1 -5
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/ssao2.fragment.js +14 -2
- package/Shaders/ssao2.fragment.js.map +1 -1
- package/ShadersWGSL/ssao2.fragment.js +14 -2
- package/ShadersWGSL/ssao2.fragment.js.map +1 -1
- package/Sprites/spriteManager.d.ts +5 -0
- package/Sprites/spriteManager.js +6 -0
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteRenderer.d.ts +5 -2
- package/Sprites/spriteRenderer.js.map +1 -1
- package/XR/features/WebXRDepthSensing.js +4 -2
- package/XR/features/WebXRDepthSensing.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +5 -2
- package/scene.js.map +1 -1
package/Materials/material.d.ts
CHANGED
|
@@ -361,7 +361,7 @@ export declare class Material implements IAnimatable, IClipPlanesHolder {
|
|
|
361
361
|
/**
|
|
362
362
|
* Stores the value of the alpha mode
|
|
363
363
|
*/
|
|
364
|
-
|
|
364
|
+
private _alphaMode;
|
|
365
365
|
/**
|
|
366
366
|
* Sets the value of the alpha mode.
|
|
367
367
|
*
|
|
@@ -522,6 +522,16 @@ export declare class Material implements IAnimatable, IClipPlanesHolder {
|
|
|
522
522
|
*/
|
|
523
523
|
get useLogarithmicDepth(): boolean;
|
|
524
524
|
set useLogarithmicDepth(value: boolean);
|
|
525
|
+
protected _setVertexOutputInvariant: boolean;
|
|
526
|
+
/**
|
|
527
|
+
* Gets or sets the vertex output invariant state
|
|
528
|
+
* Setting this property to true will force the shader compiler to disable some optimization to make sure the vertex output is always calculated
|
|
529
|
+
* the same way across different compilation units.
|
|
530
|
+
* You may need to enable this option if you are seeing some depth artifacts when using a depth pre-pass, for e.g.
|
|
531
|
+
* Note that this may have an impact on performance, so leave this option disabled if not needed.
|
|
532
|
+
*/
|
|
533
|
+
get setVertexOutputInvariant(): boolean;
|
|
534
|
+
set setVertexOutputInvariant(value: boolean);
|
|
525
535
|
/**
|
|
526
536
|
* @internal
|
|
527
537
|
* Stores the effects for the material
|
|
@@ -905,6 +915,12 @@ export declare class Material implements IAnimatable, IClipPlanesHolder {
|
|
|
905
915
|
*/
|
|
906
916
|
serialize(): any;
|
|
907
917
|
protected _serializePlugins(serializationObject: any): void;
|
|
918
|
+
/**
|
|
919
|
+
* Parses the alpha mode from the material data to parse
|
|
920
|
+
* @param parsedMaterial defines the material data to parse
|
|
921
|
+
* @param material defines the material to update
|
|
922
|
+
*/
|
|
923
|
+
static ParseAlphaMode(parsedMaterial: any, material: Material): void;
|
|
908
924
|
/**
|
|
909
925
|
* Creates a material from parsed material data
|
|
910
926
|
* @param parsedMaterial defines parsed material data
|
package/Materials/material.js
CHANGED
|
@@ -353,6 +353,23 @@ export class Material {
|
|
|
353
353
|
this._useLogarithmicDepth = value && fragmentDepthSupported;
|
|
354
354
|
this._markAllSubMeshesAsMiscDirty();
|
|
355
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Gets or sets the vertex output invariant state
|
|
358
|
+
* Setting this property to true will force the shader compiler to disable some optimization to make sure the vertex output is always calculated
|
|
359
|
+
* the same way across different compilation units.
|
|
360
|
+
* You may need to enable this option if you are seeing some depth artifacts when using a depth pre-pass, for e.g.
|
|
361
|
+
* Note that this may have an impact on performance, so leave this option disabled if not needed.
|
|
362
|
+
*/
|
|
363
|
+
get setVertexOutputInvariant() {
|
|
364
|
+
return this._setVertexOutputInvariant;
|
|
365
|
+
}
|
|
366
|
+
set setVertexOutputInvariant(value) {
|
|
367
|
+
if (this._setVertexOutputInvariant === value) {
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
this._setVertexOutputInvariant = value;
|
|
371
|
+
this._markAllSubMeshesAsMiscDirty();
|
|
372
|
+
}
|
|
356
373
|
/** @internal */
|
|
357
374
|
_getDrawWrapper() {
|
|
358
375
|
return this._drawWrapper;
|
|
@@ -507,6 +524,7 @@ export class Material {
|
|
|
507
524
|
* Gives access to the stencil properties of the material
|
|
508
525
|
*/
|
|
509
526
|
this.stencil = new MaterialStencilState();
|
|
527
|
+
this._setVertexOutputInvariant = false;
|
|
510
528
|
/**
|
|
511
529
|
* Specifies if uniform buffers should be used
|
|
512
530
|
*/
|
|
@@ -1402,7 +1420,6 @@ export class Material {
|
|
|
1402
1420
|
*/
|
|
1403
1421
|
serialize() {
|
|
1404
1422
|
const serializationObject = SerializationHelper.Serialize(this);
|
|
1405
|
-
serializationObject.alphaMode = this._alphaMode;
|
|
1406
1423
|
serializationObject.stencil = this.stencil.serialize();
|
|
1407
1424
|
serializationObject.uniqueId = this.uniqueId;
|
|
1408
1425
|
this._serializePlugins(serializationObject);
|
|
@@ -1418,6 +1435,22 @@ export class Material {
|
|
|
1418
1435
|
}
|
|
1419
1436
|
}
|
|
1420
1437
|
}
|
|
1438
|
+
/**
|
|
1439
|
+
* Parses the alpha mode from the material data to parse
|
|
1440
|
+
* @param parsedMaterial defines the material data to parse
|
|
1441
|
+
* @param material defines the material to update
|
|
1442
|
+
*/
|
|
1443
|
+
static ParseAlphaMode(parsedMaterial, material) {
|
|
1444
|
+
if (parsedMaterial._alphaMode !== undefined) {
|
|
1445
|
+
material._alphaMode = Array.isArray(parsedMaterial._alphaMode) ? parsedMaterial._alphaMode : [parsedMaterial._alphaMode];
|
|
1446
|
+
}
|
|
1447
|
+
else if (parsedMaterial.alphaMode !== undefined) {
|
|
1448
|
+
material._alphaMode = Array.isArray(parsedMaterial.alphaMode) ? parsedMaterial.alphaMode : [parsedMaterial.alphaMode];
|
|
1449
|
+
}
|
|
1450
|
+
else {
|
|
1451
|
+
material._alphaMode = [2];
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1421
1454
|
/**
|
|
1422
1455
|
* Creates a material from parsed material data
|
|
1423
1456
|
* @param parsedMaterial defines parsed material data
|
|
@@ -1439,12 +1472,7 @@ export class Material {
|
|
|
1439
1472
|
const materialType = Tools.Instantiate(parsedMaterial.customType);
|
|
1440
1473
|
const material = materialType.Parse(parsedMaterial, scene, rootUrl);
|
|
1441
1474
|
material._loadedUniqueId = parsedMaterial.uniqueId;
|
|
1442
|
-
|
|
1443
|
-
material._alphaMode = [parsedMaterial.alphaMode ?? 2];
|
|
1444
|
-
}
|
|
1445
|
-
else {
|
|
1446
|
-
material._alphaMode = parsedMaterial.alphaMode;
|
|
1447
|
-
}
|
|
1475
|
+
Material.ParseAlphaMode(parsedMaterial, material);
|
|
1448
1476
|
return material;
|
|
1449
1477
|
}
|
|
1450
1478
|
static _ParsePlugins(serializationObject, material, scene, rootUrl) {
|
|
@@ -1668,6 +1696,9 @@ __decorate([
|
|
|
1668
1696
|
__decorate([
|
|
1669
1697
|
serialize()
|
|
1670
1698
|
], Material.prototype, "useLogarithmicDepth", null);
|
|
1699
|
+
__decorate([
|
|
1700
|
+
serialize()
|
|
1701
|
+
], Material.prototype, "_setVertexOutputInvariant", void 0);
|
|
1671
1702
|
__decorate([
|
|
1672
1703
|
serialize()
|
|
1673
1704
|
], Material.prototype, "transparencyMode", null);
|