@babylonjs/core 5.0.0-alpha.60 → 5.0.0-alpha.64

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 (709) hide show
  1. package/Animations/animation.d.ts +20 -0
  2. package/Animations/animation.js +99 -10
  3. package/Animations/animation.js.map +1 -1
  4. package/Animations/animationGroup.d.ts +5 -1
  5. package/Animations/animationGroup.js +19 -1
  6. package/Animations/animationGroup.js.map +1 -1
  7. package/Animations/animationKey.d.ts +4 -0
  8. package/Animations/animationKey.js +4 -0
  9. package/Animations/animationKey.js.map +1 -1
  10. package/Audio/sound.js +15 -1
  11. package/Audio/sound.js.map +1 -1
  12. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +130 -0
  13. package/BakedVertexAnimation/bakedVertexAnimationManager.js +134 -0
  14. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -0
  15. package/BakedVertexAnimation/index.d.ts +2 -0
  16. package/BakedVertexAnimation/index.js +3 -0
  17. package/BakedVertexAnimation/index.js.map +1 -0
  18. package/BakedVertexAnimation/vertexAnimationBaker.d.ts +65 -0
  19. package/BakedVertexAnimation/vertexAnimationBaker.js +155 -0
  20. package/BakedVertexAnimation/vertexAnimationBaker.js.map +1 -0
  21. package/Behaviors/Cameras/autoRotationBehavior.d.ts +5 -0
  22. package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
  23. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  24. package/Behaviors/Cameras/framingBehavior.d.ts +5 -0
  25. package/Behaviors/Cameras/framingBehavior.js +8 -1
  26. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  27. package/Behaviors/Meshes/followBehavior.js +1 -1
  28. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  29. package/Behaviors/Meshes/handConstraintBehavior.js +16 -12
  30. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  31. package/Bones/bone.d.ts +3 -1
  32. package/Bones/bone.js +4 -1
  33. package/Bones/bone.js.map +1 -1
  34. package/Cameras/Inputs/BaseCameraPointersInput.js +4 -6
  35. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  36. package/Cameras/Inputs/flyCameraMouseInput.js +4 -4
  37. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  38. package/Cameras/Inputs/freeCameraMouseInput.js +4 -4
  39. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  40. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +1 -1
  41. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
  42. package/Cameras/VR/vrExperienceHelper.d.ts +1 -1
  43. package/Cameras/VR/vrExperienceHelper.js +1 -1
  44. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  45. package/Cameras/camera.js +8 -2
  46. package/Cameras/camera.js.map +1 -1
  47. package/Cameras/targetCamera.js +1 -1
  48. package/Cameras/targetCamera.js.map +1 -1
  49. package/Culling/boundingBox.d.ts +4 -0
  50. package/Culling/boundingBox.js +8 -0
  51. package/Culling/boundingBox.js.map +1 -1
  52. package/Debug/physicsViewer.js +1 -1
  53. package/Debug/physicsViewer.js.map +1 -1
  54. package/Debug/skeletonViewer.js +2 -2
  55. package/Debug/skeletonViewer.js.map +1 -1
  56. package/DeviceInput/Implementations/{nativeDeviceInputWrapper.d.ts → nativeDeviceInputSystem.d.ts} +11 -22
  57. package/DeviceInput/Implementations/nativeDeviceInputSystem.js +80 -0
  58. package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +1 -0
  59. package/DeviceInput/Implementations/webDeviceInputSystem.d.ts +7 -20
  60. package/DeviceInput/Implementations/webDeviceInputSystem.js +80 -72
  61. package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
  62. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -2
  63. package/DeviceInput/InputDevices/deviceSourceManager.js +5 -1
  64. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  65. package/DeviceInput/Interfaces/inputInterfaces.d.ts +6 -13
  66. package/DeviceInput/Interfaces/inputInterfaces.js.map +1 -1
  67. package/DeviceInput/deviceInputSystem.d.ts +49 -5
  68. package/DeviceInput/deviceInputSystem.js +66 -9
  69. package/DeviceInput/deviceInputSystem.js.map +1 -1
  70. package/DeviceInput/index.d.ts +1 -1
  71. package/DeviceInput/index.js +1 -1
  72. package/DeviceInput/index.js.map +1 -1
  73. package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -1
  74. package/Engines/Extensions/engine.dynamicTexture.js +2 -1
  75. package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
  76. package/Engines/Extensions/engine.multiview.js +17 -6
  77. package/Engines/Extensions/engine.multiview.js.map +1 -1
  78. package/Engines/Extensions/engine.views.d.ts +1 -1
  79. package/Engines/Extensions/engine.views.js +1 -1
  80. package/Engines/Extensions/engine.views.js.map +1 -1
  81. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  82. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  83. package/Engines/Processors/shaderProcessingOptions.d.ts +5 -0
  84. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  85. package/Engines/Processors/shaderProcessor.js +8 -2
  86. package/Engines/Processors/shaderProcessor.js.map +1 -1
  87. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +3 -11
  88. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  89. package/Engines/WebGPU/Extensions/engine.multiRender.js +0 -4
  90. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  91. package/Engines/WebGPU/Extensions/engine.query.js +19 -3
  92. package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
  93. package/Engines/WebGPU/Extensions/engine.renderTarget.js +0 -4
  94. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  95. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  96. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  97. package/Engines/WebGPU/webgpuBundleList.d.ts +13 -0
  98. package/Engines/WebGPU/webgpuBundleList.js +27 -0
  99. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  100. package/Engines/WebGPU/webgpuCacheBindGroups.js +3 -3
  101. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  102. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +42 -61
  103. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  104. package/Engines/WebGPU/webgpuCacheSampler.js +6 -4
  105. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  106. package/Engines/WebGPU/webgpuClearQuad.js +17 -8
  107. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  108. package/Engines/WebGPU/webgpuComputeContext.js +2 -2
  109. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  110. package/Engines/WebGPU/webgpuConstants.d.ts +57 -13
  111. package/Engines/WebGPU/webgpuConstants.js +62 -13
  112. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  113. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +27 -3
  114. package/Engines/WebGPU/webgpuHardwareTexture.js +12 -2
  115. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  116. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -0
  117. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  118. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +2 -0
  119. package/Engines/WebGPU/webgpuShaderProcessor.js +23 -0
  120. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  121. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -0
  122. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +17 -1
  123. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  124. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +7 -2
  125. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +16 -29
  126. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  127. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +27 -0
  128. package/Engines/WebGPU/webgpuSnapshotRendering.js +107 -0
  129. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -0
  130. package/Engines/WebGPU/webgpuTextureHelper.d.ts +4 -4
  131. package/Engines/WebGPU/webgpuTextureHelper.js +277 -83
  132. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  133. package/Engines/constants.d.ts +2 -0
  134. package/Engines/constants.js +2 -0
  135. package/Engines/constants.js.map +1 -1
  136. package/Engines/engine.d.ts +157 -46
  137. package/Engines/engine.js +38 -1
  138. package/Engines/engine.js.map +1 -1
  139. package/Engines/engineFeatures.d.ts +2 -0
  140. package/Engines/engineFeatures.js.map +1 -1
  141. package/Engines/index.d.ts +1 -0
  142. package/Engines/index.js +1 -0
  143. package/Engines/index.js.map +1 -1
  144. package/Engines/nativeEngine.js +34 -17
  145. package/Engines/nativeEngine.js.map +1 -1
  146. package/Engines/nullEngine.js +1 -0
  147. package/Engines/nullEngine.js.map +1 -1
  148. package/Engines/renderTargetWrapper.d.ts +1 -1
  149. package/Engines/renderTargetWrapper.js +1 -1
  150. package/Engines/renderTargetWrapper.js.map +1 -1
  151. package/Engines/thinEngine.d.ts +0 -11
  152. package/Engines/thinEngine.js +12 -40
  153. package/Engines/thinEngine.js.map +1 -1
  154. package/Engines/webgpuEngine.d.ts +11 -19
  155. package/Engines/webgpuEngine.js +46 -126
  156. package/Engines/webgpuEngine.js.map +1 -1
  157. package/Gizmos/positionGizmo.js +1 -1
  158. package/Gizmos/positionGizmo.js.map +1 -1
  159. package/Helpers/sceneHelpers.d.ts +3 -3
  160. package/Helpers/sceneHelpers.js +1 -2
  161. package/Helpers/sceneHelpers.js.map +1 -1
  162. package/Inputs/scene.inputManager.js +18 -15
  163. package/Inputs/scene.inputManager.js.map +1 -1
  164. package/Layers/effectLayer.d.ts +13 -1
  165. package/Layers/effectLayer.js +115 -65
  166. package/Layers/effectLayer.js.map +1 -1
  167. package/Layers/glowLayer.d.ts +8 -0
  168. package/Layers/glowLayer.js +7 -3
  169. package/Layers/glowLayer.js.map +1 -1
  170. package/Layers/highlightLayer.d.ts +2 -1
  171. package/Layers/highlightLayer.js +8 -3
  172. package/Layers/highlightLayer.js.map +1 -1
  173. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -0
  174. package/Lights/Shadows/cascadedShadowGenerator.js +14 -0
  175. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  176. package/Lights/Shadows/shadowGenerator.d.ts +4 -0
  177. package/Lights/Shadows/shadowGenerator.js +31 -3
  178. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  179. package/Lights/light.js +10 -1
  180. package/Lights/light.js.map +1 -1
  181. package/Lights/pointLight.js +1 -1
  182. package/Lights/pointLight.js.map +1 -1
  183. package/Lights/spotLight.js +1 -1
  184. package/Lights/spotLight.js.map +1 -1
  185. package/Loading/Plugins/babylonFileLoader.js +20 -4
  186. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  187. package/Materials/Background/backgroundMaterial.js +1 -0
  188. package/Materials/Background/backgroundMaterial.js.map +1 -1
  189. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +10 -0
  190. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +31 -0
  191. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  192. package/Materials/Node/Blocks/Fragment/index.d.ts +2 -0
  193. package/Materials/Node/Blocks/Fragment/index.js +2 -0
  194. package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
  195. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.d.ts +41 -0
  196. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +128 -0
  197. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -0
  198. package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +49 -0
  199. package/Materials/Node/Blocks/Fragment/twirlBlock.js +145 -0
  200. package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -0
  201. package/Materials/Node/Blocks/Input/inputBlock.js +1 -1
  202. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  203. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.d.ts +1 -0
  204. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +15 -0
  205. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  206. package/Materials/Node/Blocks/customBlock.d.ts +31 -0
  207. package/Materials/Node/Blocks/customBlock.js +144 -0
  208. package/Materials/Node/Blocks/customBlock.js.map +1 -0
  209. package/Materials/Node/Blocks/index.d.ts +2 -0
  210. package/Materials/Node/Blocks/index.js +2 -0
  211. package/Materials/Node/Blocks/index.js.map +1 -1
  212. package/Materials/Node/Blocks/vectorMergerBlock.js +4 -4
  213. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  214. package/Materials/Node/Blocks/voronoiNoiseBlock.d.ts +39 -0
  215. package/Materials/Node/Blocks/voronoiNoiseBlock.js +107 -0
  216. package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -0
  217. package/Materials/Node/Blocks/worleyNoise3DBlock.d.ts +8 -0
  218. package/Materials/Node/Blocks/worleyNoise3DBlock.js +34 -2
  219. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  220. package/Materials/Node/nodeMaterial.d.ts +1 -0
  221. package/Materials/Node/nodeMaterial.js +10 -0
  222. package/Materials/Node/nodeMaterial.js.map +1 -1
  223. package/Materials/Node/nodeMaterialBlock.js +1 -1
  224. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  225. package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +5 -0
  226. package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
  227. package/Materials/PBR/index.d.ts +4 -0
  228. package/Materials/PBR/index.js +4 -0
  229. package/Materials/PBR/index.js.map +1 -1
  230. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +28 -96
  231. package/Materials/PBR/pbrAnisotropicConfiguration.js +50 -111
  232. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  233. package/Materials/PBR/pbrBRDFConfiguration.d.ts +11 -37
  234. package/Materials/PBR/pbrBRDFConfiguration.js +39 -52
  235. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  236. package/Materials/PBR/pbrBaseMaterial.d.ts +17 -74
  237. package/Materials/PBR/pbrBaseMaterial.js +75 -183
  238. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  239. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  240. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +23 -98
  241. package/Materials/PBR/pbrClearCoatConfiguration.js +91 -143
  242. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  243. package/Materials/PBR/pbrSheenConfiguration.d.ts +25 -93
  244. package/Materials/PBR/pbrSheenConfiguration.js +71 -126
  245. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  246. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +29 -104
  247. package/Materials/PBR/pbrSubSurfaceConfiguration.js +158 -204
  248. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  249. package/Materials/Textures/dynamicTexture.d.ts +3 -2
  250. package/Materials/Textures/dynamicTexture.js +5 -3
  251. package/Materials/Textures/dynamicTexture.js.map +1 -1
  252. package/Materials/Textures/hdrCubeTexture.d.ts +9 -0
  253. package/Materials/Textures/hdrCubeTexture.js +21 -5
  254. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  255. package/Materials/Textures/mirrorTexture.d.ts +2 -0
  256. package/Materials/Textures/mirrorTexture.js +13 -0
  257. package/Materials/Textures/mirrorTexture.js.map +1 -1
  258. package/Materials/Textures/renderTargetTexture.js +1 -1
  259. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  260. package/Materials/Textures/thinRenderTargetTexture.js +1 -1
  261. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  262. package/Materials/Textures/thinTexture.d.ts +1 -2
  263. package/Materials/Textures/thinTexture.js +2 -4
  264. package/Materials/Textures/thinTexture.js.map +1 -1
  265. package/Materials/Textures/videoTexture.d.ts +1 -1
  266. package/Materials/Textures/videoTexture.js +1 -1
  267. package/Materials/Textures/videoTexture.js.map +1 -1
  268. package/Materials/effect.d.ts +6 -1
  269. package/Materials/effect.js +4 -1
  270. package/Materials/effect.js.map +1 -1
  271. package/Materials/fresnelParameters.d.ts +1 -1
  272. package/Materials/fresnelParameters.js +1 -1
  273. package/Materials/fresnelParameters.js.map +1 -1
  274. package/Materials/imageProcessingConfiguration.d.ts +16 -1
  275. package/Materials/imageProcessingConfiguration.js +31 -0
  276. package/Materials/imageProcessingConfiguration.js.map +1 -1
  277. package/Materials/index.d.ts +4 -0
  278. package/Materials/index.js +4 -0
  279. package/Materials/index.js.map +1 -1
  280. package/Materials/material.d.ts +43 -2
  281. package/Materials/material.detailMapConfiguration.d.ts +29 -87
  282. package/Materials/material.detailMapConfiguration.js +50 -106
  283. package/Materials/material.detailMapConfiguration.js.map +1 -1
  284. package/Materials/material.js +99 -8
  285. package/Materials/material.js.map +1 -1
  286. package/Materials/materialDefines.d.ts +16 -0
  287. package/Materials/materialDefines.js +17 -5
  288. package/Materials/materialDefines.js.map +1 -1
  289. package/Materials/materialHelper.d.ts +15 -1
  290. package/Materials/materialHelper.js +40 -3
  291. package/Materials/materialHelper.js.map +1 -1
  292. package/Materials/materialPluginBase.d.ts +182 -0
  293. package/Materials/materialPluginBase.js +209 -0
  294. package/Materials/materialPluginBase.js.map +1 -0
  295. package/Materials/materialPluginEvent.d.ts +98 -0
  296. package/Materials/materialPluginEvent.js +21 -0
  297. package/Materials/materialPluginEvent.js.map +1 -0
  298. package/Materials/materialPluginFactoryExport.d.ts +40 -0
  299. package/Materials/materialPluginFactoryExport.js +75 -0
  300. package/Materials/materialPluginFactoryExport.js.map +1 -0
  301. package/Materials/materialPluginManager.d.ts +90 -0
  302. package/Materials/materialPluginManager.js +323 -0
  303. package/Materials/materialPluginManager.js.map +1 -0
  304. package/Materials/pushMaterial.d.ts +2 -2
  305. package/Materials/pushMaterial.js +7 -3
  306. package/Materials/pushMaterial.js.map +1 -1
  307. package/Materials/shaderMaterial.d.ts +7 -6
  308. package/Materials/shaderMaterial.js +71 -29
  309. package/Materials/shaderMaterial.js.map +1 -1
  310. package/Materials/shadowDepthWrapper.js +7 -7
  311. package/Materials/shadowDepthWrapper.js.map +1 -1
  312. package/Materials/standardMaterial.d.ts +15 -10
  313. package/Materials/standardMaterial.js +53 -49
  314. package/Materials/standardMaterial.js.map +1 -1
  315. package/Materials/uniformBuffer.js +1 -2
  316. package/Materials/uniformBuffer.js.map +1 -1
  317. package/Maths/math.color.d.ts +20 -0
  318. package/Maths/math.color.js +45 -2
  319. package/Maths/math.color.js.map +1 -1
  320. package/Maths/math.vector.d.ts +14 -9
  321. package/Maths/math.vector.js +36 -17
  322. package/Maths/math.vector.js.map +1 -1
  323. package/Meshes/Builders/boxBuilder.d.ts +1 -1
  324. package/Meshes/Builders/boxBuilder.js +1 -0
  325. package/Meshes/Builders/boxBuilder.js.map +1 -1
  326. package/Meshes/Builders/capsuleBuilder.d.ts +1 -1
  327. package/Meshes/Builders/capsuleBuilder.js +1 -1
  328. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  329. package/Meshes/Builders/cylinderBuilder.d.ts +17 -17
  330. package/Meshes/Builders/cylinderBuilder.js +1 -0
  331. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  332. package/Meshes/Builders/discBuilder.d.ts +1 -1
  333. package/Meshes/Builders/discBuilder.js +1 -0
  334. package/Meshes/Builders/discBuilder.js.map +1 -1
  335. package/Meshes/Builders/groundBuilder.d.ts +8 -8
  336. package/Meshes/Builders/groundBuilder.js +2 -0
  337. package/Meshes/Builders/groundBuilder.js.map +1 -1
  338. package/Meshes/Builders/hemisphereBuilder.d.ts +4 -4
  339. package/Meshes/Builders/hemisphereBuilder.js +1 -0
  340. package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
  341. package/Meshes/Builders/icoSphereBuilder.d.ts +1 -1
  342. package/Meshes/Builders/icoSphereBuilder.js +1 -0
  343. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  344. package/Meshes/Builders/planeBuilder.d.ts +1 -1
  345. package/Meshes/Builders/planeBuilder.js +1 -0
  346. package/Meshes/Builders/planeBuilder.js.map +1 -1
  347. package/Meshes/Builders/polyhedronBuilder.d.ts +1 -1
  348. package/Meshes/Builders/polyhedronBuilder.js +1 -0
  349. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  350. package/Meshes/Builders/sphereBuilder.d.ts +1 -1
  351. package/Meshes/Builders/sphereBuilder.js +1 -0
  352. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  353. package/Meshes/Builders/torusBuilder.d.ts +8 -8
  354. package/Meshes/Builders/torusBuilder.js +1 -0
  355. package/Meshes/Builders/torusBuilder.js.map +1 -1
  356. package/Meshes/Builders/torusKnotBuilder.d.ts +11 -11
  357. package/Meshes/Builders/torusKnotBuilder.js +1 -0
  358. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  359. package/Meshes/abstractMesh.d.ts +23 -3
  360. package/Meshes/abstractMesh.js +79 -29
  361. package/Meshes/abstractMesh.js.map +1 -1
  362. package/Meshes/geometry.d.ts +3 -0
  363. package/Meshes/geometry.js +15 -7
  364. package/Meshes/geometry.js.map +1 -1
  365. package/Meshes/linesMesh.d.ts +1 -3
  366. package/Meshes/linesMesh.js +5 -36
  367. package/Meshes/linesMesh.js.map +1 -1
  368. package/Meshes/mesh.d.ts +12 -0
  369. package/Meshes/mesh.js +186 -117
  370. package/Meshes/mesh.js.map +1 -1
  371. package/Meshes/mesh.lts.d.ts +8 -8
  372. package/Meshes/mesh.lts.js.map +1 -1
  373. package/Meshes/mesh.vertexData.d.ts +6 -1
  374. package/Meshes/mesh.vertexData.js +295 -114
  375. package/Meshes/mesh.vertexData.js.map +1 -1
  376. package/Meshes/thinInstanceMesh.js +6 -5
  377. package/Meshes/thinInstanceMesh.js.map +1 -1
  378. package/Meshes/transformNode.d.ts +8 -8
  379. package/Meshes/transformNode.js +41 -26
  380. package/Meshes/transformNode.js.map +1 -1
  381. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +2 -1
  382. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +38 -33
  383. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  384. package/Misc/PerformanceViewer/performanceViewerCollector.d.ts +29 -4
  385. package/Misc/PerformanceViewer/performanceViewerCollector.js +36 -12
  386. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  387. package/Misc/assetsManager.d.ts +4 -4
  388. package/Misc/assetsManager.js +2 -2
  389. package/Misc/assetsManager.js.map +1 -1
  390. package/Misc/basis.d.ts +2 -2
  391. package/Misc/basis.js +20 -4
  392. package/Misc/basis.js.map +1 -1
  393. package/Misc/coroutine.d.ts +41 -0
  394. package/Misc/coroutine.js +136 -0
  395. package/Misc/coroutine.js.map +1 -0
  396. package/Misc/index.d.ts +1 -0
  397. package/Misc/index.js +1 -0
  398. package/Misc/index.js.map +1 -1
  399. package/Misc/interfaces/iPerfViewer.d.ts +4 -0
  400. package/Misc/interfaces/iPerfViewer.js.map +1 -1
  401. package/Misc/observableCoroutine.d.ts +9 -10
  402. package/Misc/observableCoroutine.js +34 -39
  403. package/Misc/observableCoroutine.js.map +1 -1
  404. package/Misc/sceneSerializer.js +1 -3
  405. package/Misc/sceneSerializer.js.map +1 -1
  406. package/Misc/tools.d.ts +2 -4
  407. package/Misc/tools.js +6 -10
  408. package/Misc/tools.js.map +1 -1
  409. package/Particles/particleSystem.js +22 -16
  410. package/Particles/particleSystem.js.map +1 -1
  411. package/Particles/solidParticleSystem.js +29 -5
  412. package/Particles/solidParticleSystem.js.map +1 -1
  413. package/Particles/subEmitter.js +1 -0
  414. package/Particles/subEmitter.js.map +1 -1
  415. package/Physics/Plugins/ammoJSPlugin.js +10 -8
  416. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  417. package/PostProcesses/imageProcessingPostProcess.js +1 -0
  418. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  419. package/Probes/reflectionProbe.d.ts +2 -0
  420. package/Probes/reflectionProbe.js +21 -0
  421. package/Probes/reflectionProbe.js.map +1 -1
  422. package/Rendering/boundingBoxRenderer.d.ts +3 -0
  423. package/Rendering/boundingBoxRenderer.js +49 -14
  424. package/Rendering/boundingBoxRenderer.js.map +1 -1
  425. package/Rendering/depthPeelingRenderer.d.ts +4 -1
  426. package/Rendering/depthPeelingRenderer.js +34 -9
  427. package/Rendering/depthPeelingRenderer.js.map +1 -1
  428. package/Rendering/depthRenderer.d.ts +1 -1
  429. package/Rendering/depthRenderer.js +2 -2
  430. package/Rendering/depthRenderer.js.map +1 -1
  431. package/Rendering/edgesRenderer.js +3 -1
  432. package/Rendering/edgesRenderer.js.map +1 -1
  433. package/Rendering/geometryBufferRenderer.d.ts +0 -2
  434. package/Rendering/geometryBufferRenderer.js +13 -10
  435. package/Rendering/geometryBufferRenderer.js.map +1 -1
  436. package/Rendering/prePassRenderer.js +6 -6
  437. package/Rendering/prePassRenderer.js.map +1 -1
  438. package/Rendering/renderingGroup.js +5 -1
  439. package/Rendering/renderingGroup.js.map +1 -1
  440. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +5 -0
  441. package/Shaders/ShadersInclude/bakedVertexAnimation.js +7 -0
  442. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -0
  443. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +5 -0
  444. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -0
  445. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -0
  446. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  447. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  448. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  449. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  450. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  451. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  452. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  453. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  454. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  455. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  456. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  457. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  458. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  459. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  460. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  461. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  462. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  463. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  464. package/Shaders/anaglyph.fragment.js +1 -1
  465. package/Shaders/anaglyph.fragment.js.map +1 -1
  466. package/Shaders/background.fragment.js +1 -1
  467. package/Shaders/background.fragment.js.map +1 -1
  468. package/Shaders/background.vertex.d.ts +2 -0
  469. package/Shaders/background.vertex.js +3 -1
  470. package/Shaders/background.vertex.js.map +1 -1
  471. package/Shaders/blackAndWhite.fragment.js +1 -1
  472. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  473. package/Shaders/bloomMerge.fragment.js +1 -1
  474. package/Shaders/bloomMerge.fragment.js.map +1 -1
  475. package/Shaders/blur.fragment.js +1 -1
  476. package/Shaders/blur.fragment.js.map +1 -1
  477. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  478. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  479. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  480. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  481. package/Shaders/chromaticAberration.fragment.js +1 -1
  482. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  483. package/Shaders/circleOfConfusion.fragment.js +1 -1
  484. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  485. package/Shaders/clearQuad.vertex.js +1 -1
  486. package/Shaders/clearQuad.vertex.js.map +1 -1
  487. package/Shaders/color.fragment.js +1 -1
  488. package/Shaders/color.fragment.js.map +1 -1
  489. package/Shaders/color.vertex.d.ts +2 -0
  490. package/Shaders/color.vertex.js +3 -1
  491. package/Shaders/color.vertex.js.map +1 -1
  492. package/Shaders/colorCorrection.fragment.js +1 -1
  493. package/Shaders/colorCorrection.fragment.js.map +1 -1
  494. package/Shaders/convolution.fragment.js +1 -1
  495. package/Shaders/convolution.fragment.js.map +1 -1
  496. package/Shaders/default.fragment.js +1 -1
  497. package/Shaders/default.fragment.js.map +1 -1
  498. package/Shaders/default.vertex.d.ts +2 -0
  499. package/Shaders/default.vertex.js +3 -1
  500. package/Shaders/default.vertex.js.map +1 -1
  501. package/Shaders/depth.fragment.js +1 -1
  502. package/Shaders/depth.fragment.js.map +1 -1
  503. package/Shaders/depth.vertex.d.ts +2 -0
  504. package/Shaders/depth.vertex.js +3 -1
  505. package/Shaders/depth.vertex.js.map +1 -1
  506. package/Shaders/depthBoxBlur.fragment.js +1 -1
  507. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  508. package/Shaders/depthOfField.fragment.js +1 -1
  509. package/Shaders/depthOfField.fragment.js.map +1 -1
  510. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  511. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  512. package/Shaders/displayPass.fragment.js +1 -1
  513. package/Shaders/displayPass.fragment.js.map +1 -1
  514. package/Shaders/extractHighlights.fragment.js +1 -1
  515. package/Shaders/extractHighlights.fragment.js.map +1 -1
  516. package/Shaders/filter.fragment.js +1 -1
  517. package/Shaders/filter.fragment.js.map +1 -1
  518. package/Shaders/fxaa.vertex.js +1 -1
  519. package/Shaders/fxaa.vertex.js.map +1 -1
  520. package/Shaders/geometry.vertex.d.ts +2 -0
  521. package/Shaders/geometry.vertex.js +3 -1
  522. package/Shaders/geometry.vertex.js.map +1 -1
  523. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  524. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  525. package/Shaders/glowMapGeneration.fragment.js +1 -1
  526. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  527. package/Shaders/glowMapGeneration.vertex.d.ts +2 -0
  528. package/Shaders/glowMapGeneration.vertex.js +3 -1
  529. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  530. package/Shaders/glowMapMerge.fragment.js +1 -1
  531. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  532. package/Shaders/glowMapMerge.vertex.js +1 -1
  533. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  534. package/Shaders/grain.fragment.js +1 -1
  535. package/Shaders/grain.fragment.js.map +1 -1
  536. package/Shaders/hdrFiltering.vertex.js +1 -1
  537. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  538. package/Shaders/highlights.fragment.js +1 -1
  539. package/Shaders/highlights.fragment.js.map +1 -1
  540. package/Shaders/imageProcessing.fragment.js +1 -1
  541. package/Shaders/imageProcessing.fragment.js.map +1 -1
  542. package/Shaders/kernelBlur.fragment.js +1 -1
  543. package/Shaders/kernelBlur.fragment.js.map +1 -1
  544. package/Shaders/kernelBlur.vertex.js +1 -1
  545. package/Shaders/kernelBlur.vertex.js.map +1 -1
  546. package/Shaders/layer.fragment.js +1 -1
  547. package/Shaders/layer.fragment.js.map +1 -1
  548. package/Shaders/layer.vertex.js +1 -1
  549. package/Shaders/layer.vertex.js.map +1 -1
  550. package/Shaders/lensFlare.fragment.js +1 -1
  551. package/Shaders/lensFlare.fragment.js.map +1 -1
  552. package/Shaders/lensFlare.vertex.js +1 -1
  553. package/Shaders/lensFlare.vertex.js.map +1 -1
  554. package/Shaders/lensHighlights.fragment.js +1 -1
  555. package/Shaders/lensHighlights.fragment.js.map +1 -1
  556. package/Shaders/line.fragment.js +1 -1
  557. package/Shaders/line.fragment.js.map +1 -1
  558. package/Shaders/line.vertex.js +1 -1
  559. package/Shaders/line.vertex.js.map +1 -1
  560. package/Shaders/minmaxRedux.fragment.js +1 -1
  561. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  562. package/Shaders/motionBlur.fragment.js +1 -1
  563. package/Shaders/motionBlur.fragment.js.map +1 -1
  564. package/Shaders/noise.fragment.js +1 -1
  565. package/Shaders/noise.fragment.js.map +1 -1
  566. package/Shaders/outline.fragment.js +1 -1
  567. package/Shaders/outline.fragment.js.map +1 -1
  568. package/Shaders/outline.vertex.d.ts +2 -0
  569. package/Shaders/outline.vertex.js +3 -1
  570. package/Shaders/outline.vertex.js.map +1 -1
  571. package/Shaders/particles.fragment.js +1 -1
  572. package/Shaders/particles.fragment.js.map +1 -1
  573. package/Shaders/particles.vertex.js +1 -1
  574. package/Shaders/particles.vertex.js.map +1 -1
  575. package/Shaders/pass.fragment.js +1 -1
  576. package/Shaders/pass.fragment.js.map +1 -1
  577. package/Shaders/passCube.fragment.js +1 -1
  578. package/Shaders/passCube.fragment.js.map +1 -1
  579. package/Shaders/pbr.fragment.js +1 -1
  580. package/Shaders/pbr.fragment.js.map +1 -1
  581. package/Shaders/pbr.vertex.d.ts +2 -0
  582. package/Shaders/pbr.vertex.js +3 -1
  583. package/Shaders/pbr.vertex.js.map +1 -1
  584. package/Shaders/postprocess.vertex.js +1 -1
  585. package/Shaders/postprocess.vertex.js.map +1 -1
  586. package/Shaders/procedural.vertex.js +1 -1
  587. package/Shaders/procedural.vertex.js.map +1 -1
  588. package/Shaders/rgbdDecode.fragment.js +1 -1
  589. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  590. package/Shaders/rgbdEncode.fragment.js +1 -1
  591. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  592. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  593. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  594. package/Shaders/shadowMap.fragment.js +1 -1
  595. package/Shaders/shadowMap.fragment.js.map +1 -1
  596. package/Shaders/shadowMap.vertex.d.ts +2 -0
  597. package/Shaders/shadowMap.vertex.js +3 -1
  598. package/Shaders/shadowMap.vertex.js.map +1 -1
  599. package/Shaders/sharpen.fragment.js +1 -1
  600. package/Shaders/sharpen.fragment.js.map +1 -1
  601. package/Shaders/sprites.fragment.js +1 -1
  602. package/Shaders/sprites.fragment.js.map +1 -1
  603. package/Shaders/sprites.vertex.js +1 -1
  604. package/Shaders/sprites.vertex.js.map +1 -1
  605. package/Shaders/ssaoCombine.fragment.js +1 -1
  606. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  607. package/Shaders/standard.fragment.js +1 -1
  608. package/Shaders/standard.fragment.js.map +1 -1
  609. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  610. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  611. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  612. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  613. package/Shaders/tonemap.fragment.js +1 -1
  614. package/Shaders/tonemap.fragment.js.map +1 -1
  615. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  616. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  617. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  618. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  619. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +2 -0
  620. package/Shaders/volumetricLightScatteringPass.vertex.js +3 -1
  621. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  622. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  623. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  624. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  625. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  626. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +5 -0
  627. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +7 -0
  628. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -0
  629. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +5 -0
  630. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -0
  631. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -0
  632. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  633. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  634. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  635. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  636. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +5 -0
  637. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +7 -0
  638. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -0
  639. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +5 -0
  640. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +7 -0
  641. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -0
  642. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +5 -0
  643. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +7 -0
  644. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -0
  645. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +5 -0
  646. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +7 -0
  647. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -0
  648. package/XR/features/WebXRControllerPointerSelection.d.ts +14 -0
  649. package/XR/features/WebXRControllerPointerSelection.js +55 -21
  650. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  651. package/XR/features/WebXRHandTracking.d.ts +2 -0
  652. package/XR/features/WebXRHandTracking.js +34 -14
  653. package/XR/features/WebXRHandTracking.js.map +1 -1
  654. package/XR/features/WebXRLayers.d.ts +78 -0
  655. package/XR/features/WebXRLayers.js +243 -0
  656. package/XR/features/WebXRLayers.js.map +1 -0
  657. package/XR/features/WebXRNearInteraction.d.ts +1 -0
  658. package/XR/features/WebXRNearInteraction.js +2 -0
  659. package/XR/features/WebXRNearInteraction.js.map +1 -1
  660. package/XR/features/WebXRPlaneDetector.js +8 -12
  661. package/XR/features/WebXRPlaneDetector.js.map +1 -1
  662. package/XR/features/index.d.ts +1 -0
  663. package/XR/features/index.js +1 -0
  664. package/XR/features/index.js.map +1 -1
  665. package/XR/native/index.d.ts +1 -0
  666. package/XR/native/index.js +2 -0
  667. package/XR/native/index.js.map +1 -0
  668. package/XR/native/nativeXRRenderTarget.d.ts +44 -0
  669. package/XR/native/nativeXRRenderTarget.js +81 -0
  670. package/XR/native/nativeXRRenderTarget.js.map +1 -0
  671. package/XR/webXRCamera.js +2 -10
  672. package/XR/webXRCamera.js.map +1 -1
  673. package/XR/webXRExperienceHelper.js +15 -13
  674. package/XR/webXRExperienceHelper.js.map +1 -1
  675. package/XR/webXRFeaturesManager.d.ts +4 -0
  676. package/XR/webXRFeaturesManager.js +5 -1
  677. package/XR/webXRFeaturesManager.js.map +1 -1
  678. package/XR/webXRLayerWrapper.d.ts +48 -0
  679. package/XR/webXRLayerWrapper.js +60 -0
  680. package/XR/webXRLayerWrapper.js.map +1 -0
  681. package/XR/webXRManagedOutputCanvas.d.ts +2 -1
  682. package/XR/webXRManagedOutputCanvas.js +36 -29
  683. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  684. package/XR/webXRRenderTargetTextureProvider.d.ts +55 -0
  685. package/XR/webXRRenderTargetTextureProvider.js +63 -0
  686. package/XR/webXRRenderTargetTextureProvider.js.map +1 -0
  687. package/XR/webXRSessionManager.d.ts +30 -7
  688. package/XR/webXRSessionManager.js +62 -64
  689. package/XR/webXRSessionManager.js.map +1 -1
  690. package/XR/webXRTypes.d.ts +1 -1
  691. package/XR/webXRTypes.js.map +1 -1
  692. package/XR/webXRWebGLLayer.d.ts +36 -0
  693. package/XR/webXRWebGLLayer.js +69 -0
  694. package/XR/webXRWebGLLayer.js.map +1 -0
  695. package/abstractScene.d.ts +1 -1
  696. package/abstractScene.js +1 -1
  697. package/abstractScene.js.map +1 -1
  698. package/index.d.ts +1 -0
  699. package/index.js +1 -0
  700. package/index.js.map +1 -1
  701. package/node.d.ts +30 -1
  702. package/node.js +12 -0
  703. package/node.js.map +1 -1
  704. package/package.json +87 -6
  705. package/scene.d.ts +14 -0
  706. package/scene.js +31 -0
  707. package/scene.js.map +1 -1
  708. package/DeviceInput/Implementations/nativeDeviceInputWrapper.js +0 -66
  709. package/DeviceInput/Implementations/nativeDeviceInputWrapper.js.map +0 -1
