@babylonjs/core 8.43.0 → 8.44.0

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 (111) hide show
  1. package/Engines/WebGPU/Extensions/engine.multiRender.js +5 -10
  2. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  3. package/Engines/WebGPU/Extensions/engine.renderTarget.js +4 -2
  4. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  5. package/Engines/WebGPU/webgpuDrawContext.d.ts +8 -0
  6. package/Engines/WebGPU/webgpuDrawContext.js +8 -0
  7. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  8. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +4 -3
  9. package/Engines/WebGPU/webgpuHardwareTexture.js +27 -21
  10. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  11. package/Engines/WebGPU/webgpuTextureManager.d.ts +5 -4
  12. package/Engines/WebGPU/webgpuTextureManager.js +20 -30
  13. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  14. package/Engines/abstractEngine.js +2 -2
  15. package/Engines/abstractEngine.js.map +1 -1
  16. package/Engines/engine.d.ts +1 -0
  17. package/Engines/thinEngine.js +9 -1
  18. package/Engines/thinEngine.js.map +1 -1
  19. package/Engines/thinWebGPUEngine.js +2 -3
  20. package/Engines/thinWebGPUEngine.js.map +1 -1
  21. package/Engines/webgpuEngine.js +28 -13
  22. package/Engines/webgpuEngine.js.map +1 -1
  23. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +2 -2
  24. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  25. package/FrameGraph/Node/Blocks/Textures/clearBlock.d.ts +1 -1
  26. package/FrameGraph/Node/Blocks/Textures/clearBlock.js +2 -2
  27. package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -1
  28. package/FrameGraph/Node/Blocks/inputBlock.js +4 -0
  29. package/FrameGraph/Node/Blocks/inputBlock.js.map +1 -1
  30. package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +1 -0
  31. package/FrameGraph/Node/nodeRenderGraphBlock.js +19 -0
  32. package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
  33. package/FrameGraph/Passes/renderPass.d.ts +16 -0
  34. package/FrameGraph/Passes/renderPass.js +12 -0
  35. package/FrameGraph/Passes/renderPass.js.map +1 -1
  36. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +3 -3
  37. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +3 -2
  38. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  39. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +2 -2
  40. package/FrameGraph/Tasks/Texture/clearTextureTask.js +3 -2
  41. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  42. package/FrameGraph/frameGraphRenderContext.js +4 -15
  43. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  44. package/FrameGraph/frameGraphTask.d.ts +2 -2
  45. package/FrameGraph/frameGraphTask.js +6 -6
  46. package/FrameGraph/frameGraphTask.js.map +1 -1
  47. package/FrameGraph/frameGraphTaskMultiRenderTarget.d.ts +15 -0
  48. package/FrameGraph/frameGraphTaskMultiRenderTarget.js +25 -0
  49. package/FrameGraph/frameGraphTaskMultiRenderTarget.js.map +1 -0
  50. package/FrameGraph/frameGraphTextureManager.js +13 -2
  51. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  52. package/FrameGraph/frameGraphTypes.d.ts +9 -1
  53. package/FrameGraph/frameGraphTypes.js.map +1 -1
  54. package/Materials/Textures/textureCreationOptions.d.ts +2 -0
  55. package/Materials/Textures/textureCreationOptions.js +0 -1
  56. package/Materials/Textures/textureCreationOptions.js.map +1 -1
  57. package/Materials/index.d.ts +1 -0
  58. package/Materials/index.js +1 -0
  59. package/Materials/index.js.map +1 -1
  60. package/Materials/shaderMaterial.d.ts +1 -0
  61. package/Materials/shaderMaterial.js +22 -7
  62. package/Materials/shaderMaterial.js.map +1 -1
  63. package/Materials/vertexPullingHelper.functions.d.ts +32 -0
  64. package/Materials/vertexPullingHelper.functions.js +60 -0
  65. package/Materials/vertexPullingHelper.functions.js.map +1 -0
  66. package/Meshes/abstractMesh.js +1 -1
  67. package/Meshes/abstractMesh.js.map +1 -1
  68. package/Meshes/geometry.js +1 -0
  69. package/Meshes/geometry.js.map +1 -1
  70. package/Particles/solidParticleSystem.d.ts +2 -1
  71. package/Particles/solidParticleSystem.js.map +1 -1
  72. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +4 -0
  73. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
  74. package/Shaders/ShadersInclude/lightFragment.js +7 -5
  75. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  76. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  77. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  78. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  79. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  80. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  81. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  82. package/Shaders/ShadersInclude/openpbrDirectLighting.js +4 -4
  83. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  84. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js +4 -2
  85. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js.map +1 -1
  86. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +4 -12
  87. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  88. package/Shaders/picking.vertex.js +2 -2
  89. package/Shaders/picking.vertex.js.map +1 -1
  90. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +2 -2
  91. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  92. package/ShadersWGSL/ShadersInclude/lightFragment.js +6 -4
  93. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  94. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +1 -1
  95. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  96. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  97. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  98. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +1 -1
  99. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  100. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +4 -4
  101. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  102. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js +4 -2
  103. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js.map +1 -1
  104. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js +8 -14
  105. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  106. package/ShadersWGSL/iblVoxelGrid.vertex.d.ts +2 -0
  107. package/ShadersWGSL/iblVoxelGrid.vertex.js +78 -8
  108. package/ShadersWGSL/iblVoxelGrid.vertex.js.map +1 -1
  109. package/ShadersWGSL/picking.vertex.js +2 -2
  110. package/ShadersWGSL/picking.vertex.js.map +1 -1
  111. package/package.json +1 -1
