@babylonjs/core 7.21.0 → 7.21.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 (200) hide show
  1. package/Animations/easing.d.ts +20 -20
  2. package/Animations/easing.js +10 -10
  3. package/Animations/easing.js.map +1 -1
  4. package/Buffers/buffer.nonFloatVertexBuffers.js +2 -1
  5. package/Buffers/buffer.nonFloatVertexBuffers.js.map +1 -1
  6. package/Cameras/VR/vrExperienceHelper.d.ts +2 -2
  7. package/Cameras/VR/vrExperienceHelper.js +1 -1
  8. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  9. package/Collisions/gpuPicker.d.ts +9 -4
  10. package/Collisions/gpuPicker.js +64 -44
  11. package/Collisions/gpuPicker.js.map +1 -1
  12. package/Collisions/index.d.ts +4 -0
  13. package/Collisions/index.js +4 -0
  14. package/Collisions/index.js.map +1 -1
  15. package/Culling/Helper/computeShaderBoundingHelper.js +0 -3
  16. package/Culling/Helper/computeShaderBoundingHelper.js.map +1 -1
  17. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +0 -1
  18. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +0 -1
  19. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  20. package/Engines/abstractEngine.d.ts +2 -1
  21. package/Engines/abstractEngine.js +2 -2
  22. package/Engines/abstractEngine.js.map +1 -1
  23. package/Engines/nativeEngine.js +0 -3
  24. package/Engines/nativeEngine.js.map +1 -1
  25. package/Engines/thinEngine.d.ts +2 -1
  26. package/Engines/thinEngine.js +3 -2
  27. package/Engines/thinEngine.js.map +1 -1
  28. package/Engines/webgpuEngine.d.ts +3 -1
  29. package/Engines/webgpuEngine.js +6 -3
  30. package/Engines/webgpuEngine.js.map +1 -1
  31. package/Gizmos/gizmo.d.ts +2 -2
  32. package/Gizmos/gizmo.js +1 -1
  33. package/Gizmos/gizmo.js.map +1 -1
  34. package/Layers/effectLayer.d.ts +1 -1
  35. package/Layers/effectLayer.js +18 -16
  36. package/Layers/effectLayer.js.map +1 -1
  37. package/Layers/glowLayer.d.ts +1 -1
  38. package/Layers/glowLayer.js +3 -5
  39. package/Layers/glowLayer.js.map +1 -1
  40. package/Layers/highlightLayer.d.ts +1 -1
  41. package/Layers/highlightLayer.js +7 -9
  42. package/Layers/highlightLayer.js.map +1 -1
  43. package/Layers/layer.d.ts +0 -1
  44. package/Layers/layer.js +15 -17
  45. package/Layers/layer.js.map +1 -1
  46. package/Lights/Shadows/cascadedShadowGenerator.d.ts +0 -3
  47. package/Lights/Shadows/cascadedShadowGenerator.js +0 -3
  48. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  49. package/Materials/Background/backgroundMaterial.d.ts +0 -1
  50. package/Materials/Background/backgroundMaterial.js +20 -20
  51. package/Materials/Background/backgroundMaterial.js.map +1 -1
  52. package/Materials/PBR/pbrBaseMaterial.d.ts +0 -1
  53. package/Materials/PBR/pbrBaseMaterial.js +34 -39
  54. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  55. package/Materials/effect.d.ts +7 -2
  56. package/Materials/effect.js +7 -3
  57. package/Materials/effect.js.map +1 -1
  58. package/Materials/shaderMaterial.d.ts +4 -0
  59. package/Materials/shaderMaterial.js +1 -0
  60. package/Materials/shaderMaterial.js.map +1 -1
  61. package/Materials/standardMaterial.d.ts +0 -1
  62. package/Materials/standardMaterial.js +20 -20
  63. package/Materials/standardMaterial.js.map +1 -1
  64. package/Maths/math.isovector.js +6 -6
  65. package/Maths/math.isovector.js.map +1 -1
  66. package/Meshes/Builders/geodesicBuilder.js +2 -2
  67. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  68. package/Meshes/Builders/goldbergBuilder.js +2 -2
  69. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  70. package/Meshes/linesMesh.d.ts +0 -2
  71. package/Meshes/linesMesh.js +16 -20
  72. package/Meshes/linesMesh.js.map +1 -1
  73. package/Misc/assetsManager.d.ts +16 -16
  74. package/Misc/assetsManager.js +8 -8
  75. package/Misc/assetsManager.js.map +1 -1
  76. package/Misc/copyTextureToTexture.d.ts +9 -1
  77. package/Misc/copyTextureToTexture.js +23 -2
  78. package/Misc/copyTextureToTexture.js.map +1 -1
  79. package/Misc/environmentTextureTools.d.ts +0 -2
  80. package/Misc/environmentTextureTools.js +0 -2
  81. package/Misc/environmentTextureTools.js.map +1 -1
  82. package/Misc/index.d.ts +2 -0
  83. package/Misc/index.js +3 -0
  84. package/Misc/index.js.map +1 -1
  85. package/Misc/sceneOptimizer.d.ts +16 -16
  86. package/Misc/sceneOptimizer.js +8 -8
  87. package/Misc/sceneOptimizer.js.map +1 -1
  88. package/Particles/EmitterTypes/coneParticleEmitter.d.ts +4 -4
  89. package/Particles/EmitterTypes/coneParticleEmitter.js +2 -2
  90. package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
  91. package/Particles/EmitterTypes/cylinderParticleEmitter.d.ts +4 -4
  92. package/Particles/EmitterTypes/cylinderParticleEmitter.js +2 -2
  93. package/Particles/EmitterTypes/cylinderParticleEmitter.js.map +1 -1
  94. package/Particles/EmitterTypes/sphereParticleEmitter.d.ts +4 -4
  95. package/Particles/EmitterTypes/sphereParticleEmitter.js +2 -2
  96. package/Particles/EmitterTypes/sphereParticleEmitter.js.map +1 -1
  97. package/Particles/particleSystemComponent.d.ts +0 -1
  98. package/Particles/particleSystemComponent.js +8 -2
  99. package/Particles/particleSystemComponent.js.map +1 -1
  100. package/Particles/thinParticleSystem.d.ts +0 -2
  101. package/Particles/thinParticleSystem.js +0 -2
  102. package/Particles/thinParticleSystem.js.map +1 -1
  103. package/Physics/v1/physicsJoint.js +0 -3
  104. package/Physics/v1/physicsJoint.js.map +1 -1
  105. package/Physics/v2/physicsConstraint.d.ts +14 -20
  106. package/Physics/v2/physicsConstraint.js +14 -20
  107. package/Physics/v2/physicsConstraint.js.map +1 -1
  108. package/PostProcesses/anaglyphPostProcess.d.ts +1 -2
  109. package/PostProcesses/anaglyphPostProcess.js +4 -5
  110. package/PostProcesses/anaglyphPostProcess.js.map +1 -1
  111. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -1
  112. package/PostProcesses/blackAndWhitePostProcess.js +4 -4
  113. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  114. package/PostProcesses/bloomMergePostProcess.d.ts +1 -1
  115. package/PostProcesses/bloomMergePostProcess.js +4 -4
  116. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  117. package/PostProcesses/blurPostProcess.d.ts +1 -3
  118. package/PostProcesses/blurPostProcess.js +4 -6
  119. package/PostProcesses/blurPostProcess.js.map +1 -1
  120. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -1
  121. package/PostProcesses/chromaticAberrationPostProcess.js +4 -4
  122. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  123. package/PostProcesses/circleOfConfusionPostProcess.d.ts +1 -1
  124. package/PostProcesses/circleOfConfusionPostProcess.js +4 -4
  125. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  126. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -1
  127. package/PostProcesses/colorCorrectionPostProcess.js +4 -4
  128. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  129. package/PostProcesses/convolutionPostProcess.d.ts +1 -1
  130. package/PostProcesses/convolutionPostProcess.js +4 -4
  131. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  132. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +1 -1
  133. package/PostProcesses/depthOfFieldMergePostProcess.js +4 -4
  134. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  135. package/PostProcesses/displayPassPostProcess.d.ts +1 -1
  136. package/PostProcesses/displayPassPostProcess.js +10 -1
  137. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  138. package/PostProcesses/extractHighlightsPostProcess.d.ts +1 -1
  139. package/PostProcesses/extractHighlightsPostProcess.js +4 -4
  140. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  141. package/PostProcesses/filterPostProcess.d.ts +1 -1
  142. package/PostProcesses/filterPostProcess.js +10 -1
  143. package/PostProcesses/filterPostProcess.js.map +1 -1
  144. package/PostProcesses/fxaaPostProcess.d.ts +1 -1
  145. package/PostProcesses/fxaaPostProcess.js +4 -4
  146. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  147. package/PostProcesses/grainPostProcess.d.ts +1 -2
  148. package/PostProcesses/grainPostProcess.js +4 -5
  149. package/PostProcesses/grainPostProcess.js.map +1 -1
  150. package/PostProcesses/highlightsPostProcess.d.ts +1 -1
  151. package/PostProcesses/highlightsPostProcess.js +10 -1
  152. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  153. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  154. package/PostProcesses/imageProcessingPostProcess.js +4 -4
  155. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  156. package/PostProcesses/index.d.ts +8 -0
  157. package/PostProcesses/index.js +12 -0
  158. package/PostProcesses/index.js.map +1 -1
  159. package/PostProcesses/motionBlurPostProcess.d.ts +1 -1
  160. package/PostProcesses/motionBlurPostProcess.js +4 -4
  161. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  162. package/PostProcesses/passPostProcess.d.ts +2 -2
  163. package/PostProcesses/passPostProcess.js +8 -8
  164. package/PostProcesses/passPostProcess.js.map +1 -1
  165. package/PostProcesses/postProcess.d.ts +5 -4
  166. package/PostProcesses/postProcess.js +14 -27
  167. package/PostProcesses/postProcess.js.map +1 -1
  168. package/PostProcesses/sharpenPostProcess.d.ts +1 -1
  169. package/PostProcesses/sharpenPostProcess.js +4 -4
  170. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  171. package/PostProcesses/tonemapPostProcess.d.ts +1 -1
  172. package/PostProcesses/tonemapPostProcess.js +10 -1
  173. package/PostProcesses/tonemapPostProcess.js.map +1 -1
  174. package/PostProcesses/vrDistortionCorrectionPostProcess.d.ts +1 -1
  175. package/PostProcesses/vrDistortionCorrectionPostProcess.js +4 -4
  176. package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
  177. package/ShadersWGSL/copyTextureToTexture.fragment.d.ts +6 -0
  178. package/ShadersWGSL/copyTextureToTexture.fragment.js +21 -0
  179. package/ShadersWGSL/copyTextureToTexture.fragment.js.map +1 -0
  180. package/ShadersWGSL/displayPass.fragment.d.ts +5 -0
  181. package/ShadersWGSL/displayPass.fragment.js +12 -0
  182. package/ShadersWGSL/displayPass.fragment.js.map +1 -0
  183. package/ShadersWGSL/filter.fragment.d.ts +5 -0
  184. package/ShadersWGSL/filter.fragment.js +12 -0
  185. package/ShadersWGSL/filter.fragment.js.map +1 -0
  186. package/ShadersWGSL/highlights.fragment.d.ts +5 -0
  187. package/ShadersWGSL/highlights.fragment.js +12 -0
  188. package/ShadersWGSL/highlights.fragment.js.map +1 -0
  189. package/ShadersWGSL/picking.fragment.d.ts +5 -0
  190. package/ShadersWGSL/picking.fragment.js +21 -0
  191. package/ShadersWGSL/picking.fragment.js.map +1 -0
  192. package/ShadersWGSL/picking.vertex.d.ts +15 -0
  193. package/ShadersWGSL/picking.vertex.js +43 -0
  194. package/ShadersWGSL/picking.vertex.js.map +1 -0
  195. package/ShadersWGSL/tonemap.fragment.d.ts +5 -0
  196. package/ShadersWGSL/tonemap.fragment.js +29 -0
  197. package/ShadersWGSL/tonemap.fragment.js.map +1 -0
  198. package/XR/features/WebXRControllerPointerSelection.js +1 -1
  199. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  200. package/package.json +1 -1