@@ -6,16 +6,13 @@ import { GetEnvironmentBRDFTexture } from "../../Misc/brdfTextureTools.js";
6
6
  import { Scene } from "../../scene.js";
7
7
  import { Vector4 } from "../../Maths/math.vector.js";
8
8
  import { VertexBuffer } from "../../Buffers/buffer.js";
9
- import { PBRClearCoatConfiguration } from "./pbrClearCoatConfiguration.js";
10
- import { PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration.js";
11
9
  import { PBRBRDFConfiguration } from "./pbrBRDFConfiguration.js";
12
- import { PBRSheenConfiguration } from "./pbrSheenConfiguration.js";
13
- import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration.js";
14
10
  import { PrePassConfiguration } from "../prePassConfiguration.js";
15
11
  import { Color3, TmpColors } from '../../Maths/math.color.js';
16
12
  import { Scalar } from "../../Maths/math.scalar.js";
17
13
  import { ImageProcessingConfiguration } from "../../Materials/imageProcessingConfiguration.js";
18
14
  import { Material } from "../../Materials/material.js";
15
+ import { MaterialPluginEvent } from "../materialPluginEvent.js";
19
16
  import { MaterialDefines } from "../../Materials/materialDefines.js";
20
17
  import { PushMaterial } from "../../Materials/pushMaterial.js";
21
18
  import { MaterialHelper } from "../../Materials/materialHelper.js";
@@ -25,7 +22,11 @@ import "../../Materials/Textures/baseTexture.polynomial.js";
25
22
  import "../../Shaders/pbr.fragment.js";
26
23
  import "../../Shaders/pbr.vertex.js";
27
24
  import { EffectFallbacks } from '../effectFallbacks.js';
28
- import { DetailMapConfiguration } from '../material.detailMapConfiguration.js';
25
+ import { PBRClearCoatConfiguration } from "./pbrClearCoatConfiguration.js";
26
+ import { PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration.js";
27
+ import { PBRSheenConfiguration } from "./pbrSheenConfiguration.js";
28
+ import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration.js";
29
+ import { DetailMapConfiguration } from "../material.detailMapConfiguration.js";
29
30
  var onCreatedEffectParameters = { effect: null, subMesh: null };
30
31
  /**
31
32
  * Manages the defines for the PBR Material.
@@ -35,9 +36,10 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
35
36
  __extends(PBRMaterialDefines, _super);
36
37
  /**
37
38
  * Initializes the PBR Material defines.
39
+ * @param externalProperties The external properties
38
40
  */
39
- function PBRMaterialDefines() {
40
- var _this = _super.call(this) || this;
41
+ function PBRMaterialDefines(externalProperties) {
42
+ var _this = _super.call(this, externalProperties) || this;
41
43
  _this.PBR = true;
42
44
  _this.NUM_SAMPLES = "0";
43
45
  _this.REALTIME_FILTERING = false;
@@ -57,9 +59,7 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
57
59
  _this.GAMMAALBEDO = false;
58
60
  _this.ALBEDODIRECTUV = 0;
59
61
  _this.VERTEXCOLOR = false;
60
- _this.DETAIL = false;
61
- _this.DETAILDIRECTUV = 0;
62
- _this.DETAIL_NORMALBLENDMETHOD = 0;
62
+ _this.BAKED_VERTEX_ANIMATION_TEXTURE = false;
63
63
  _this.AMBIENT = false;
64
64
  _this.AMBIENTDIRECTUV = 0;
65
65
  _this.AMBIENTINGRAYSCALE = false;
@@ -131,7 +131,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
131
131
  _this.INVERTCUBICMAP = false;
132
132
  _this.USESPHERICALFROMREFLECTIONMAP = false;
133
133
  _this.USEIRRADIANCEMAP = false;
134
- _this.SPHERICAL_HARMONICS = false;
135
134
  _this.USESPHERICALINVERTEX = false;
136
135
  _this.REFLECTIONMAP_OPPOSITEZ = false;
137
136
  _this.LODINREFLECTIONALPHA = false;
@@ -182,6 +181,7 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
182
181
  _this.SAMPLER3DGREENDEPTH = false;
183
182
  _this.SAMPLER3DBGRMAP = false;
184
183
  _this.IMAGEPROCESSINGPOSTPROCESS = false;
184
+ _this.SKIPFINALCOLORCLAMP = false;
185
185
  _this.EXPOSURE = false;
186
186
  _this.MULTIVIEW = false;
187
187
  _this.ORDER_INDEPENDENT_TRANSPARENCY = false;
@@ -201,64 +201,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
201
201
  _this.LOGARITHMICDEPTH = false;
202
202
  _this.FORCENORMALFORWARD = false;
203
203
  _this.SPECULARAA = false;
204
- _this.CLEARCOAT = false;
205
- _this.CLEARCOAT_DEFAULTIOR = false;
206
- _this.CLEARCOAT_TEXTURE = false;
207
- _this.CLEARCOAT_TEXTURE_ROUGHNESS = false;
208
- _this.CLEARCOAT_TEXTUREDIRECTUV = 0;
209
- _this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;
210
- _this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
211
- _this.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;
212
- _this.CLEARCOAT_BUMP = false;
213
- _this.CLEARCOAT_BUMPDIRECTUV = 0;
214
- _this.CLEARCOAT_REMAP_F0 = true;
215
- _this.CLEARCOAT_TINT = false;
216
- _this.CLEARCOAT_TINT_TEXTURE = false;
217
- _this.CLEARCOAT_TINT_GAMMATEXTURE = false;
218
- _this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;
219
- _this.ANISOTROPIC = false;
220
- _this.ANISOTROPIC_TEXTURE = false;
221
- _this.ANISOTROPIC_TEXTUREDIRECTUV = 0;
222
- _this.BRDF_V_HEIGHT_CORRELATED = false;
223
- _this.MS_BRDF_ENERGY_CONSERVATION = false;
224
- _this.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;
225
- _this.SHEEN = false;
226
- _this.SHEEN_TEXTURE = false;
227
- _this.SHEEN_GAMMATEXTURE = false;
228
- _this.SHEEN_TEXTURE_ROUGHNESS = false;
229
- _this.SHEEN_TEXTUREDIRECTUV = 0;
230
- _this.SHEEN_TEXTURE_ROUGHNESSDIRECTUV = 0;
231
- _this.SHEEN_LINKWITHALBEDO = false;
232
- _this.SHEEN_ROUGHNESS = false;
233
- _this.SHEEN_ALBEDOSCALING = false;
234
- _this.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
235
- _this.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = false;
236
- _this.SUBSURFACE = false;
237
- _this.SS_REFRACTION = false;
238
- _this.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = false;
239
- _this.SS_TRANSLUCENCY = false;
240
- _this.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = false;
241
- _this.SS_SCATTERING = false;
242
- _this.SS_THICKNESSANDMASK_TEXTURE = false;
243
- _this.SS_THICKNESSANDMASK_TEXTUREDIRECTUV = 0;
244
- _this.SS_HAS_THICKNESS = false;
245
- _this.SS_REFRACTIONINTENSITY_TEXTURE = false;
246
- _this.SS_REFRACTIONINTENSITY_TEXTUREDIRECTUV = 0;
247
- _this.SS_TRANSLUCENCYINTENSITY_TEXTURE = false;
248
- _this.SS_TRANSLUCENCYINTENSITY_TEXTUREDIRECTUV = 0;
249
- _this.SS_REFRACTIONMAP_3D = false;
250
- _this.SS_REFRACTIONMAP_OPPOSITEZ = false;
251
- _this.SS_LODINREFRACTIONALPHA = false;
252
- _this.SS_GAMMAREFRACTION = false;
253
- _this.SS_RGBDREFRACTION = false;
254
- _this.SS_LINEARSPECULARREFRACTION = false;
255
- _this.SS_LINKREFRACTIONTOTRANSPARENCY = false;
256
- _this.SS_ALBEDOFORREFRACTIONTINT = false;
257
- _this.SS_ALBEDOFORTRANSLUCENCYTINT = false;
258
- _this.SS_USE_LOCAL_REFRACTIONMAP_CUBIC = false;
259
- _this.SS_USE_THICKNESS_AS_DEPTH = false;
260
- _this.SS_MASK_FROM_THICKNESS_TEXTURE = false;
261
- _this.SS_USE_GLTF_TEXTURES = false;
262
204
  _this.UNLIT = false;
263
205
  _this.DEBUGMODE = 0;
264
206
  _this.rebuild();
@@ -686,27 +628,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
686
628
  * You can use the factor to better multiply the final value.
687
629
  */
688
630
  _this.debugFactor = 1;
689
- /**
690
- * Defines the clear coat layer parameters for the material.
691
- */
692
- _this.clearCoat = new PBRClearCoatConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
693
- /**
694
- * Defines the anisotropic parameters for the material.
695
- */
696
- _this.anisotropy = new PBRAnisotropicConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
697
- /**
698
- * Defines the BRDF parameters for the material.
699
- */
700
- _this.brdf = new PBRBRDFConfiguration(_this._markAllSubMeshesAsMiscDirty.bind(_this));
701
- /**
702
- * Defines the Sheen parameters for the material.
703
- */
704
- _this.sheen = new PBRSheenConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
705
- /**
706
- * Defines the detail map parameters for the material.
707
- */
708
- _this.detailMap = new DetailMapConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
709
- _this.buildUniformLayout();
631
+ _this._cacheHasRenderTargetTextures = false;
632
+ _this.brdf = new PBRBRDFConfiguration(_this);
633
+ _this.clearCoat = new PBRClearCoatConfiguration(_this);
634
+ _this.anisotropy = new PBRAnisotropicConfiguration(_this);
635
+ _this.sheen = new PBRSheenConfiguration(_this);
636
+ _this.subSurface = new PBRSubSurfaceConfiguration(_this);
637
+ _this.detailMap = new DetailMapConfiguration(_this);
710
638
  // Setup the default processing configuration to the scene.
711
639
  _this._attachImageProcessingConfiguration(null);
712
640
  _this.getRenderTargetTextures = function () {
@@ -714,11 +642,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
714
642
  if (MaterialFlags.ReflectionTextureEnabled && _this._reflectionTexture && _this._reflectionTexture.isRenderTarget) {
715
643
  _this._renderTargets.push(_this._reflectionTexture);
716
644
  }
717
- _this.subSurface.fillRenderTargetTextures(_this._renderTargets);
645
+ _this._eventInfo.renderTargets = _this._renderTargets;
646
+ _this._callbackPluginEventFillRenderTargetTextures(_this._eventInfo);
718
647
  return _this._renderTargets;
719
648
  };
720
649
  _this._environmentBRDFTexture = GetEnvironmentBRDFTexture(scene);
721
- _this.subSurface = new PBRSubSurfaceConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this), _this._markScenePrePassDirty.bind(_this), scene);
722
650
  _this.prePassConfiguration = new PrePassConfiguration();
723
651
  return _this;
724
652
  }
@@ -795,7 +723,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
795
723
  if (MaterialFlags.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
796
724
  return true;
797
725
  }
798
- return this.subSurface.hasRenderTargetTextures();
726
+ return this._cacheHasRenderTargetTextures;
799
727
  },
