@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
@@ -1 +1 @@
1
- {"version":3,"file":"pbrBaseSimpleMaterial.js","sourceRoot":"","sources":["../../../../sourceES6/core/Materials/PBR/pbrBaseSimpleMaterial.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;GAKG;AACH;IAAoD,yCAAe;IAgH/D;;;;;OAKG;IACH,+BAAY,IAAY,EAAE,KAAY;QAAtC,YACI,kBAAM,IAAI,EAAE,KAAK,CAAC,SAIrB;QAzHD;;WAEG;QAGI,2BAAqB,GAAG,CAAC,CAAC;QAEjC;;WAEG;QAGI,qBAAe,GAAG,KAAK,CAAC;QAS/B;;WAEG;QAGI,sBAAgB,GAAG,KAAK,CAAC;QAEhC;;WAEG;QAGI,sBAAgB,GAAG,KAAK,CAAC;QAShC;;WAEG;QAGI,mBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAS3C;;WAEG;QAGI,uBAAiB,GAAW,GAAG,CAAC;QA0CvC;;WAEG;QAGI,4BAAsB,GAAG,KAAK,CAAC;QAWlC,KAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;;IACvC,CAAC;IAxCD,sBAAW,8CAAW;QAJtB;;WAEG;aAEH;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAClC,CAAC;QACD;;WAEG;aACH,UAAuB,KAAc;YACjC,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE;gBAClC,OAAO;aACV;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC5C,CAAC;;;OAXA;IAwCM,4CAAY,GAAnB;QACI,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAxHD;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,gCAAgC,CAAC;wEAClB;IAOjC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,gCAAgC,CAAC;kEACpB;IAO/B;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;qEACpC;IAOvC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;mEACrB;IAOhC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;mEACrB;IAOhC;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,cAAc,CAAC;gEACnC;IAOlC;QAFC,iBAAiB,CAAC,UAAU,CAAC;QAC7B,gBAAgB,CAAC,kCAAkC,CAAC;gEACV;IAO3C;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,CAAC;kEACjB;IAOpC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,EAAE,yBAAyB,CAAC;oEACzC;IAOvC;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,iBAAiB,CAAC;mEACnC;IAOrC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,EAAE,cAAc,CAAC;8DAC1C;IAM3B;QADC,SAAS,EAAE;4DAGX;IAkBD;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,IAAI,CAAC;kEACvB;IAOpC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;yEACf;IAkB1C,4BAAC;CAAA,AAhID,CAAoD,eAAe,GAgIlE;SAhIqB,qBAAqB","sourcesContent":["import { serialize, serializeAsColor3, expandToProperty, serializeAsTexture } from \"../../Misc/decorators\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\nimport { PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\n\r\n/**\r\n * The Physically based simple base material of BJS.\r\n *\r\n * This enables better naming and convention enforcements on top of the pbrMaterial.\r\n * It is used as the base class for both the specGloss and metalRough conventions.\r\n */\r\nexport abstract class PBRBaseSimpleMaterial extends PBRBaseMaterial {\r\n\r\n /**\r\n * Number of Simultaneous lights allowed on the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights = 4;\r\n\r\n /**\r\n * If sets to true, disables all the lights affecting the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting = false;\r\n\r\n /**\r\n * Environment Texture used in the material (this is use for both reflection and environment lighting).\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_reflectionTexture\")\r\n public environmentTexture: BaseTexture;\r\n\r\n /**\r\n * If sets to true, x component of normal map value will invert (x = 1.0 - x).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapX = false;\r\n\r\n /**\r\n * If sets to true, y component of normal map value will invert (y = 1.0 - y).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapY = false;\r\n\r\n /**\r\n * Normal map used in the model.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_bumpTexture\")\r\n public normalTexture: BaseTexture;\r\n\r\n /**\r\n * Emissivie color used to self-illuminate the model.\r\n */\r\n @serializeAsColor3(\"emissive\")\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public emissiveColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * Emissivie texture used to self-illuminate the model.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public emissiveTexture: BaseTexture;\r\n\r\n /**\r\n * Occlusion Channel Strength.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_ambientTextureStrength\")\r\n public occlusionStrength: number = 1.0;\r\n\r\n /**\r\n * Occlusion Texture of the material (adding extra occlusion effects).\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_ambientTexture\")\r\n public occlusionTexture: BaseTexture;\r\n\r\n /**\r\n * Defines the alpha limits in alpha test mode.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_alphaCutOff\")\r\n public alphaCutOff: number;\r\n\r\n /**\r\n * Gets the current double sided mode.\r\n */\r\n @serialize()\r\n public get doubleSided(): boolean {\r\n return this._twoSidedLighting;\r\n }\r\n /**\r\n * If sets to true and backfaceCulling is false, normals will be flipped on the backside.\r\n */\r\n public set doubleSided(value: boolean) {\r\n if (this._twoSidedLighting === value) {\r\n return;\r\n }\r\n this._twoSidedLighting = value;\r\n this.backFaceCulling = !value;\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Stores the pre-calculated light information of a mesh in a texture.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", null)\r\n public lightmapTexture: BaseTexture;\r\n\r\n /**\r\n * If true, the light map contains occlusion information instead of lighting info.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useLightmapAsShadowmap = false;\r\n\r\n /**\r\n * Instantiates a new PBRMaterial instance.\r\n *\r\n * @param name The material name\r\n * @param scene The scene the material will be use in.\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n\r\n this._useAlphaFromAlbedoTexture = true;\r\n this._useAmbientInGrayScale = true;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"PBRBaseSimpleMaterial\";\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"pbrBaseSimpleMaterial.js","sourceRoot":"","sources":["../../../../sourceES6/core/Materials/PBR/pbrBaseSimpleMaterial.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;GAKG;AACH;IAAoD,yCAAe;IA+G/D;;;;;OAKG;IACH,+BAAY,IAAY,EAAE,KAAY;QAAtC,YACI,kBAAM,IAAI,EAAE,KAAK,CAAC,SAIrB;QAzHD;;WAEG;QAGI,2BAAqB,GAAG,CAAC,CAAC;QAEjC;;WAEG;QAGI,qBAAe,GAAG,KAAK,CAAC;QAS/B;;WAEG;QAGI,sBAAgB,GAAG,KAAK,CAAC;QAEhC;;WAEG;QAGI,sBAAgB,GAAG,KAAK,CAAC;QAShC;;WAEG;QAGI,mBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAS3C;;WAEG;QAGI,uBAAiB,GAAW,GAAG,CAAC;QA0CvC;;WAEG;QAGI,4BAAsB,GAAG,KAAK,CAAC;QAWlC,KAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;;IACvC,CAAC;IAxCD,sBAAW,8CAAW;QAJtB;;WAEG;aAEH;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAClC,CAAC;QACD;;WAEG;aACH,UAAuB,KAAc;YACjC,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE;gBAClC,OAAO;aACV;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC5C,CAAC;;;OAXA;IAwCM,4CAAY,GAAnB;QACI,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAxHD;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,gCAAgC,CAAC;wEAClB;IAOjC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,gCAAgC,CAAC;kEACpB;IAO/B;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;qEACpC;IAOvC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;mEACrB;IAOhC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;mEACrB;IAOhC;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,cAAc,CAAC;gEACnC;IAOlC;QAFC,iBAAiB,CAAC,UAAU,CAAC;QAC7B,gBAAgB,CAAC,kCAAkC,CAAC;gEACV;IAO3C;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,CAAC;kEACjB;IAOpC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,EAAE,yBAAyB,CAAC;oEACzC;IAOvC;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,iBAAiB,CAAC;mEACnC;IAOrC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,EAAE,cAAc,CAAC;8DAC1C;IAM3B;QADC,SAAS,EAAE;4DAGX;IAkBD;QAFC,kBAAkB,EAAE;QACpB,gBAAgB,CAAC,kCAAkC,EAAE,IAAI,CAAC;kEACvB;IAOpC;QAFC,SAAS,EAAE;QACX,gBAAgB,CAAC,kCAAkC,CAAC;yEACf;IAkB1C,4BAAC;CAAA,AA/HD,CAAoD,eAAe,GA+HlE;SA/HqB,qBAAqB","sourcesContent":["import { serialize, serializeAsColor3, expandToProperty, serializeAsTexture } from \"../../Misc/decorators\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\nimport { PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\n\r\n/**\r\n * The Physically based simple base material of BJS.\r\n *\r\n * This enables better naming and convention enforcements on top of the pbrMaterial.\r\n * It is used as the base class for both the specGloss and metalRough conventions.\r\n */\r\nexport abstract class PBRBaseSimpleMaterial extends PBRBaseMaterial {\r\n /**\r\n * Number of Simultaneous lights allowed on the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights = 4;\r\n\r\n /**\r\n * If sets to true, disables all the lights affecting the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting = false;\r\n\r\n /**\r\n * Environment Texture used in the material (this is use for both reflection and environment lighting).\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_reflectionTexture\")\r\n public environmentTexture: BaseTexture;\r\n\r\n /**\r\n * If sets to true, x component of normal map value will invert (x = 1.0 - x).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapX = false;\r\n\r\n /**\r\n * If sets to true, y component of normal map value will invert (y = 1.0 - y).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapY = false;\r\n\r\n /**\r\n * Normal map used in the model.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_bumpTexture\")\r\n public normalTexture: BaseTexture;\r\n\r\n /**\r\n * Emissivie color used to self-illuminate the model.\r\n */\r\n @serializeAsColor3(\"emissive\")\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public emissiveColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * Emissivie texture used to self-illuminate the model.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public emissiveTexture: BaseTexture;\r\n\r\n /**\r\n * Occlusion Channel Strength.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_ambientTextureStrength\")\r\n public occlusionStrength: number = 1.0;\r\n\r\n /**\r\n * Occlusion Texture of the material (adding extra occlusion effects).\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_ambientTexture\")\r\n public occlusionTexture: BaseTexture;\r\n\r\n /**\r\n * Defines the alpha limits in alpha test mode.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_alphaCutOff\")\r\n public alphaCutOff: number;\r\n\r\n /**\r\n * Gets the current double sided mode.\r\n */\r\n @serialize()\r\n public get doubleSided(): boolean {\r\n return this._twoSidedLighting;\r\n }\r\n /**\r\n * If sets to true and backfaceCulling is false, normals will be flipped on the backside.\r\n */\r\n public set doubleSided(value: boolean) {\r\n if (this._twoSidedLighting === value) {\r\n return;\r\n }\r\n this._twoSidedLighting = value;\r\n this.backFaceCulling = !value;\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Stores the pre-calculated light information of a mesh in a texture.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", null)\r\n public lightmapTexture: BaseTexture;\r\n\r\n /**\r\n * If true, the light map contains occlusion information instead of lighting info.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useLightmapAsShadowmap = false;\r\n\r\n /**\r\n * Instantiates a new PBRMaterial instance.\r\n *\r\n * @param name The material name\r\n * @param scene The scene the material will be use in.\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n\r\n this._useAlphaFromAlbedoTexture = true;\r\n this._useAmbientInGrayScale = true;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"PBRBaseSimpleMaterial\";\r\n }\r\n}\r\n"]}
@@ -5,12 +5,16 @@ import { UniformBuffer } from "../../Materials/uniformBuffer";
5
5
  import { IAnimatable } from '../../Animations/animatable.interface';
6
6
  import { EffectFallbacks } from '../effectFallbacks';
7
7
  import { SubMesh } from '../../Meshes/subMesh';
8
+ import { MaterialPluginBase } from "../materialPluginBase";
9
+ import { MaterialDefines } from "../materialDefines";
8
10
  declare type Engine = import("../../Engines/engine").Engine;
9
11
  declare type Scene = import("../../scene").Scene;
12
+ declare type AbstractMesh = import("../../Meshes/abstractMesh").AbstractMesh;
13
+ declare type PBRBaseMaterial = import("./pbrBaseMaterial").PBRBaseMaterial;
10
14
  /**
11
15
  * @hidden
12
16
  */
13
- export interface IMaterialClearCoatDefines {
17
+ export declare class MaterialClearCoatDefines extends MaterialDefines {
14
18
  CLEARCOAT: boolean;
15
19
  CLEARCOAT_DEFAULTIOR: boolean;
16
20
  CLEARCOAT_TEXTURE: boolean;
@@ -26,13 +30,12 @@ export interface IMaterialClearCoatDefines {
26
30
  CLEARCOAT_TINT_TEXTURE: boolean;
27
31
  CLEARCOAT_TINT_TEXTUREDIRECTUV: number;
28
32
  CLEARCOAT_TINT_GAMMATEXTURE: boolean;
29
- /** @hidden */
30
- _areTexturesDirty: boolean;
31
33
  }
32
34
  /**
33
- * Define the code related to the clear coat parameters of the pbr material.
35
+ * Plugin that implements the clear coat component of the PBR material
34
36
  */
35
- export declare class PBRClearCoatConfiguration {
37
+ export declare class PBRClearCoatConfiguration extends MaterialPluginBase {
38
+ protected _material: PBRBaseMaterial;
36
39
  /**
37
40
  * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence
38
41
  * The default fits with a polyurethane material.
@@ -121,103 +124,25 @@ export declare class PBRClearCoatConfiguration {
121
124
  private _internalMarkAllSubMeshesAsTexturesDirty;
122
125
  /** @hidden */
123
126
  _markAllSubMeshesAsTexturesDirty(): void;
124
- /**
125
- * Instantiate a new instance of clear coat configuration.
126
- * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty
127
- */
128
- constructor(markAllSubMeshesAsTexturesDirty: () => void);
129
- /**
130
- * Gets whether the submesh is ready to be used or not.
131
- * @param defines the list of "defines" to update.
132
- * @param scene defines the scene the material belongs to.
133
- * @param engine defines the engine the material belongs to.
134
- * @param disableBumpMap defines whether the material disables bump or not.
135
- * @returns - boolean indicating that the submesh is ready or not.
136
- */
137
- isReadyForSubMesh(defines: IMaterialClearCoatDefines, scene: Scene, engine: Engine, disableBumpMap: boolean): boolean;
138
- /**
139
- * Checks to see if a texture is used in the material.
140
- * @param defines the list of "defines" to update.
141
- * @param scene defines the scene to the material belongs to.
142
- */
143
- prepareDefines(defines: IMaterialClearCoatDefines, scene: Scene): void;
144
- /**
145
- * Binds the material data.
146
- * @param uniformBuffer defines the Uniform buffer to fill in.
147
- * @param scene defines the scene the material belongs to.
148
- * @param engine defines the engine the material belongs to.
149
- * @param disableBumpMap defines whether the material disables bump or not.
150
- * @param isFrozen defines whether the material is frozen or not.
151
- * @param invertNormalMapX If sets to true, x component of normal map value will be inverted (x = 1.0 - x).
152
- * @param invertNormalMapY If sets to true, y component of normal map value will be inverted (y = 1.0 - y).
153
- * @param subMesh the submesh to bind data for
154
- */
155
- bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, engine: Engine, disableBumpMap: boolean, isFrozen: boolean, invertNormalMapX: boolean, invertNormalMapY: boolean, subMesh?: SubMesh): void;
156
- /**
157
- * Checks to see if a texture is used in the material.
158
- * @param texture - Base texture to use.
159
- * @returns - Boolean specifying if a texture is used in the material.
160
- */
127
+ constructor(material: PBRBaseMaterial, addToPluginList?: boolean);
128
+ isReadyForSubMesh(defines: MaterialClearCoatDefines, scene: Scene, engine: Engine): boolean;
129
+ prepareDefines(defines: MaterialClearCoatDefines, scene: Scene, mesh: AbstractMesh): void;
130
+ bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, engine: Engine, subMesh: SubMesh): void;
161
131
  hasTexture(texture: BaseTexture): boolean;
162
- /**
163
- * Returns an array of the actively used textures.
164
- * @param activeTextures Array of BaseTextures
165
- */
166
132
  getActiveTextures(activeTextures: BaseTexture[]): void;
167
- /**
168
- * Returns the animatable textures.
169
- * @param animatables Array of animatable textures.
170
- */
171
133
  getAnimatables(animatables: IAnimatable[]): void;
172
- /**
173
- * Disposes the resources of the material.
174
- * @param forceDisposeTextures - Forces the disposal of all textures.
175
- */
176
134
  dispose(forceDisposeTextures?: boolean): void;
177
- /**
178
- * Get the current class name of the texture useful for serialization or dynamic coding.
179
- * @returns "PBRClearCoatConfiguration"
180
- */
181
135
  getClassName(): string;
182
- /**
183
- * Add fallbacks to the effect fallbacks list.
184
- * @param defines defines the Base texture to use.
185
- * @param fallbacks defines the current fallback list.
186
- * @param currentRank defines the current fallback rank.
187
- * @returns the new fallback rank.
188
- */
189
- static AddFallbacks(defines: IMaterialClearCoatDefines, fallbacks: EffectFallbacks, currentRank: number): number;
190
- /**
191
- * Add the required uniforms to the current list.
192
- * @param uniforms defines the current uniform list.
193
- */
194
- static AddUniforms(uniforms: string[]): void;
195
- /**
196
- * Add the required samplers to the current list.
197
- * @param samplers defines the current sampler list.
198
- */
199
- static AddSamplers(samplers: string[]): void;
200
- /**
201
- * Add the required uniforms to the current buffer.
202
- * @param uniformBuffer defines the current uniform buffer.
203
- */
204
- static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void;
205
- /**
206
- * Makes a duplicate of the current configuration into another one.
207
- * @param clearCoatConfiguration define the config where to copy the info
208
- */
209
- copyTo(clearCoatConfiguration: PBRClearCoatConfiguration): void;
210
- /**
211
- * Serializes this clear coat configuration.
212
- * @returns - An object with the serialized config.
213
- */
214
- serialize(): any;
215
- /**
216
- * Parses a anisotropy Configuration from a serialized object.
217
- * @param source - Serialized object.
218
- * @param scene Defines the scene we are parsing for
219
- * @param rootUrl Defines the rootUrl to load from
220
- */
221
- parse(source: any, scene: Scene, rootUrl: string): void;
136
+ addFallbacks(defines: MaterialClearCoatDefines, fallbacks: EffectFallbacks, currentRank: number): number;
137
+ getSamplers(samplers: string[]): void;
138
+ getUniforms(): {
139
+ ubo?: Array<{
140
+ name: string;
141
+ size: number;
142
+ type: string;
143
+ }>;
144
+ vertex?: string;
145
+ fragment?: string;
146
+ };
222
147
  }
223
148
  export {};
@@ -1,113 +1,136 @@
1
- import { __decorate } from "tslib";
2
- import { SerializationHelper, serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from "../../Misc/decorators.js";
1
+ import { __decorate, __extends } from "tslib";
2
+ import { serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from "../../Misc/decorators.js";
3
3
  import { Color3 } from '../../Maths/math.color.js';
4
4
  import { MaterialFlags } from "../materialFlags.js";
5
5
  import { MaterialHelper } from "../../Materials/materialHelper.js";
6
+ import { MaterialPluginBase } from "../materialPluginBase.js";
7
+ import { MaterialDefines } from "../materialDefines.js";
6
8
  /**
7
- * Define the code related to the clear coat parameters of the pbr material.
9
+ * @hidden
8
10
  */
9
- var PBRClearCoatConfiguration = /** @class */ (function () {
10
- /**
11
- * Instantiate a new instance of clear coat configuration.
12
- * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty
13
- */
14
- function PBRClearCoatConfiguration(markAllSubMeshesAsTexturesDirty) {
15
- this._isEnabled = false;
11
+ var MaterialClearCoatDefines = /** @class */ (function (_super) {
12
+ __extends(MaterialClearCoatDefines, _super);
13
+ function MaterialClearCoatDefines() {
14
+ var _this = _super !== null && _super.apply(this, arguments) || this;
15
+ _this.CLEARCOAT = false;
16
+ _this.CLEARCOAT_DEFAULTIOR = false;
17
+ _this.CLEARCOAT_TEXTURE = false;
18
+ _this.CLEARCOAT_TEXTURE_ROUGHNESS = false;
19
+ _this.CLEARCOAT_TEXTUREDIRECTUV = 0;
20
+ _this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;
21
+ _this.CLEARCOAT_BUMP = false;
22
+ _this.CLEARCOAT_BUMPDIRECTUV = 0;
23
+ _this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
24
+ _this.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;
25
+ _this.CLEARCOAT_REMAP_F0 = false;
26
+ _this.CLEARCOAT_TINT = false;
27
+ _this.CLEARCOAT_TINT_TEXTURE = false;
28
+ _this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;
29
+ _this.CLEARCOAT_TINT_GAMMATEXTURE = false;
30
+ return _this;
31
+ }
32
+ return MaterialClearCoatDefines;
33
+ }(MaterialDefines));
34
+ export { MaterialClearCoatDefines };
35
+ /**
36
+ * Plugin that implements the clear coat component of the PBR material
37
+ */
38
+ var PBRClearCoatConfiguration = /** @class */ (function (_super) {
39
+ __extends(PBRClearCoatConfiguration, _super);
40
+ function PBRClearCoatConfiguration(material, addToPluginList) {
41
+ if (addToPluginList === void 0) { addToPluginList = true; }
42
+ var _this = _super.call(this, material, "PBRClearCoat", 100, new MaterialClearCoatDefines(), addToPluginList) || this;
43
+ _this._isEnabled = false;
16
44
  /**
17
45
  * Defines if the clear coat is enabled in the material.
18
46
  */
19
- this.isEnabled = false;
47
+ _this.isEnabled = false;
20
48
  /**
21
49
  * Defines the clear coat layer strength (between 0 and 1) it defaults to 1.
22
50
  */
23
- this.intensity = 1;
51
+ _this.intensity = 1;
24
52
  /**
25
53
  * Defines the clear coat layer roughness.
26
54
  */
27
- this.roughness = 0;
28
- this._indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;
55
+ _this.roughness = 0;
56
+ _this._indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;
29
57
  /**
30
58
  * Defines the index of refraction of the clear coat.
31
59
  * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence
32
60
  * The default fits with a polyurethane material.
33
61
  * Changing the default value is more performance intensive.
34
62
  */
35
- this.indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;
36
- this._texture = null;
63
+ _this.indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;
64
+ _this._texture = null;
37
65
  /**
38
66
  * Stores the clear coat values in a texture (red channel is intensity and green channel is roughness)
39
67
  * If useRoughnessFromMainTexture is false, the green channel of texture is not used and the green channel of textureRoughness is used instead
40
68
  * if textureRoughness is not empty, else no texture roughness is used
41
69
  */
42
- this.texture = null;
43
- this._useRoughnessFromMainTexture = true;
70
+ _this.texture = null;
71
+ _this._useRoughnessFromMainTexture = true;
44
72
  /**
45
73
  * Indicates that the green channel of the texture property will be used for roughness (default: true)
46
74
  * If false, the green channel from textureRoughness is used for roughness
47
75
  */
48
- this.useRoughnessFromMainTexture = true;
49
- this._textureRoughness = null;
76
+ _this.useRoughnessFromMainTexture = true;
77
+ _this._textureRoughness = null;
50
78
  /**
51
79
  * Stores the clear coat roughness in a texture (green channel)
52
80
  * Not used if useRoughnessFromMainTexture is true
53
81
  */
54
- this.textureRoughness = null;
55
- this._remapF0OnInterfaceChange = true;
82
+ _this.textureRoughness = null;
83
+ _this._remapF0OnInterfaceChange = true;
56
84
  /**
57
85
  * Defines if the F0 value should be remapped to account for the interface change in the material.
58
86
  */
59
- this.remapF0OnInterfaceChange = true;
60
- this._bumpTexture = null;
87
+ _this.remapF0OnInterfaceChange = true;
88
+ _this._bumpTexture = null;
61
89
  /**
62
90
  * Define the clear coat specific bump texture.
63
91
  */
64
- this.bumpTexture = null;
65
- this._isTintEnabled = false;
92
+ _this.bumpTexture = null;
93
+ _this._isTintEnabled = false;
66
94
  /**
67
95
  * Defines if the clear coat tint is enabled in the material.
68
96
  */
69
- this.isTintEnabled = false;
97
+ _this.isTintEnabled = false;
70
98
  /**
71
99
  * Defines the clear coat tint of the material.
72
100
  * This is only use if tint is enabled
73
101
  */
74
- this.tintColor = Color3.White();
102
+ _this.tintColor = Color3.White();
75
103
  /**
76
104
  * Defines the distance at which the tint color should be found in the
77
105
  * clear coat media.
78
106
  * This is only use if tint is enabled
79
107
  */
80
- this.tintColorAtDistance = 1;
108
+ _this.tintColorAtDistance = 1;
81
109
  /**
82
110
  * Defines the clear coat layer thickness.
83
111
  * This is only use if tint is enabled
84
112
  */
85
- this.tintThickness = 1;
86
- this._tintTexture = null;
113
+ _this.tintThickness = 1;
114
+ _this._tintTexture = null;
87
115
  /**
88
116
  * Stores the clear tint values in a texture.
89
117
  * rgb is tint
90
118
  * a is a thickness factor
91
119
  */
92
- this.tintTexture = null;
93
- this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;
120
+ _this.tintTexture = null;
121
+ _this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];
122
+ return _this;
94
123
  }
95
124
  /** @hidden */
96
125
  PBRClearCoatConfiguration.prototype._markAllSubMeshesAsTexturesDirty = function () {
126
+ this._enable(this._isEnabled);
97
127
  this._internalMarkAllSubMeshesAsTexturesDirty();
98
128
  };
99
- /**
100
- * Gets whether the submesh is ready to be used or not.
101
- * @param defines the list of "defines" to update.
102
- * @param scene defines the scene the material belongs to.
103
- * @param engine defines the engine the material belongs to.
104
- * @param disableBumpMap defines whether the material disables bump or not.
105
- * @returns - boolean indicating that the submesh is ready or not.
106
- */
107
- PBRClearCoatConfiguration.prototype.isReadyForSubMesh = function (defines, scene, engine, disableBumpMap) {
129
+ PBRClearCoatConfiguration.prototype.isReadyForSubMesh = function (defines, scene, engine) {
108
130
  if (!this._isEnabled) {
109
131
  return true;
110
132
  }
133
+ var disableBumpMap = this._material._disableBumpMap;
111
134
  if (defines._areTexturesDirty) {
112
135
  if (scene.texturesEnabled) {
113
136
  if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {
@@ -135,12 +158,7 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
135
158
  }
136
159
  return true;
137
160
  };
138
- /**
139
- * Checks to see if a texture is used in the material.
140
- * @param defines the list of "defines" to update.
141
- * @param scene defines the scene to the material belongs to.
142
- */
143
- PBRClearCoatConfiguration.prototype.prepareDefines = function (defines, scene) {
161
+ PBRClearCoatConfiguration.prototype.prepareDefines = function (defines, scene, mesh) {
144
162
  var _a;
145
163
  if (this._isEnabled) {
146
164
  defines.CLEARCOAT = true;
@@ -196,23 +214,16 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
196
214
  defines.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;
197
215
  }
198
216
  };
199
- /**
200
- * Binds the material data.
201
- * @param uniformBuffer defines the Uniform buffer to fill in.
202
- * @param scene defines the scene the material belongs to.
203
- * @param engine defines the engine the material belongs to.
204
- * @param disableBumpMap defines whether the material disables bump or not.
205
- * @param isFrozen defines whether the material is frozen or not.
206
- * @param invertNormalMapX If sets to true, x component of normal map value will be inverted (x = 1.0 - x).
207
- * @param invertNormalMapY If sets to true, y component of normal map value will be inverted (y = 1.0 - y).
208
- * @param subMesh the submesh to bind data for
209
- */
210
- PBRClearCoatConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, engine, disableBumpMap, isFrozen, invertNormalMapX, invertNormalMapY, subMesh) {
217
+ PBRClearCoatConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, engine, subMesh) {
211
218
  var _a, _b, _c, _d, _e, _f, _g, _h;
212
219
  if (!this._isEnabled) {
213
220
  return;
214
221
  }
215
222
  var defines = subMesh.materialDefines;
223
+ var isFrozen = this._material.isFrozen;
224
+ var disableBumpMap = this._material._disableBumpMap;
225
+ var invertNormalMapX = this._material._invertNormalMapX;
226
+ var invertNormalMapY = this._material._invertNormalMapY;
216
227
  var identicalTextures = defines.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL;
217
228
  if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {
218
229
  if (identicalTextures && MaterialFlags.ClearCoatTextureEnabled) {
@@ -271,11 +282,6 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
271
282
  }
272
283
  }
273
284
  };
274
- /**
275
- * Checks to see if a texture is used in the material.
276
- * @param texture - Base texture to use.
277
- * @returns - Boolean specifying if a texture is used in the material.
278
- */
279
285
  PBRClearCoatConfiguration.prototype.hasTexture = function (texture) {
280
286
  if (this._texture === texture) {
281
287
  return true;
@@ -291,10 +297,6 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
291
297
  }
292
298
  return false;
293
299
  };
294
- /**
295
- * Returns an array of the actively used textures.
296
- * @param activeTextures Array of BaseTextures
297
- */
298
300
  PBRClearCoatConfiguration.prototype.getActiveTextures = function (activeTextures) {
299
301
  if (this._texture) {
300
302
  activeTextures.push(this._texture);
@@ -309,10 +311,6 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
309
311
  activeTextures.push(this._tintTexture);
310
312
  }
311
313
  };
312
- /**
313
- * Returns the animatable textures.
314
- * @param animatables Array of animatable textures.
315
- */
316
314
  PBRClearCoatConfiguration.prototype.getAnimatables = function (animatables) {
317
315
  if (this._texture && this._texture.animations && this._texture.animations.length > 0) {
318
316
  animatables.push(this._texture);
@@ -327,10 +325,6 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
327
325
  animatables.push(this._tintTexture);
328
326
  }
329
327
  };
330
- /**
331
- * Disposes the resources of the material.
332
- * @param forceDisposeTextures - Forces the disposal of all textures.
333
- */
334
328
  PBRClearCoatConfiguration.prototype.dispose = function (forceDisposeTextures) {
335
329
  var _a, _b, _c, _d;
336
330
  if (forceDisposeTextures) {
@@ -340,21 +334,10 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
340
334
  (_d = this._tintTexture) === null || _d === void 0 ? void 0 : _d.dispose();
341
335
  }
342
336
  };
343
- /**
344
- * Get the current class name of the texture useful for serialization or dynamic coding.
345
- * @returns "PBRClearCoatConfiguration"
346
- */
347
337
  PBRClearCoatConfiguration.prototype.getClassName = function () {
348
338
  return "PBRClearCoatConfiguration";
349
339
  };
350
- /**
351
- * Add fallbacks to the effect fallbacks list.
352
- * @param defines defines the Base texture to use.
353
- * @param fallbacks defines the current fallback list.
354
- * @param currentRank defines the current fallback rank.
355
- * @returns the new fallback rank.
356
- */
357
- PBRClearCoatConfiguration.AddFallbacks = function (defines, fallbacks, currentRank) {
340
+ PBRClearCoatConfiguration.prototype.addFallbacks = function (defines, fallbacks, currentRank) {
358
341
  if (defines.CLEARCOAT_BUMP) {
359
342
  fallbacks.addFallback(currentRank++, "CLEARCOAT_BUMP");
360
343
  }
@@ -366,61 +349,26 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
366
349
  }
367
350
  return currentRank;
368
351
  };
369
- /**
370
- * Add the required uniforms to the current list.
371
- * @param uniforms defines the current uniform list.
372
- */
373
- PBRClearCoatConfiguration.AddUniforms = function (uniforms) {
374
- uniforms.push("vClearCoatTangentSpaceParams", "vClearCoatParams", "vClearCoatRefractionParams", "vClearCoatTintParams", "clearCoatColorAtDistance", "clearCoatMatrix", "clearCoatRoughnessMatrix", "clearCoatBumpMatrix", "clearCoatTintMatrix", "vClearCoatInfos", "vClearCoatBumpInfos", "vClearCoatTintInfos");
375
- };
376
- /**
377
- * Add the required samplers to the current list.
378
- * @param samplers defines the current sampler list.
379
- */
380
- PBRClearCoatConfiguration.AddSamplers = function (samplers) {
352
+ PBRClearCoatConfiguration.prototype.getSamplers = function (samplers) {
381
353
  samplers.push("clearCoatSampler", "clearCoatRoughnessSampler", "clearCoatBumpSampler", "clearCoatTintSampler");
382
354
  };
383
- /**
384
- * Add the required uniforms to the current buffer.
385
- * @param uniformBuffer defines the current uniform buffer.
386
- */
387
- PBRClearCoatConfiguration.PrepareUniformBuffer = function (uniformBuffer) {
388
- uniformBuffer.addUniform("vClearCoatParams", 2);
389
- uniformBuffer.addUniform("vClearCoatRefractionParams", 4);
390
- uniformBuffer.addUniform("vClearCoatInfos", 4);
391
- uniformBuffer.addUniform("clearCoatMatrix", 16);
392
- uniformBuffer.addUniform("clearCoatRoughnessMatrix", 16);
393
- uniformBuffer.addUniform("vClearCoatBumpInfos", 2);
394
- uniformBuffer.addUniform("vClearCoatTangentSpaceParams", 2);
395
- uniformBuffer.addUniform("clearCoatBumpMatrix", 16);
396
- uniformBuffer.addUniform("vClearCoatTintParams", 4);
397
- uniformBuffer.addUniform("clearCoatColorAtDistance", 1);
398
- uniformBuffer.addUniform("vClearCoatTintInfos", 2);
399
- uniformBuffer.addUniform("clearCoatTintMatrix", 16);
400
- };
401
- /**
402
- * Makes a duplicate of the current configuration into another one.
403
- * @param clearCoatConfiguration define the config where to copy the info
404
- */
405
- PBRClearCoatConfiguration.prototype.copyTo = function (clearCoatConfiguration) {
406
- SerializationHelper.Clone(function () { return clearCoatConfiguration; }, this);
407
- };
408
- /**
409
- * Serializes this clear coat configuration.
410
- * @returns - An object with the serialized config.
411
- */
412
- PBRClearCoatConfiguration.prototype.serialize = function () {
413
- return SerializationHelper.Serialize(this);
414
- };
415
- /**
416
- * Parses a anisotropy Configuration from a serialized object.
417
- * @param source - Serialized object.
418
- * @param scene Defines the scene we are parsing for
419
- * @param rootUrl Defines the rootUrl to load from
420
- */
421
- PBRClearCoatConfiguration.prototype.parse = function (source, scene, rootUrl) {
422
- var _this = this;
423
- SerializationHelper.Parse(function () { return _this; }, source, scene, rootUrl);
355
+ PBRClearCoatConfiguration.prototype.getUniforms = function () {
356
+ return {
357
+ ubo: [
358
+ { name: "vClearCoatParams", size: 2, type: "vec2" },
359
+ { name: "vClearCoatRefractionParams", size: 4, type: "vec4" },
360
+ { name: "vClearCoatInfos", size: 4, type: "vec4" },
361
+ { name: "clearCoatMatrix", size: 16, type: "mat4" },
362
+ { name: "clearCoatRoughnessMatrix", size: 16, type: "mat4" },
363
+ { name: "vClearCoatBumpInfos", size: 2, type: "vec2" },
364
+ { name: "vClearCoatTangentSpaceParams", size: 2, type: "vec2" },
365
+ { name: "clearCoatBumpMatrix", size: 16, type: "mat4" },
366
+ { name: "vClearCoatTintParams", size: 4, type: "vec4" },
367
+ { name: "clearCoatColorAtDistance", size: 1, type: "float" },
368
+ { name: "vClearCoatTintInfos", size: 2, type: "vec2" },
369
+ { name: "clearCoatTintMatrix", size: 16, type: "mat4" },
370
+ ],
371
+ };
424
372
  };
425
373
  /**
426
374
  * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence
@@ -480,6 +428,6 @@ var PBRClearCoatConfiguration = /** @class */ (function () {
480
428
  expandToProperty("_markAllSubMeshesAsTexturesDirty")
481
429
  ], PBRClearCoatConfiguration.prototype, "tintTexture", void 0);
482
430
  return PBRClearCoatConfiguration;
483
- }());
431
+ }(MaterialPluginBase));
484
432
  export { PBRClearCoatConfiguration };
485
433
  //# sourceMappingURL=pbrClearCoatConfiguration.js.map