@babylonjs/core 8.8.5 → 8.9.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 (172) hide show
  1. package/Animations/animatable.core.js +2 -2
  2. package/Animations/animatable.core.js.map +1 -1
  3. package/AudioV2/abstractAudio/abstractSound.d.ts +0 -7
  4. package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
  5. package/AudioV2/abstractAudio/abstractSoundSource.d.ts +6 -3
  6. package/AudioV2/abstractAudio/abstractSoundSource.js +1 -2
  7. package/AudioV2/abstractAudio/abstractSoundSource.js.map +1 -1
  8. package/AudioV2/webAudio/webAudioEngine.js +4 -1
  9. package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
  10. package/AudioV2/webAudio/webAudioSoundSource.js +1 -1
  11. package/AudioV2/webAudio/webAudioSoundSource.js.map +1 -1
  12. package/AudioV2/webAudio/webAudioStaticSound.js +1 -1
  13. package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
  14. package/AudioV2/webAudio/webAudioStreamingSound.js +1 -1
  15. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  16. package/Cameras/targetCamera.d.ts +0 -4
  17. package/Cameras/targetCamera.js +0 -28
  18. package/Cameras/targetCamera.js.map +1 -1
  19. package/Collisions/gpuPicker.d.ts +3 -0
  20. package/Collisions/gpuPicker.js +26 -2
  21. package/Collisions/gpuPicker.js.map +1 -1
  22. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js +22 -15
  23. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js.map +1 -1
  24. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -0
  25. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +8 -0
  26. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  27. package/Engines/WebGPU/webgpuBufferManager.js +5 -2
  28. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  29. package/Engines/abstractEngine.js +2 -2
  30. package/Engines/abstractEngine.js.map +1 -1
  31. package/Engines/constants.d.ts +5 -0
  32. package/Engines/constants.js +5 -0
  33. package/Engines/constants.js.map +1 -1
  34. package/FlowGraph/Blocks/Data/flowGraphDataSwitchBlock.js +1 -1
  35. package/FlowGraph/Blocks/Data/flowGraphDataSwitchBlock.js.map +1 -1
  36. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.d.ts +2 -1
  37. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js +5 -4
  38. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js.map +1 -1
  39. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.d.ts +3 -1
  40. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js +26 -4
  41. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js.map +1 -1
  42. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.d.ts +3 -0
  43. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js +13 -0
  44. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js.map +1 -1
  45. package/FrameGraph/Node/nodeRenderGraph.d.ts +1 -1
  46. package/FrameGraph/Node/nodeRenderGraph.js +1 -1
  47. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  48. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +7 -0
  49. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +17 -0
  50. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
  51. package/FrameGraph/frameGraph.d.ts +2 -0
  52. package/FrameGraph/frameGraph.js +2 -0
  53. package/FrameGraph/frameGraph.js.map +1 -1
  54. package/Gizmos/planeRotationGizmo.js +1 -1
  55. package/Gizmos/planeRotationGizmo.js.map +1 -1
  56. package/Helpers/environmentHelper.js +3 -3
  57. package/Helpers/environmentHelper.js.map +1 -1
  58. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +1 -0
  59. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  60. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +4 -1
  61. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  62. package/Materials/PBR/pbrBRDFConfiguration.d.ts +30 -0
  63. package/Materials/PBR/pbrBRDFConfiguration.js +45 -0
  64. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  65. package/Materials/PBR/pbrBaseMaterial.d.ts +0 -10
  66. package/Materials/PBR/pbrBaseMaterial.js +0 -13
  67. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  68. package/Materials/PBR/pbrMaterial.d.ts +0 -16
  69. package/Materials/PBR/pbrMaterial.decalMap.js +0 -5
  70. package/Materials/PBR/pbrMaterial.decalMap.js.map +1 -1
  71. package/Materials/PBR/pbrMaterial.js +1 -30
  72. package/Materials/PBR/pbrMaterial.js.map +1 -1
  73. package/Materials/Textures/renderTargetTexture.d.ts +4 -4
  74. package/Materials/Textures/renderTargetTexture.js +3 -1
  75. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  76. package/Materials/effectRenderer.d.ts +1 -0
  77. package/Materials/effectRenderer.js +3 -1
  78. package/Materials/effectRenderer.js.map +1 -1
  79. package/Materials/shaderMaterial.d.ts +7 -8
  80. package/Materials/shaderMaterial.js +21 -15
  81. package/Materials/shaderMaterial.js.map +1 -1
  82. package/Materials/standardMaterial.decalMap.js +0 -5
  83. package/Materials/standardMaterial.decalMap.js.map +1 -1
  84. package/Materials/standardMaterial.js +1 -1
  85. package/Materials/standardMaterial.js.map +1 -1
  86. package/Maths/ThinMaths/thinMath.matrix.functions.d.ts +11 -11
  87. package/Maths/ThinMaths/thinMath.matrix.functions.js.map +1 -1
  88. package/Maths/math.like.d.ts +2 -2
  89. package/Maths/math.like.js.map +1 -1
  90. package/Maths/math.vector.d.ts +23 -17
  91. package/Maths/math.vector.js +144 -115
  92. package/Maths/math.vector.js.map +1 -1
  93. package/Meshes/Node/nodeGeometry.d.ts +1 -1
  94. package/Meshes/Node/nodeGeometry.js +1 -1
  95. package/Meshes/Node/nodeGeometry.js.map +1 -1
  96. package/Meshes/csg2.js +1 -1
  97. package/Meshes/csg2.js.map +1 -1
  98. package/Meshes/instancedMesh.js +12 -2
  99. package/Meshes/instancedMesh.js.map +1 -1
  100. package/Meshes/mesh.d.ts +2 -2
  101. package/Meshes/mesh.js.map +1 -1
  102. package/Misc/minMaxReducer.js +5 -0
  103. package/Misc/minMaxReducer.js.map +1 -1
  104. package/Offline/database.d.ts +1 -1
  105. package/Offline/database.js +5 -5
  106. package/Offline/database.js.map +1 -1
  107. package/Rendering/depthPeelingRenderer.d.ts +1 -1
  108. package/Rendering/depthPeelingRenderer.js +1 -1
  109. package/Rendering/depthPeelingRenderer.js.map +1 -1
  110. package/Rendering/edgesRenderer.d.ts +1 -1
  111. package/Rendering/edgesRenderer.js +2 -2
  112. package/Rendering/edgesRenderer.js.map +1 -1
  113. package/Rendering/fluidRenderer/fluidRenderer.d.ts +1 -1
  114. package/Rendering/fluidRenderer/fluidRenderer.js +1 -1
  115. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  116. package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +1 -1
  117. package/Rendering/fluidRenderer/fluidRenderingObject.js +1 -1
  118. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  119. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.d.ts +1 -1
  120. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +1 -1
  121. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  122. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.d.ts +1 -1
  123. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js +1 -1
  124. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
  125. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +2 -2
  126. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +2 -2
  127. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  128. package/Rendering/prePassEffectConfiguration.d.ts +5 -0
  129. package/Rendering/prePassEffectConfiguration.js.map +1 -1
  130. package/Rendering/prePassRenderer.js +3 -0
  131. package/Rendering/prePassRenderer.js.map +1 -1
  132. package/Rendering/subSurfaceConfiguration.d.ts +6 -1
  133. package/Rendering/subSurfaceConfiguration.js +6 -1
  134. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  135. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +15 -14
  136. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  137. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +3 -0
  138. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  139. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  140. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  141. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +2 -2
  142. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  143. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +4 -4
  144. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  145. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +6 -2
  146. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  147. package/Shaders/pbr.fragment.js +6 -2
  148. package/Shaders/pbr.fragment.js.map +1 -1
  149. package/Shaders/pbr.vertex.d.ts +1 -0
  150. package/Shaders/pbr.vertex.js +12 -4
  151. package/Shaders/pbr.vertex.js.map +1 -1
  152. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +3 -0
  153. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  154. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +1 -1
  155. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
  156. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +2 -2
  157. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  158. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +7 -2
  159. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  160. package/ShadersWGSL/pbr.fragment.js +2 -1
  161. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  162. package/ShadersWGSL/pbr.vertex.d.ts +1 -0
  163. package/ShadersWGSL/pbr.vertex.js +5 -2
  164. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  165. package/assetContainer.js +13 -13
  166. package/assetContainer.js.map +1 -1
  167. package/package.json +1 -1
  168. package/scene.d.ts +4 -0
  169. package/scene.js +21 -15
  170. package/scene.js.map +1 -1
  171. package/sceneComponent.d.ts +1 -1
  172. package/sceneComponent.js.map +1 -1