800
728
  enumerable: false,
801
729
  configurable: true
@@ -805,7 +733,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
805
733
  * Can this material render to prepass
806
734
  */
807
735
  get: function () {
808
- return true;
736
+ return !this.disableDepthWrite;
809
737
  },
810
738
  enumerable: false,
811
739
  configurable: true
@@ -837,9 +765,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
837
765
  * Returns true if alpha blending should be disabled.
838
766
  */
839
767
  get: function () {
840
- return (this.subSurface.disableAlphaBlending ||
841
- this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_OPAQUE ||
842
- this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);
768
+ var _a;
769
+ return (this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_OPAQUE ||
770
+ this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST ||
771
+ ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.disableAlphaBlending));
843
772
  },
844
773
  enumerable: false,
845
774
  configurable: true
@@ -857,10 +786,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
857
786
  * Specifies whether or not this material should be rendered in alpha test mode.
858
787
  */
859
788
  PBRBaseMaterial.prototype.needAlphaTesting = function () {
789
+ var _a;
860
790
  if (this._forceAlphaTest) {
861
791
  return true;
862
792
  }
863
- if (this.subSurface.disableAlphaBlending) {
793
+ if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.disableAlphaBlending) {
864
794
  return false;
865
795
  }
866
796
  return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);
@@ -891,13 +821,17 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
891
821
  * @returns - boolean indicating that the submesh is ready or not.
