@babylonjs/core 8.18.0 → 8.19.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.
Files changed (100) hide show
  1. package/Collisions/intersectionInfo.d.ts +1 -0
  2. package/Collisions/intersectionInfo.js +1 -0
  3. package/Collisions/intersectionInfo.js.map +1 -1
  4. package/Compute/computeShader.d.ts +7 -0
  5. package/Compute/computeShader.js +15 -0
  6. package/Compute/computeShader.js.map +1 -1
  7. package/Engines/Extensions/engine.computeShader.d.ts +2 -1
  8. package/Engines/Extensions/engine.computeShader.js +1 -0
  9. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  10. package/Engines/IDrawContext.d.ts +31 -1
  11. package/Engines/IDrawContext.js.map +1 -1
  12. package/Engines/IMaterialContext.d.ts +1 -0
  13. package/Engines/IMaterialContext.js.map +1 -1
  14. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  15. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +2 -2
  16. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  17. package/Engines/WebGPU/webgpuComputeContext.js +15 -0
  18. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  19. package/Engines/WebGPU/webgpuDrawContext.d.ts +48 -3
  20. package/Engines/WebGPU/webgpuDrawContext.js +81 -13
  21. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  22. package/Engines/WebGPU/webgpuMaterialContext.d.ts +1 -0
  23. package/Engines/WebGPU/webgpuMaterialContext.js +1 -0
  24. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  25. package/Engines/WebGPU/webgpuStencilStateComposer.js +7 -3
  26. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  27. package/Engines/abstractEngine.d.ts +4 -1
  28. package/Engines/abstractEngine.js +2 -2
  29. package/Engines/abstractEngine.js.map +1 -1
  30. package/Engines/engine.d.ts +2 -2
  31. package/Engines/nativeEngine.d.ts +1 -1
  32. package/Engines/nativeEngine.js +2 -2
  33. package/Engines/nativeEngine.js.map +1 -1
  34. package/Engines/renderTargetWrapper.d.ts +8 -0
  35. package/Engines/renderTargetWrapper.js +8 -0
  36. package/Engines/renderTargetWrapper.js.map +1 -1
  37. package/Engines/thinEngine.d.ts +2 -3
  38. package/Engines/thinEngine.js +3 -2
  39. package/Engines/thinEngine.js.map +1 -1
  40. package/Engines/webgpuEngine.d.ts +7 -4
  41. package/Engines/webgpuEngine.js +28 -15
  42. package/Engines/webgpuEngine.js.map +1 -1
  43. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.d.ts +1 -1
  44. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
  45. package/FrameGraph/Passes/renderPass.d.ts +8 -0
  46. package/FrameGraph/Passes/renderPass.js +10 -1
  47. package/FrameGraph/Passes/renderPass.js.map +1 -1
  48. package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +46 -2
  49. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +62 -15
  50. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -1
  51. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +4 -0
  52. package/FrameGraph/Tasks/Texture/clearTextureTask.js +5 -1
  53. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  54. package/FrameGraph/frameGraphRenderContext.d.ts +14 -5
  55. package/FrameGraph/frameGraphRenderContext.js +34 -14
  56. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  57. package/FrameGraph/frameGraphTextureManager.d.ts +3 -1
  58. package/FrameGraph/frameGraphTextureManager.js +16 -10
  59. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  60. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +1 -0
  61. package/Materials/Node/Blocks/PBR/reflectionBlock.js +4 -1
  62. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  63. package/Materials/Node/nodeMaterial.js +7 -0
  64. package/Materials/Node/nodeMaterial.js.map +1 -1
  65. package/Materials/PBR/pbrBaseMaterial.d.ts +1 -0
  66. package/Materials/PBR/pbrBaseMaterial.js +8 -6
  67. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  68. package/Materials/drawWrapper.d.ts +34 -2
  69. package/Materials/drawWrapper.js +22 -2
  70. package/Materials/drawWrapper.js.map +1 -1
  71. package/Materials/effectRenderer.d.ts +4 -0
  72. package/Materials/effectRenderer.js +2 -1
  73. package/Materials/effectRenderer.js.map +1 -1
  74. package/Materials/index.d.ts +1 -0
  75. package/Materials/index.js +1 -0
  76. package/Materials/index.js.map +1 -1
  77. package/Materials/material.d.ts +8 -1
  78. package/Materials/material.js +21 -1
  79. package/Materials/material.js.map +1 -1
  80. package/Materials/materialHelper.functions.d.ts +3 -1
  81. package/Materials/materialHelper.functions.js +7 -1
  82. package/Materials/materialHelper.functions.js.map +1 -1
  83. package/Materials/shaderMaterial.js +11 -0
  84. package/Materials/shaderMaterial.js.map +1 -1
  85. package/Materials/standardMaterial.d.ts +1 -0
  86. package/Materials/standardMaterial.js +2 -1
  87. package/Materials/standardMaterial.js.map +1 -1
  88. package/Materials/uniformBuffer.d.ts +6 -0
  89. package/Materials/uniformBuffer.js +8 -0
  90. package/Materials/uniformBuffer.js.map +1 -1
  91. package/Meshes/abstractMesh.js +3 -2
  92. package/Meshes/abstractMesh.js.map +1 -1
  93. package/Meshes/mesh.js +6 -0
  94. package/Meshes/mesh.js.map +1 -1
  95. package/Misc/fileTools.js +1 -1
  96. package/Misc/fileTools.js.map +1 -1
  97. package/States/index.d.ts +1 -0
  98. package/States/index.js +1 -0
  99. package/States/index.js.map +1 -1
  100. package/package.json +1 -1