@@ -1991,6 +1991,7 @@ class GPUTexture implements GPUObjectBase {
1991
1991
  readonly dimension: GPUTextureDimension;
1992
1992
  readonly format: GPUTextureFormat;
1993
1993
  readonly usage: GPUFlagsConstant;
1994
+ readonly textureBindingViewDimension: GPUTextureViewDimension | undefined;
1994
1995
  }
1995
1996
 
1996
1997
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
@@ -2387,6 +2387,7 @@ export class ThinEngine extends AbstractEngine {
2387
2387
  let label;
2388
2388
  let createMSAATexture = false;
2389
2389
  let comparisonFunction = 0;
2390
+ let isCube = false;
2390
2391
  if (options !== undefined && typeof options === "object") {
2391
2392
  generateMipMaps = !!options.generateMipMaps;
2392
2393
  createMipMaps = !!options.createMipMaps;
@@ -2398,6 +2399,7 @@ export class ThinEngine extends AbstractEngine {
2398
2399
  label = options.label;
2399
2400
  createMSAATexture = !!options.createMSAATexture;
2400
2401
  comparisonFunction = options.comparisonFunction || 0;
2402
+ isCube = !!options.isCube;
2401
2403
  }
2402
2404
  else {
2403
2405
  generateMipMaps = !!options;
@@ -2424,7 +2426,7 @@ export class ThinEngine extends AbstractEngine {
2424
2426
  const depth = size.depth || 0;
2425
2427
  const layers = size.layers || 0;
2426
2428
  const filters = this._getSamplingParameters(samplingMode, (generateMipMaps || createMipMaps) && !isDepthTexture);
2427
- const target = layers !== 0 ? gl.TEXTURE_2D_ARRAY : depth !== 0 ? gl.TEXTURE_3D : gl.TEXTURE_2D;
2429
+ const target = layers !== 0 ? gl.TEXTURE_2D_ARRAY : depth !== 0 ? gl.TEXTURE_3D : isCube ? gl.TEXTURE_CUBE_MAP : gl.TEXTURE_2D;
2428
2430
  const sizedFormat = isDepthTexture
2429
2431
  ? this._getInternalFormatFromDepthTextureFormat(format, true, hasStencil)
2430
2432
  : this._getRGBABufferInternalSizedFormat(type, format, useSRGBBuffer);
@@ -2440,6 +2442,12 @@ export class ThinEngine extends AbstractEngine {
2440
2442
  texture.is3D = true;
2441
2443
  gl.texImage3D(target, 0, sizedFormat, width, height, depth, 0, internalFormat, textureType, null);
2442
2444
  }
2445
+ else if (isCube) {
2446
+ texture.isCube = true;
2447
+ for (let face = 0; face < 6; face++) {
2448
+ gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, sizedFormat, width, height, 0, internalFormat, textureType, null);
2449
+ }
2450
+ }
2443
2451
  else {
2444
2452
  gl.texImage2D(target, 0, sizedFormat, width, height, 0, internalFormat, textureType, null);
2445
2453
  }