892
822
  */
893
823
  PBRBaseMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
824
+ if (!this._uniformBufferLayoutBuilt) {
825
+ this.buildUniformLayout();
826
+ }
894
827
  if (subMesh.effect && this.isFrozen) {
895
828
  if (subMesh.effect._wasPreviouslyReady) {
896
829
  return true;
897
830
  }
898
831
  }
899
832
  if (!subMesh.materialDefines) {
900
- subMesh.materialDefines = new PBRMaterialDefines();
833
+ this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
834
+ subMesh.materialDefines = new PBRMaterialDefines(this._eventInfo.defineNames);
901
835
  }
902
836
  var defines = subMesh.materialDefines;
903
837
  if (this._isReadyForSubMesh(subMesh)) {
@@ -906,6 +840,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
906
840
  var scene = this.getScene();
907
841
  var engine = scene.getEngine();
908
842
  if (defines._areTexturesDirty) {
843
+ this._eventInfo.hasRenderTargetTextures = false;
844
+ this._callbackPluginEventHasRenderTargetTextures(this._eventInfo);
845
+ this._cacheHasRenderTargetTextures = this._eventInfo.hasRenderTargetTextures;
909
846
  if (scene.texturesEnabled) {
910
847
  if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {
911
848
  if (!this._albedoTexture.isReadyOrNotBlocking()) {
@@ -982,11 +919,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
982
919
  }
983
920
  }
984
921
  }
985
- if (!this.subSurface.isReadyForSubMesh(defines, scene) ||
986
- !this.clearCoat.isReadyForSubMesh(defines, scene, engine, this._disableBumpMap) ||
987
- !this.sheen.isReadyForSubMesh(defines, scene) ||
988
- !this.anisotropy.isReadyForSubMesh(defines, scene) ||
989
- !this.detailMap.isReadyForSubMesh(defines, scene)) {
922
+ this._eventInfo.isReadyForSubMesh = true;
923
+ this._eventInfo.defines = defines;
924
+ this._callbackPluginEventIsReadyForSubMesh(this._eventInfo);
925
+ if (!this._eventInfo.isReadyForSubMesh) {
990
926
  return false;
991
927
  }
992
928
  if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {
@@ -1075,10 +1011,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1075
1011
  if (defines.PARALLAXOCCLUSION) {
1076
1012
  fallbacks.addFallback(fallbackRank++, "PARALLAXOCCLUSION");
1077
1013
  }
1078
- fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
1079
- fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
1080
- fallbackRank = PBRSubSurfaceConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
1081
- fallbackRank = PBRSheenConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
1082
1014
  if (defines.ENVIRONMENTBRDF) {
1083
1015
  fallbacks.addFallback(fallbackRank++, "ENVIRONMENTBRDF");
1084
1016
  }
@@ -1138,6 +1070,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1138
1070
  MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);
1139
1071
  MaterialHelper.PrepareAttributesForInstances(attribs, defines);
1140
1072
  MaterialHelper.PrepareAttributesForMorphTargets(attribs, mesh, defines);
1073
+ MaterialHelper.PrepareAttributesForBakedVertexAnimation(attribs, mesh, defines);
1141
1074
  var shaderName = "pbr";
1142
1075
  var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vAmbientColor", "vAlbedoColor", "vReflectivityColor", "vMetallicReflectanceFactors", "vEmissiveColor", "visibility", "vReflectionColor",
1143
1076
  "vFogInfos", "vFogColor", "pointSize",
@@ -1164,16 +1097,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1164
1097
  "microSurfaceSampler", "environmentBrdfSampler", "boneSampler", "metallicReflectanceSampler", "reflectanceSampler", "morphTargets",
1165
1098
  "oitDepthSampler", "oitFrontColorSampler"];
1166
1099
  var uniformBuffers = ["Material", "Scene", "Mesh"];
1167
- DetailMapConfiguration.AddUniforms(uniforms);
1168
- DetailMapConfiguration.AddSamplers(samplers);
1169
- PBRSubSurfaceConfiguration.AddUniforms(uniforms);
1170
- PBRSubSurfaceConfiguration.AddSamplers(samplers);
1171
- PBRClearCoatConfiguration.AddUniforms(uniforms);
1172
- PBRClearCoatConfiguration.AddSamplers(samplers);
1173
- PBRAnisotropicConfiguration.AddUniforms(uniforms);
1174
- PBRAnisotropicConfiguration.AddSamplers(samplers);
1175
- PBRSheenConfiguration.AddUniforms(uniforms);
1176
- PBRSheenConfiguration.AddSamplers(samplers);
1100
+ this._eventInfo.fallbacks = fallbacks;
1101
+ this._eventInfo.fallbackRank = fallbackRank;
1102
+ this._eventInfo.defines = defines;
1103
+ this._eventInfo.uniforms = uniforms;
1104
+ this._eventInfo.samplers = samplers;
1105
+ this._eventInfo.customCode = undefined;
1106
+ this._callbackPluginEventGeneric(MaterialPluginEvent.PrepareEffect, this._eventInfo);
1177
1107
  PrePassConfiguration.AddUniforms(uniforms);
1178
1108
  PrePassConfiguration.AddSamplers(samplers);
1179
1109
  if (ImageProcessingConfiguration) {
@@ -1203,6 +1133,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1203
1133
  onError: onError,
1204
1134
  indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS },
1205
1135
  processFinalCode: csnrOptions.processFinalCode,
1136
+ processCodeAfterIncludes: this._eventInfo.customCode,
1206
1137
  multiTarget: defines.PREPASS
1207
1138
  }, engine);