package/scene.d.ts CHANGED
@@ -2116,6 +2116,10 @@ export declare class Scene implements IAnimatable, IClipPlanesHolder, IAssetCont
2116
2116
  */
2117
2117
  customRenderFunction?: (updateCameras: boolean, ignoreAnimations: boolean) => void;
2118
2118
  private _renderWithFrameGraph;
2119
+ /**
2120
+ * @internal
2121
+ */
2122
+ _renderRenderTarget(renderTarget: RenderTargetTexture, activeCamera: Nullable<Camera>, useCameraPostProcess?: boolean, dumpForDebug?: boolean): void;
2119
2123
  /**
2120
2124
  * Render the scene
2121
2125
  * @param updateCameras defines a boolean indicating if cameras must update according to their inputs (true by default)
package/scene.js CHANGED
@@ -3971,6 +3971,25 @@ export class Scene {
3971
3971
  // Render the graph
3972
3972
  this.frameGraph?.execute();
3973
3973
  }
3974
+ /**
3975
+ * @internal
3976
+ */
3977
+ _renderRenderTarget(renderTarget, activeCamera, useCameraPostProcess = false, dumpForDebug = false) {
3978
+ this._intermediateRendering = true;
3979
+ if (renderTarget._shouldRender()) {
3980
+ this._renderId++;
3981
+ this.activeCamera = activeCamera;
3982
+ if (!this.activeCamera) {
3983
+ throw new Error("Active camera not set");
3984
+ }
3985
+ // Viewport
3986
+ this._engine.setViewport(this.activeCamera.viewport);
3987
+ // Camera
3988
+ this.updateTransformMatrix();
3989
+ renderTarget.render(useCameraPostProcess, dumpForDebug);
3990
+ }
3991
+ this._intermediateRendering = false;
3992
+ }
3974
3993
  /**
3975
3994
  * Render the scene
3976
3995
  * @param updateCameras defines a boolean indicating if cameras must update according to their inputs (true by default)
@@ -4045,30 +4064,17 @@ export class Scene {
4045
4064
  this.customRenderFunction(updateCameras, ignoreAnimations);
4046
4065
  }
4047
4066
  else {
4048
- const engine = this.getEngine();
4049
4067
  // Customs render targets
4050
4068
  this.onBeforeRenderTargetsRenderObservable.notifyObservers(this);
4051
4069
  const currentActiveCamera = this.activeCameras?.length ? this.activeCameras[0] : this.activeCamera;
4052
4070
  if (this.renderTargetsEnabled) {
4053
4071
  Tools.StartPerformanceCounter("Custom render targets", this.customRenderTargets.length > 0);
4054
- this._intermediateRendering = true;
4055
4072
  for (let customIndex = 0; customIndex < this.customRenderTargets.length; customIndex++) {
4056
4073
  const renderTarget = this.customRenderTargets[customIndex];
4057
- if (renderTarget._shouldRender()) {
4058
- this._renderId++;
4059
- this.activeCamera = renderTarget.activeCamera || this.activeCamera;
4060
- if (!this.activeCamera) {
4061
- throw new Error("Active camera not set");
4062
- }
4063
- // Viewport
4064
- engine.setViewport(this.activeCamera.viewport);
4065
- // Camera
4066
- this.updateTransformMatrix();
4067
- renderTarget.render(currentActiveCamera !== this.activeCamera, this.dumpNextRenderTargets);
4068
- }
4074
+ const activeCamera = renderTarget.activeCamera || this.activeCamera;
4075
+ this._renderRenderTarget(renderTarget, activeCamera, currentActiveCamera !== activeCamera, this.dumpNextRenderTargets);
4069
4076
  }
4070
4077
  Tools.EndPerformanceCounter("Custom render targets", this.customRenderTargets.length > 0);
4071
- this._intermediateRendering = false;
4072
4078
  this._renderId++;
4073
4079
  }
4074
4080
  this._engine.currentRenderPassId = currentActiveCamera?.renderPassId ?? 0;