@@ -136,6 +136,7 @@ export declare class WebGPUEngine extends AbstractEngine {
136
136
  _options: WebGPUEngineOptions;
137
137
  private _glslang;
138
138
  private _tintWASM;
139
+ private _glslangAndTintAreFullyLoaded;
139
140
  private _adapter;
140
141
  private _adapterSupportedExtensions;
141
142
  private _adapterInfo;
@@ -624,12 +625,13 @@ export declare class WebGPUEngine extends AbstractEngine {
624
625
  * @param onError defines a function to call when the effect creation has failed
625
626
  * @param indexParameters defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)
626
627
  * @param shaderLanguage the language the shader is written in (default: GLSL)
628
+ * @param extraInitializationsAsync additional async code to run before preparing the effect
627
629
  * @returns the new Effect
628
630
  */
629
631
  createEffect(baseName: string | (IShaderPath & {
630
632
  vertexToken?: string;
631
633
  fragmentToken?: string;
632
- }), attributesNamesOrOptions: string[] | IEffectCreationOptions, uniformsNamesOrEngine: string[] | AbstractEngine, samplers?: string[], defines?: string, fallbacks?: EffectFallbacks, onCompiled?: Nullable<(effect: Effect) => void>, onError?: Nullable<(effect: Effect, errors: string) => void>, indexParameters?: any, shaderLanguage?: ShaderLanguage): Effect;
634
+ }), attributesNamesOrOptions: string[] | IEffectCreationOptions, uniformsNamesOrEngine: string[] | AbstractEngine, samplers?: string[], defines?: string, fallbacks?: EffectFallbacks, onCompiled?: Nullable<(effect: Effect) => void>, onError?: Nullable<(effect: Effect, errors: string) => void>, indexParameters?: any, shaderLanguage?: ShaderLanguage, extraInitializationsAsync?: () => Promise<void>): Effect;
633
635
  private _compileRawShaderToSpirV;
