@babylonjs/core 9.5.1 → 9.5.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 (34) hide show
  1. package/Engines/abstractEngine.js +2 -2
  2. package/Engines/abstractEngine.js.map +1 -1
  3. package/Lights/Clustered/clusteredLightContainer.js +1 -1
  4. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  5. package/Materials/Background/backgroundMaterial.js +1 -0
  6. package/Materials/Background/backgroundMaterial.js.map +1 -1
  7. package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +2 -0
  8. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +14 -0
  9. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  10. package/Materials/Node/Blocks/Dual/lightBlock.js +1 -1
  11. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  12. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +2 -0
  13. package/Materials/Node/Blocks/Dual/textureBlock.js +19 -4
  14. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  15. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +11 -6
  16. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  17. package/Materials/PBR/openpbrMaterial.js +1 -0
  18. package/Materials/PBR/openpbrMaterial.js.map +1 -1
  19. package/Materials/PBR/pbrBaseMaterial.js +1 -0
  20. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  21. package/Materials/materialHelper.functions.d.ts +2 -1
  22. package/Materials/materialHelper.functions.js +8 -3
  23. package/Materials/materialHelper.functions.js.map +1 -1
  24. package/Materials/standardMaterial.js +1 -0
  25. package/Materials/standardMaterial.js.map +1 -1
  26. package/Meshes/Node/Blocks/bevelBlock.d.ts +52 -0
  27. package/Meshes/Node/Blocks/bevelBlock.js +1327 -0
  28. package/Meshes/Node/Blocks/bevelBlock.js.map +1 -0
  29. package/Meshes/Node/index.d.ts +1 -0
  30. package/Meshes/Node/index.js +1 -0
  31. package/Meshes/Node/index.js.map +1 -1
  32. package/Misc/tools.js +1 -1
  33. package/Misc/tools.js.map +1 -1
  34. package/package.json +1 -1
@@ -329,8 +329,9 @@ export declare function PrepareDefinesForCamera(scene: Scene, defines: any): boo
329
329
  * @param iesLightTexture defines if IES texture must be used
330
330
  * @param clusteredLightTextures defines if the clustered light textures must be used
331
331
  * @param rectAreaLightTexture defines if rect area light is using a emission texture.
332
+ * @param clusteredLightStorageBuffer defines if the clustered light tile mask uses a storage buffer instead of a texture
332
333
  */
333
- export declare function PrepareUniformsAndSamplersForLight(lightIndex: number, uniformsList: string[], samplersList: string[], projectedLightTexture?: any, uniformBuffersList?: Nullable<string[]>, updateOnlyBuffersList?: boolean, iesLightTexture?: boolean, clusteredLightTextures?: boolean, rectAreaLightTexture?: boolean): void;
334
+ export declare function PrepareUniformsAndSamplersForLight(lightIndex: number, uniformsList: string[], samplersList: string[], projectedLightTexture?: any, uniformBuffersList?: Nullable<string[]>, updateOnlyBuffersList?: boolean, iesLightTexture?: boolean, clusteredLightTextures?: boolean, rectAreaLightTexture?: boolean, clusteredLightStorageBuffer?: boolean): void;
334
335
  /**
335
336
  * Append uniforms and samplers related to IBL to the provided lists
336
337
  * @param uniformsList The list of uniforms to append to
@@ -1161,8 +1161,9 @@ export function PrepareDefinesForCamera(scene, defines) {
1161
1161
  * @param iesLightTexture defines if IES texture must be used
1162
1162
  * @param clusteredLightTextures defines if the clustered light textures must be used
1163
1163
  * @param rectAreaLightTexture defines if rect area light is using a emission texture.
1164
+ * @param clusteredLightStorageBuffer defines if the clustered light tile mask uses a storage buffer instead of a texture
1164
1165
  */
1165
- export function PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, projectedLightTexture, uniformBuffersList = null, updateOnlyBuffersList = false, iesLightTexture = false, clusteredLightTextures = false, rectAreaLightTexture = false) {
1166
+ export function PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, projectedLightTexture, uniformBuffersList = null, updateOnlyBuffersList = false, iesLightTexture = false, clusteredLightTextures = false, rectAreaLightTexture = false, clusteredLightStorageBuffer = false) {
1166
1167
  if (uniformBuffersList) {
1167
1168
  uniformBuffersList.push("Light" + lightIndex);
1168
1169
  }
@@ -1185,7 +1186,9 @@ export function PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, sam
1185
1186
  }
1186
1187
  if (clusteredLightTextures) {
1187
1188
  samplersList.push("lightDataTexture" + lightIndex);
1188
- samplersList.push("tileMaskTexture" + lightIndex);
1189
+ if (!clusteredLightStorageBuffer) {
1190
+ samplersList.push("tileMaskTexture" + lightIndex);
1191
+ }
1189
1192
  }
1190
1193
  }
1191
1194
  /**
@@ -1222,6 +1225,7 @@ export function PrepareUniformsAndSamplersForIBL(uniformsList, samplersList, use
1222
1225
  export function PrepareUniformsAndSamplersList(uniformsListOrOptions, samplersList, defines, maxSimultaneousLights = 4) {
1223
1226
  let uniformsList;
1224
1227
  let uniformBuffersList;
1228
+ let shaderLanguage = null;
1225
1229
  if (uniformsListOrOptions.uniformsNames) {
1226
1230
  const options = uniformsListOrOptions;
1227
1231
  uniformsList = options.uniformsNames;
@@ -1229,6 +1233,7 @@ export function PrepareUniformsAndSamplersList(uniformsListOrOptions, samplersLi
1229
1233
  samplersList = options.samplers;
1230
1234
  defines = options.defines;
1231
1235
  maxSimultaneousLights = options.maxSimultaneousLights || 0;
1236
+ shaderLanguage = options.shaderLanguage ?? null;
1232
1237
  }
1233
1238
  else {
1234
1239
  uniformsList = uniformsListOrOptions;
@@ -1240,7 +1245,7 @@ export function PrepareUniformsAndSamplersList(uniformsListOrOptions, samplersLi
1240
1245
  if (!defines["LIGHT" + lightIndex]) {
1241
1246
  break;
1242
1247
  }
1243
- PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffersList, false, defines["IESLIGHTTEXTURE" + lightIndex], defines["CLUSTLIGHT" + lightIndex], defines["RECTAREALIGHTEMISSIONTEXTURE" + lightIndex]);
1248
+ PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffersList, false, defines["IESLIGHTTEXTURE" + lightIndex], defines["CLUSTLIGHT" + lightIndex], defines["RECTAREALIGHTEMISSIONTEXTURE" + lightIndex], shaderLanguage === 1 /* ShaderLanguage.WGSL */);
1244
1249
  }
1245
1250
  if (defines["NUM_MORPH_INFLUENCERS"]) {
1246
1251
  uniformsList.push("morphTargetInfluences");