1208
1139
  };
@@ -1494,12 +1425,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1494
1425
  defines.DEBUGMODE = this._debugMode;
1495
1426
  }
1496
1427
  // External config
1497
- this.detailMap.prepareDefines(defines, scene);
1498
- this.subSurface.prepareDefines(defines, scene);
1499
- this.clearCoat.prepareDefines(defines, scene);
1500
- this.anisotropy.prepareDefines(defines, mesh, scene);
1501
- this.brdf.prepareDefines(defines);
1502
- this.sheen.prepareDefines(defines, scene);
1428
+ this._eventInfo.defines = defines;
1429
+ this._eventInfo.mesh = mesh;
1430
+ this._callbackPluginEventPrepareDefines(this._eventInfo);
1503
1431
  // Values that need to be evaluated on every frame
1504
1432
  MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false, useClipPlane, useThinInstances);
1505
1433
  // Attribs
@@ -1511,7 +1439,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1511
1439
  PBRBaseMaterial.prototype.forceCompilation = function (mesh, onCompiled, options) {
1512
1440
  var _this = this;
1513
1441
  var localOptions = __assign({ clipPlane: false, useInstances: false }, options);
1514
- var defines = new PBRMaterialDefines();
1442
+ if (!this._uniformBufferLayoutBuilt) {
1443
+ this.buildUniformLayout();
1444
+ }
1445
+ this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
1446
+ var defines = new PBRMaterialDefines(this._eventInfo.defineNames);
1515
1447
  var effect = this._prepareEffect(mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane, mesh.hasThinInstances);
1516
1448
  if (this._onEffectCreatedObservable) {
1517
1449
  onCreatedEffectParameters.effect = effect;
@@ -1573,11 +1505,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1573
1505
  ubo.addUniform("metallicReflectanceMatrix", 16);
1574
1506
  ubo.addUniform("vReflectanceInfos", 2);
1575
1507
  ubo.addUniform("reflectanceMatrix", 16);
1576
- PBRClearCoatConfiguration.PrepareUniformBuffer(ubo);
1577
- PBRAnisotropicConfiguration.PrepareUniformBuffer(ubo);
1578
- PBRSheenConfiguration.PrepareUniformBuffer(ubo);
1579
- PBRSubSurfaceConfiguration.PrepareUniformBuffer(ubo);
1580
- DetailMapConfiguration.PrepareUniformBuffer(ubo);
1581
1508
  ubo.addUniform("vSphericalL00", 3);
1582
1509
  ubo.addUniform("vSphericalL1_1", 3);
1583
1510
  ubo.addUniform("vSphericalL10", 3);
@@ -1596,26 +1523,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1596
1523
  ubo.addUniform("vSphericalXY", 3);
1597
1524
  ubo.addUniform("vSphericalYZ", 3);
1598
1525
  ubo.addUniform("vSphericalZX", 3);
1599
- ubo.create();
1600
- };
1601
- /**
1602
- * Unbinds the material from the mesh
1603
- */
1604
- PBRBaseMaterial.prototype.unbind = function () {
1605
- if (this._activeEffect && !this.getScene().getEngine()._features.needToAlwaysBindUniformBuffers) {
1606
- var needFlag = false;
1607
- if (this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
1608
- this._activeEffect.setTexture("reflection2DSampler", null);
1609
- needFlag = true;
1610
- }
1611
- if (this.subSurface.unbind(this._activeEffect)) {
1612
- needFlag = true;
1613
- }
1614
- if (needFlag) {
1615
- this._markAllSubMeshesAsTexturesDirty();
1616
- }
1617
- }
1618
- _super.prototype.unbind.call(this);
1526
+ _super.prototype.buildUniformLayout.call(this);
1619
1527
  };
1620
1528
  /**
1621
1529
  * Binds the submesh data.
@@ -1624,6 +1532,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1624
1532
  * @param subMesh - A submesh of the BJS mesh.
1625
1533
  */
1626
1534
  PBRBaseMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
1535
+ var _a, _b, _c, _d;
1627
1536
  var scene = this.getScene();
1628
1537
  var defines = subMesh.materialDefines;
1629
1538
  if (!defines) {
@@ -1637,8 +1546,12 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1637
1546
  // Matrices Mesh.
1638
1547
  mesh.getMeshUniformBuffer().bindToEffect(effect, "Mesh");
1639
1548
  mesh.transferToEffect(world);
1640
- // PrePass
1549
+ var engine = scene.getEngine();
1550
+ // Binding unconditionally
1551
+ this._uniformBuffer.bindToEffect(effect, "Material");
1641
1552
  this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);
1553
+ this._eventInfo.subMesh = subMesh;
1554
+ this._callbackPluginEventHardBindForSubMesh(this._eventInfo);
1642
1555
  // Normal Matrix
1643
1556
  if (defines.OBJECTSPACE_NORMALMAP) {
1644
1557
  world.toNormalMatrix(this._normalMatrix);
@@ -1650,8 +1563,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1650
1563
  var reflectionTexture = null;
1651
1564
  var ubo = this._uniformBuffer;
1652
1565
  if (mustRebind) {
1653
- var engine = scene.getEngine();
1654
- ubo.bindToEffect(effect, "Material");
1655
1566
  this.bindViewProjection(effect);
1656
1567
  reflectionTexture = this._getReflectionTexture();
1657
1568
  if (!ubo.useUbo || !this.isFrozen || !ubo.isSync) {
@@ -1761,7 +1672,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1761
1672
  TmpColors.Color3[0].r = (this._metallic === undefined || this._metallic === null) ? 1 : this._metallic;
1762
1673
  TmpColors.Color3[0].g = (this._roughness === undefined || this._roughness === null) ? 1 : this._roughness;
1763
1674
  ubo.updateColor4("vReflectivityColor", TmpColors.Color3[0], 1);
1764
- var ior = this.subSurface.indexOfRefraction;
1675
+ var ior = (_b = (_a = this.subSurface) === null || _a === void 0 ? void 0 : _a._indexOfRefraction) !== null && _b !== void 0 ? _b : 1.5;
1765
1676
  var outside_ior = 1; // consider air as clear coat and other layers would remap in the shader.
1766
1677
  // We are here deriving our default reflectance from a common value for none metallic surface.
1767
1678
  // Based of the schlick fresnel approximation model
@@ -1777,7 +1688,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1777
1688
  }
1778
1689
  ubo.updateColor3("vEmissiveColor", MaterialFlags.EmissiveTextureEnabled ? this._emissiveColor : Color3.BlackReadOnly);
1779
1690
  ubo.updateColor3("vReflectionColor", this._reflectionColor);
1780
- if (!defines.SS_REFRACTION && this.subSurface.linkRefractionWithTransparency) {
1691
+ if (!defines.SS_REFRACTION && ((_c = this.subSurface) === null || _c === void 0 ? void 0 : _c._linkRefractionWithTransparency)) {
1781
1692
  ubo.updateColor4("vAlbedoColor", this._albedoColor, 1);
1782
1693
  }
1783
1694
  else {
@@ -1852,17 +1763,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1852
1763
  if (this.getScene().useOrderIndependentTransparency && this.needAlphaBlendingForMesh(mesh)) {
1853
1764
  this.getScene().depthPeelingRenderer.bind(effect);
1854
1765
  }
1855
- this.detailMap.bindForSubMesh(ubo, scene, this.isFrozen);
1856
- this.subSurface.bindForSubMesh(ubo, scene, engine, this.isFrozen, defines.LODBASEDMICROSFURACE, this.realTimeFiltering, subMesh);
1857
- this.clearCoat.bindForSubMesh(ubo, scene, engine, this._disableBumpMap, this.isFrozen, this._invertNormalMapX, this._invertNormalMapY, subMesh);
1858
- this.anisotropy.bindForSubMesh(ubo, scene, this.isFrozen);
1859
- this.sheen.bindForSubMesh(ubo, scene, this.isFrozen, subMesh);
1766
+ this._eventInfo.subMesh = subMesh;
1767
+ this._callbackPluginEventBindForSubMesh(this._eventInfo);
1860
1768
  // Clip plane
1861
1769
  MaterialHelper.BindClipPlane(this._activeEffect, scene);
1862
1770
  this.bindEyePosition(effect);
1863
1771
  }
1864
1772
  else if (scene.getEngine()._features.needToAlwaysBindUniformBuffers) {
1865
- ubo.bindToEffect(effect, "Material");
1866
1773
  this._needToBindSceneUbo = true;
1867
1774
  }
1868
1775
  if (mustRebind || !this.isFrozen) {
@@ -1880,6 +1787,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1880
1787
  if (defines.NUM_MORPH_INFLUENCERS) {
1881
1788
  MaterialHelper.BindMorphTargetParameters(mesh, this._activeEffect);
1882
1789
  }
1790
+ if (defines.BAKED_VERTEX_ANIMATION_TEXTURE) {
1791
+ (_d = mesh.bakedVertexAnimationManager) === null || _d === void 0 ? void 0 : _d.bind(effect, defines.INSTANCES);
1792
+ }
1883
1793
  // image processing
1884
1794
  this._imageProcessingConfiguration.bind(this._activeEffect);
1885
1795
  // Log. depth
@@ -1893,7 +1803,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1893
1803
  * @returns - Array of animatable textures.
1894
1804
  */
1895
1805
  PBRBaseMaterial.prototype.getAnimatables = function () {
1896
- var results = [];
1806
+ var results = _super.prototype.getAnimatables.call(this);
1897
1807
  if (this._albedoTexture && this._albedoTexture.animations && this._albedoTexture.animations.length > 0) {
1898
1808
  results.push(this._albedoTexture);
1899
1809
  }
@@ -1921,11 +1831,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1921
1831
  if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {
1922
1832
  results.push(this._lightmapTexture);
1923
1833
  }
1924
- this.detailMap.getAnimatables(results);
1925
- this.subSurface.getAnimatables(results);
1926
- this.clearCoat.getAnimatables(results);
1927
- this.sheen.getAnimatables(results);
1928
- this.anisotropy.getAnimatables(results);
1929
1834
  return results;
1930
1835
  };
1931
1836
  /**
@@ -1980,11 +1885,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
1980
1885
  if (this._lightmapTexture) {
1981
1886
  activeTextures.push(this._lightmapTexture);
1982
1887
  }
1983
- this.detailMap.getActiveTextures(activeTextures);
1984
- this.subSurface.getActiveTextures(activeTextures);
1985
- this.clearCoat.getActiveTextures(activeTextures);
1986
- this.sheen.getActiveTextures(activeTextures);
1987
- this.anisotropy.getActiveTextures(activeTextures);
1988
1888
  return activeTextures;
1989
1889
  };
1990
1890
  /**
@@ -2029,18 +1929,15 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
2029
1929
  if (this._lightmapTexture === texture) {
2030
1930
  return true;
2031
1931
  }
2032
- return this.detailMap.hasTexture(texture) ||
2033
- this.subSurface.hasTexture(texture) ||
2034
- this.clearCoat.hasTexture(texture) ||
2035
- this.sheen.hasTexture(texture) ||
2036
- this.anisotropy.hasTexture(texture);
1932
+ return false;
2037
1933
  };
2038
1934
  /**
2039
1935
  * Sets the required values to the prepass renderer.
2040
1936
  * @param prePassRenderer defines the prepass renderer to setup
2041
1937
  */
2042
1938
  PBRBaseMaterial.prototype.setPrePassRenderer = function (prePassRenderer) {
2043
- if (this.subSurface.isScatteringEnabled) {
1939
+ var _a;
1940
+ if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.isScatteringEnabled) {
2044
1941
  var subSurfaceConfiguration = this.getScene().enableSubSurfaceForPrePass();
2045
1942
  if (subSurfaceConfiguration) {
2046
1943
  subSurfaceConfiguration.enabled = true;
@@ -2073,11 +1970,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
2073
1970
  (_l = this._reflectanceTexture) === null || _l === void 0 ? void 0 : _l.dispose();
2074
1971
  (_m = this._microSurfaceTexture) === null || _m === void 0 ? void 0 : _m.dispose();
2075
1972
  }
2076
- this.detailMap.dispose(forceDisposeTextures);
2077
- this.subSurface.dispose(forceDisposeTextures);
2078
- this.clearCoat.dispose(forceDisposeTextures);
2079
- this.sheen.dispose(forceDisposeTextures);
2080
- this.anisotropy.dispose(forceDisposeTextures);
2081
1973
  this._renderTargets.dispose();
2082
1974
  if (this._imageProcessingConfiguration && this._imageProcessingObserver) {
2083
1975
  this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);