@babylonjs/core 7.11.0 → 7.11.2

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.
Files changed (50) hide show
  1. package/Actions/abstractActionManager.d.ts +4 -0
  2. package/Actions/abstractActionManager.js +4 -0
  3. package/Actions/abstractActionManager.js.map +1 -1
  4. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -0
  5. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -0
  6. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  7. package/Engines/abstractEngine.js +2 -3
  8. package/Engines/abstractEngine.js.map +1 -1
  9. package/Engines/engine.js +1 -0
  10. package/Engines/engine.js.map +1 -1
  11. package/Engines/webgpuEngine.js +1 -0
  12. package/Engines/webgpuEngine.js.map +1 -1
  13. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +10 -2
  14. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  15. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +4 -2
  16. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +56 -27
  17. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  18. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +4 -4
  19. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
  20. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js +1 -1
  21. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js.map +1 -1
  22. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js +1 -1
  23. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
  24. package/Materials/Node/Blocks/Input/inputBlock.js +6 -0
  25. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  26. package/Materials/Node/Blocks/PBR/reflectionBlock.js +1 -1
  27. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  28. package/Materials/Node/nodeMaterial.js +2 -0
  29. package/Materials/Node/nodeMaterial.js.map +1 -1
  30. package/Materials/Node/nodeMaterialBuildState.d.ts +25 -1
  31. package/Materials/Node/nodeMaterialBuildState.js +73 -3
  32. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  33. package/Materials/effectRenderer.d.ts +2 -1
  34. package/Materials/effectRenderer.js +5 -2
  35. package/Materials/effectRenderer.js.map +1 -1
  36. package/Meshes/abstractMesh.d.ts +7 -0
  37. package/Meshes/abstractMesh.js +10 -1
  38. package/Meshes/abstractMesh.js.map +1 -1
  39. package/Meshes/mesh.d.ts +11 -1
  40. package/Meshes/mesh.js +40 -0
  41. package/Meshes/mesh.js.map +1 -1
  42. package/Misc/observable.d.ts +6 -6
  43. package/Misc/observable.js +4 -4
  44. package/Misc/observable.js.map +1 -1
  45. package/Rendering/fluidRenderer/fluidRenderingObject.js +2 -2
  46. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  47. package/ShadersWGSL/ShadersInclude/reflectionFunction.d.ts +5 -0
  48. package/ShadersWGSL/ShadersInclude/reflectionFunction.js +71 -0
  49. package/ShadersWGSL/ShadersInclude/reflectionFunction.js.map +1 -0
  50. package/package.json +1 -1
package/Meshes/mesh.d.ts CHANGED
@@ -274,13 +274,23 @@ export declare class Mesh extends AbstractMesh implements IGetSetVerticesData {
274
274
  /**
275
275
  * Use this property to change the original side orientation defined at construction time
276
276
  * Material.sideOrientation will override this value if set
277
+ * User will still be able to change the material sideOrientation afterwards if they really need it
277
278
  */
278
- sideOrientation: number;
279
+ get sideOrientation(): number;
280
+ set sideOrientation(value: number);
281
+ /**
282
+ * @deprecated Please use sideOrientation instead.
283
+ * @see https://doc.babylonjs.com/breaking-changes#7110
284
+ */
285
+ get overrideMaterialSideOrientation(): number;
286
+ set overrideMaterialSideOrientation(value: number);
279
287
  /**
280
288
  * Use this property to override the Material's fillMode value
281
289
  */
282
290
  get overrideRenderingFillMode(): Nullable<number>;
283
291
  set overrideRenderingFillMode(fillMode: Nullable<number>);
292
+ get material(): Nullable<Material>;
293
+ set material(value: Nullable<Material>);
284
294
  /**
285
295
  * Gets or sets a boolean indicating whether to render ignoring the active camera's max z setting. (false by default)
286
296
  * You should not mix meshes that have this property set to true with meshes that have it set to false if they all write
package/Meshes/mesh.js CHANGED
@@ -197,6 +197,33 @@ export class Mesh extends AbstractMesh {
197
197
  set forcedInstanceCount(count) {
198
198
  this._internalMeshDataInfo._forcedInstanceCount = count;
199
199
  }
200
+ /**
201
+ * Use this property to change the original side orientation defined at construction time
202
+ * Material.sideOrientation will override this value if set
203
+ * User will still be able to change the material sideOrientation afterwards if they really need it
204
+ */
205
+ get sideOrientation() {
206
+ return this._internalMeshDataInfo._sideOrientation;
207
+ }
208
+ set sideOrientation(value) {
209
+ this._internalMeshDataInfo._sideOrientation = value;
210
+ this._internalAbstractMeshDataInfo._sideOrientationHint =
211
+ (this._scene.useRightHandedSystem && value === 1) ||
212
+ (!this._scene.useRightHandedSystem && value === 0);
213
+ }
214
+ /**
215
+ * @deprecated Please use sideOrientation instead.
216
+ * @see https://doc.babylonjs.com/breaking-changes#7110
217
+ */
218
+ get overrideMaterialSideOrientation() {
219
+ return this.sideOrientation;
220
+ }
221
+ set overrideMaterialSideOrientation(value) {
222
+ this.sideOrientation = value;
223
+ if (this.material) {
224
+ this.material.sideOrientation = null;
225
+ }
226
+ }
200
227
  /**
201
228
  * Use this property to override the Material's fillMode value
202
229
  */
@@ -206,6 +233,15 @@ export class Mesh extends AbstractMesh {
206
233
  set overrideRenderingFillMode(fillMode) {
207
234
  this._internalMeshDataInfo._overrideRenderingFillMode = fillMode;
208
235
  }
236
+ get material() {
237
+ return this._internalAbstractMeshDataInfo._material;
238
+ }
239
+ set material(value) {
240
+ if (value && ((this.material && this.material.sideOrientation === null) || this._internalAbstractMeshDataInfo._sideOrientationHint)) {
241
+ value.sideOrientation = null;
242
+ }
243
+ this._setMaterial(value);
244
+ }
209
245
  /**
210
246
  * Gets the source mesh (the one used to clone this one from)
211
247
  */
@@ -3312,6 +3348,10 @@ export class Mesh extends AbstractMesh {
3312
3348
  if (parsedMesh.ellipsoidOffset) {
3313
3349
  mesh.ellipsoidOffset = Vector3.FromArray(parsedMesh.ellipsoidOffset);
3314
3350
  }
3351
+ // For Backward compatibility ("!=" to exclude null and undefined)
3352
+ if (parsedMesh.overrideMaterialSideOrientation != null) {
3353
+ mesh.sideOrientation = parsedMesh.overrideMaterialSideOrientation;
3354
+ }
3315
3355
  if (parsedMesh.sideOrientation !== undefined) {
3316
3356
  mesh.sideOrientation = parsedMesh.sideOrientation;
3317
3357
  }