634
636
  private _compileShaderToSpirV;
635
637
  private _getWGSLShader;
@@ -267,6 +267,7 @@ export class WebGPUEngine extends AbstractEngine {
267
267
  this._defaultSampleCount = 4; // Only supported value for now.
268
268
  this._glslang = null;
269
269
  this._tintWASM = null;
270
+ this._glslangAndTintAreFullyLoaded = false;
270
271
  this._adapterInfo = {
271
272
  vendor: "",
272
273
  architecture: "",
@@ -396,6 +397,7 @@ export class WebGPUEngine extends AbstractEngine {
396
397
  this._glslang = glslang;
397
398
  this._tintWASM = new WebGPUTintWASM();
398
399
  this._tintWASM.initTwgsl(this._twgslOptions ?? this._options?.twgslOptions).then(() => {
400
+ this._glslangAndTintAreFullyLoaded = true;
399
401
  resolve();
400
402
  });
401
403
  });
@@ -1479,9 +1481,10 @@ export class WebGPUEngine extends AbstractEngine {
1479
1481
  * @param onError defines a function to call when the effect creation has failed
1480
1482
  * @param indexParameters defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)
1481
1483
  * @param shaderLanguage the language the shader is written in (default: GLSL)
1484
+ * @param extraInitializationsAsync additional async code to run before preparing the effect
1482
1485
  * @returns the new Effect
1483
1486
  */
1484
- createEffect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, defines, fallbacks, onCompiled, onError, indexParameters, shaderLanguage = 0 /* ShaderLanguage.GLSL */) {
1487
+ createEffect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, defines, fallbacks, onCompiled, onError, indexParameters, shaderLanguage = 0 /* ShaderLanguage.GLSL */, extraInitializationsAsync) {
1485
1488
  const vertex = typeof baseName === "string" ? baseName : baseName.vertexToken || baseName.vertexSource || baseName.vertexElement || baseName.vertex;
1486
1489
  const fragment = typeof baseName === "string" ? baseName : baseName.fragmentToken || baseName.fragmentSource || baseName.fragmentElement || baseName.fragment;
1487
1490
  const globalDefines = this._getGlobalDefines();
@@ -1498,7 +1501,7 @@ export class WebGPUEngine extends AbstractEngine {
1498
1501
  compiledEffect._refCount++;
1499
1502
  return compiledEffect;
1500
1503
  }
1501
- const effect = new Effect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, this, defines, fallbacks, onCompiled, onError, indexParameters, name, attributesNamesOrOptions.shaderLanguage ?? shaderLanguage);
1504
+ const effect = new Effect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, this, defines, fallbacks, onCompiled, onError, indexParameters, name, attributesNamesOrOptions.shaderLanguage ?? shaderLanguage, attributesNamesOrOptions.extraInitializationsAsync ?? extraInitializationsAsync);
1502
1505
  this._compiledEffects[name] = effect;
1503
1506
  return effect;
1504
1507
  }
@@ -1612,7 +1615,7 @@ export class WebGPUEngine extends AbstractEngine {
1612
1615
  async _preparePipelineContext(pipelineContext, vertexSourceCode, fragmentSourceCode, createAsRaw, rawVertexSourceCode, rawFragmentSourceCode, _rebuildRebind, defines, _transformFeedbackVaryings, _key, onReady) {
1613
1616
  const webGpuContext = pipelineContext;
1614
1617
  const shaderLanguage = webGpuContext.shaderProcessingContext.shaderLanguage;
1615
- if (shaderLanguage === 0 /* ShaderLanguage.GLSL */ && (!this._glslang || !this._tintWASM)) {
1618
+ if (shaderLanguage === 0 /* ShaderLanguage.GLSL */ && !this._glslangAndTintAreFullyLoaded) {
1616
1619
  await this.prepareGlslangAndTintAsync();
1617
1620
  }
1618
1621
  if (this.dbgShowShaderCode) {