@@ -227,6 +227,7 @@ export declare class PBRMaterialDefines extends MaterialDefines implements IImag
227
227
  UNLIT: boolean;
228
228
  DECAL_AFTER_DETAIL: boolean;
229
229
  DEBUGMODE: number;
230
+ USE_VERTEX_PULLING: boolean;
230
231
  /**
231
232
  * Initializes the PBR Material defines.
232
233
  * @param externalProperties The external properties
@@ -240,6 +240,7 @@ export class PBRMaterialDefines extends MaterialDefines {
240
240
  this.UNLIT = false;
241
241
  this.DECAL_AFTER_DETAIL = false;
242
242
  this.DEBUGMODE = 0;
243
+ this.USE_VERTEX_PULLING = false;
243
244
  this.rebuild();
244
245
  }
245
246
  /**
@@ -978,7 +979,7 @@ export class PBRBaseMaterial extends PushMaterial {
978
979
  }
979
980
  const previousEffect = subMesh.effect;
980
981
  const lightDisposed = defines._areLightsDisposed;
981
- let effect = this._prepareEffect(mesh, defines, this.onCompiled, this.onError, useInstances, null, subMesh.getRenderingMesh().hasThinInstances);
982
+ let effect = this._prepareEffect(mesh, subMesh.getRenderingMesh(), defines, this.onCompiled, this.onError, useInstances, null);
982
983
  let forceWasNotReadyPreviously = false;
983
984
  if (effect) {
984
985
  if (this._onEffectCreatedObservable) {
@@ -1021,8 +1022,8 @@ export class PBRBaseMaterial extends PushMaterial {
1021
1022
  }
1022
1023
  return false;
1023
1024
  }
1024
- _prepareEffect(mesh, defines, onCompiled = null, onError = null, useInstances = null, useClipPlane = null, useThinInstances) {
1025
- this._prepareDefines(mesh, defines, useInstances, useClipPlane, useThinInstances);
1025
+ _prepareEffect(mesh, renderingMesh, defines, onCompiled = null, onError = null, useInstances = null, useClipPlane = null) {
1026
+ this._prepareDefines(mesh, renderingMesh, defines, useInstances, useClipPlane);
1026
1027
  if (!defines.isDirty) {
1027
1028
  return null;
1028
1029
  }
@@ -1283,7 +1284,8 @@ export class PBRBaseMaterial extends PushMaterial {
1283
1284
  this._eventInfo.customCode = undefined;
1284
1285
  return effect;
1285
1286
  }
1286
- _prepareDefines(mesh, defines, useInstances = null, useClipPlane = null, useThinInstances = false) {
1287
+ _prepareDefines(mesh, renderingMesh, defines, useInstances = null, useClipPlane = null) {
1288
+ const useThinInstances = renderingMesh.hasThinInstances;
1287
1289
  const scene = this.getScene();
1288
1290
  const engine = scene.getEngine();
1289
1291
  // Lights
@@ -1609,7 +1611,7 @@ export class PBRBaseMaterial extends PushMaterial {
1609
1611
  defines.HORIZONOCCLUSION = this._useHorizonOcclusion;
1610
1612
  // Misc.
1611
1613
  if (defines._areMiscDirty) {
1612
- PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this.needAlphaTestingForMesh(mesh), defines, this._applyDecalMapAfterDetailMap);
1614
+ PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this.needAlphaTestingForMesh(mesh), defines, this._applyDecalMapAfterDetailMap, this._useVertexPulling, renderingMesh);
1613
1615
  defines.UNLIT = this._unlit || ((this.pointsCloud || this.wireframe) && !mesh.isVerticesDataPresent(VertexBuffer.NormalKind));
1614
1616
  defines.DEBUGMODE = this._debugMode;
1615
1617
  }
@@ -1645,7 +1647,7 @@ export class PBRBaseMaterial extends PushMaterial {
1645
1647
  return;
1646
1648
  }
1647
1649
  const defines = new PBRMaterialDefines(this._eventInfo.defineNames);
1648
- const effect = this._prepareEffect(mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane, mesh.hasThinInstances);
1650
+ const effect = this._prepareEffect(mesh, mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane);
1649
1651
  if (this._onEffectCreatedObservable) {
1650
1652
  onCreatedEffectParameters.effect = effect;
1651
1653
  onCreatedEffectParameters.subMesh = null;