@babylonjs/core 5.23.0 → 5.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1828) hide show
  1. package/Actions/abstractActionManager.d.ts +6 -6
  2. package/Actions/abstractActionManager.js +1 -1
  3. package/Actions/abstractActionManager.js.map +1 -1
  4. package/Actions/action.d.ts +12 -21
  5. package/Actions/action.js +8 -17
  6. package/Actions/action.js.map +1 -1
  7. package/Actions/actionManager.d.ts +7 -10
  8. package/Actions/actionManager.js +7 -10
  9. package/Actions/actionManager.js.map +1 -1
  10. package/Actions/condition.d.ts +9 -50
  11. package/Actions/condition.js +3 -26
  12. package/Actions/condition.js.map +1 -1
  13. package/Actions/directActions.d.ts +7 -7
  14. package/Actions/directActions.js +7 -7
  15. package/Actions/directActions.js.map +1 -1
  16. package/Actions/directAudioActions.d.ts +2 -2
  17. package/Actions/directAudioActions.js +2 -2
  18. package/Actions/directAudioActions.js.map +1 -1
  19. package/Actions/interpolateValueAction.d.ts +1 -1
  20. package/Actions/interpolateValueAction.js +1 -1
  21. package/Actions/interpolateValueAction.js.map +1 -1
  22. package/Animations/animatable.d.ts +5 -6
  23. package/Animations/animatable.js +1 -2
  24. package/Animations/animatable.js.map +1 -1
  25. package/Animations/animation.d.ts +6 -20
  26. package/Animations/animation.js +6 -20
  27. package/Animations/animation.js.map +1 -1
  28. package/Animations/animationEvent.d.ts +1 -1
  29. package/Animations/animationEvent.js +1 -1
  30. package/Animations/animationEvent.js.map +1 -1
  31. package/Animations/animationGroup.d.ts +4 -4
  32. package/Animations/animationGroup.js +4 -4
  33. package/Animations/animationGroup.js.map +1 -1
  34. package/Animations/easing.d.ts +13 -26
  35. package/Animations/easing.js +13 -26
  36. package/Animations/easing.js.map +1 -1
  37. package/Animations/runtimeAnimation.d.ts +3 -4
  38. package/Animations/runtimeAnimation.js +1 -2
  39. package/Animations/runtimeAnimation.js.map +1 -1
  40. package/Audio/audioSceneComponent.d.ts +2 -2
  41. package/Audio/audioSceneComponent.js.map +1 -1
  42. package/Audio/sound.d.ts +3 -4
  43. package/Audio/sound.js +2 -3
  44. package/Audio/sound.js.map +1 -1
  45. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  47. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  48. package/Behaviors/Cameras/autoRotationBehavior.d.ts +1 -1
  49. package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
  50. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  51. package/Behaviors/Cameras/bouncingBehavior.d.ts +1 -1
  52. package/Behaviors/Cameras/bouncingBehavior.js +1 -1
  53. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  54. package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
  55. package/Behaviors/Cameras/framingBehavior.js +1 -1
  56. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  57. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  58. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  59. package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
  60. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  61. package/Behaviors/Meshes/followBehavior.d.ts +1 -1
  62. package/Behaviors/Meshes/followBehavior.js +1 -1
  63. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  64. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  65. package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
  66. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  67. package/Bones/bone.d.ts +8 -10
  68. package/Bones/bone.js +8 -10
  69. package/Bones/bone.js.map +1 -1
  70. package/Bones/skeleton.d.ts +8 -10
  71. package/Bones/skeleton.js +8 -10
  72. package/Bones/skeleton.js.map +1 -1
  73. package/Buffers/buffer.d.ts +6 -6
  74. package/Buffers/buffer.js +14 -16
  75. package/Buffers/buffer.js.map +1 -1
  76. package/Buffers/storageBuffer.d.ts +1 -1
  77. package/Buffers/storageBuffer.js +1 -1
  78. package/Buffers/storageBuffer.js.map +1 -1
  79. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
  80. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
  81. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  82. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
  83. package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
  84. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  85. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +2 -2
  86. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +1 -1
  87. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
  88. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
  89. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
  90. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  91. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
  92. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  93. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  94. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
  95. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
  96. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  97. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
  98. package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
  99. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  100. package/Cameras/RigModes/vrRigMode.d.ts +1 -3
  101. package/Cameras/RigModes/vrRigMode.js +1 -3
  102. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  103. package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
  104. package/Cameras/RigModes/webVRRigMode.js +1 -3
  105. package/Cameras/RigModes/webVRRigMode.js.map +1 -1
  106. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
  107. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
  108. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  109. package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
  110. package/Cameras/VR/vrCameraMetrics.js +4 -4
  111. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  112. package/Cameras/VR/vrExperienceHelper.js +19 -24
  113. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  114. package/Cameras/VR/webVRCamera.d.ts +9 -9
  115. package/Cameras/VR/webVRCamera.js +9 -9
  116. package/Cameras/VR/webVRCamera.js.map +1 -1
  117. package/Cameras/arcRotateCamera.d.ts +12 -13
  118. package/Cameras/arcRotateCamera.js +9 -10
  119. package/Cameras/arcRotateCamera.js.map +1 -1
  120. package/Cameras/camera.d.ts +31 -40
  121. package/Cameras/camera.js +29 -38
  122. package/Cameras/camera.js.map +1 -1
  123. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  124. package/Cameras/deviceOrientationCamera.js +1 -1
  125. package/Cameras/deviceOrientationCamera.js.map +1 -1
  126. package/Cameras/flyCamera.d.ts +8 -12
  127. package/Cameras/flyCamera.js +6 -10
  128. package/Cameras/flyCamera.js.map +1 -1
  129. package/Cameras/followCamera.d.ts +2 -2
  130. package/Cameras/followCamera.js +2 -2
  131. package/Cameras/followCamera.js.map +1 -1
  132. package/Cameras/freeCamera.d.ts +7 -8
  133. package/Cameras/freeCamera.js +5 -6
  134. package/Cameras/freeCamera.js.map +1 -1
  135. package/Cameras/freeCameraInputsManager.d.ts +2 -2
  136. package/Cameras/freeCameraInputsManager.js +2 -2
  137. package/Cameras/freeCameraInputsManager.js.map +1 -1
  138. package/Cameras/gamepadCamera.d.ts +1 -1
  139. package/Cameras/gamepadCamera.js +1 -1
  140. package/Cameras/gamepadCamera.js.map +1 -1
  141. package/Cameras/targetCamera.d.ts +22 -25
  142. package/Cameras/targetCamera.js +21 -24
  143. package/Cameras/targetCamera.js.map +1 -1
  144. package/Cameras/touchCamera.d.ts +2 -2
  145. package/Cameras/touchCamera.js +2 -2
  146. package/Cameras/touchCamera.js.map +1 -1
  147. package/Cameras/universalCamera.d.ts +1 -1
  148. package/Cameras/universalCamera.js +1 -1
  149. package/Cameras/universalCamera.js.map +1 -1
  150. package/Cameras/virtualJoysticksCamera.d.ts +1 -1
  151. package/Cameras/virtualJoysticksCamera.js +1 -1
  152. package/Cameras/virtualJoysticksCamera.js.map +1 -1
  153. package/Collisions/collider.d.ts +13 -44
  154. package/Collisions/collider.js +10 -41
  155. package/Collisions/collider.js.map +1 -1
  156. package/Collisions/collisionCoordinator.d.ts +2 -2
  157. package/Collisions/collisionCoordinator.js +1 -1
  158. package/Collisions/collisionCoordinator.js.map +1 -1
  159. package/Collisions/intersectionInfo.d.ts +1 -1
  160. package/Collisions/intersectionInfo.js +1 -1
  161. package/Collisions/intersectionInfo.js.map +1 -1
  162. package/Collisions/meshCollisionData.d.ts +1 -1
  163. package/Collisions/meshCollisionData.js +1 -1
  164. package/Collisions/meshCollisionData.js.map +1 -1
  165. package/Collisions/pickingInfo.d.ts +1 -1
  166. package/Collisions/pickingInfo.js +1 -1
  167. package/Collisions/pickingInfo.js.map +1 -1
  168. package/Compute/IComputeContext.d.ts +1 -1
  169. package/Compute/IComputeContext.js.map +1 -1
  170. package/Compute/IComputePipelineContext.d.ts +2 -2
  171. package/Compute/IComputePipelineContext.js.map +1 -1
  172. package/Compute/computeEffect.d.ts +5 -5
  173. package/Compute/computeEffect.js +5 -5
  174. package/Compute/computeEffect.js.map +1 -1
  175. package/Culling/Octrees/octreeBlock.d.ts +1 -9
  176. package/Culling/Octrees/octreeBlock.js +1 -9
  177. package/Culling/Octrees/octreeBlock.js.map +1 -1
  178. package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
  179. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  180. package/Culling/boundingBox.d.ts +6 -7
  181. package/Culling/boundingBox.js +5 -6
  182. package/Culling/boundingBox.js.map +1 -1
  183. package/Culling/boundingInfo.d.ts +1 -2
  184. package/Culling/boundingInfo.js +1 -2
  185. package/Culling/boundingInfo.js.map +1 -1
  186. package/Culling/boundingSphere.d.ts +1 -2
  187. package/Culling/boundingSphere.js +1 -2
  188. package/Culling/boundingSphere.js.map +1 -1
  189. package/Culling/ray.d.ts +7 -7
  190. package/Culling/ray.js +1 -1
  191. package/Culling/ray.js.map +1 -1
  192. package/Debug/debugLayer.d.ts +2 -2
  193. package/Debug/debugLayer.js +1 -1
  194. package/Debug/debugLayer.js.map +1 -1
  195. package/Debug/physicsViewer.d.ts +6 -6
  196. package/Debug/physicsViewer.js +4 -4
  197. package/Debug/physicsViewer.js.map +1 -1
  198. package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
  199. package/DeviceInput/InputDevices/deviceEnums.js +1 -1
  200. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  201. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
  202. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  203. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  204. package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
  205. package/DeviceInput/internalDeviceSourceManager.js +1 -1
  206. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  207. package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
  208. package/DeviceInput/nativeDeviceInputSystem.js +1 -1
  209. package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
  210. package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
  211. package/DeviceInput/webDeviceInputSystem.js +1 -1
  212. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  213. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  214. package/Engines/Extensions/engine.computeShader.js +1 -1
  215. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  216. package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
  217. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  218. package/Engines/Extensions/engine.debugging.d.ts +4 -4
  219. package/Engines/Extensions/engine.debugging.js.map +1 -1
  220. package/Engines/Extensions/engine.multiRender.js +8 -10
  221. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  222. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  223. package/Engines/Extensions/engine.multiview.js.map +1 -1
  224. package/Engines/Extensions/engine.query.d.ts +24 -24
  225. package/Engines/Extensions/engine.query.js +8 -8
  226. package/Engines/Extensions/engine.query.js.map +1 -1
  227. package/Engines/Extensions/engine.rawTexture.js +3 -7
  228. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  229. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  230. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  231. package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
  232. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  233. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  234. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  235. package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
  236. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  237. package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
  238. package/Engines/Extensions/engine.views.d.ts +2 -2
  239. package/Engines/Extensions/engine.views.js.map +1 -1
  240. package/Engines/Extensions/engine.webVR.d.ts +13 -13
  241. package/Engines/Extensions/engine.webVR.js.map +1 -1
  242. package/Engines/ICanvas.d.ts +11 -0
  243. package/Engines/ICanvas.js.map +1 -1
  244. package/Engines/IDrawContext.d.ts +1 -1
  245. package/Engines/IDrawContext.js.map +1 -1
  246. package/Engines/IMaterialContext.d.ts +1 -1
  247. package/Engines/IMaterialContext.js.map +1 -1
  248. package/Engines/IPipelineContext.d.ts +5 -5
  249. package/Engines/IPipelineContext.js.map +1 -1
  250. package/Engines/Native/nativeDataStream.d.ts +2 -2
  251. package/Engines/Native/nativeDataStream.js +1 -1
  252. package/Engines/Native/nativeDataStream.js.map +1 -1
  253. package/Engines/Native/nativeInterfaces.d.ts +10 -10
  254. package/Engines/Native/nativeInterfaces.js.map +1 -1
  255. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  256. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  257. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  258. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  259. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  260. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  261. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  262. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  263. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  264. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  265. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  266. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  267. package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
  268. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  269. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  270. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  271. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  272. package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
  273. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  274. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  275. package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
  276. package/Engines/Processors/shaderCodeCursor.js +1 -1
  277. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  278. package/Engines/Processors/shaderCodeNode.d.ts +1 -1
  279. package/Engines/Processors/shaderCodeNode.js +1 -1
  280. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  281. package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
  282. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  283. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  284. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  285. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  286. package/Engines/Processors/shaderProcessor.d.ts +2 -2
  287. package/Engines/Processors/shaderProcessor.js +2 -2
  288. package/Engines/Processors/shaderProcessor.js.map +1 -1
  289. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
  290. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  291. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  292. package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
  293. package/Engines/WebGL/webGLHardwareTexture.js +1 -1
  294. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  295. package/Engines/WebGL/webGLPipelineContext.d.ts +29 -38
  296. package/Engines/WebGL/webGLPipelineContext.js +95 -326
  297. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  298. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
  299. package/Engines/WebGL/webGLRenderTargetWrapper.js +3 -3
  300. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  301. package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
  302. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  303. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  304. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
  305. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  306. package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
  307. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  308. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  309. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  310. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  311. package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
  312. package/Engines/WebGPU/webgpuBundleList.js +7 -7
  313. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  314. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
  315. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  316. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  317. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  318. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
  319. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  320. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
  321. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  322. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
  323. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  324. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  325. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  326. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  327. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  328. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  329. package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
  330. package/Engines/WebGPU/webgpuClearQuad.js +1 -1
  331. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  332. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  333. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  334. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  335. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
  336. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
  337. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  338. package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
  339. package/Engines/WebGPU/webgpuConstants.js +38 -38
  340. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  341. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
  342. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  343. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  344. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  345. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  346. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  347. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  348. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  349. package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
  350. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
  351. package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
  352. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  353. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  354. package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
  355. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  356. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
  357. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  358. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  359. package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
  360. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  361. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  362. package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
  363. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  364. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  365. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
  366. package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
  367. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
  368. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  369. package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
  370. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  371. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
  372. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
  373. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  374. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
  375. package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
  376. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  377. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
  378. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
  379. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  380. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
  381. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
  382. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  383. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
  384. package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
  385. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  386. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
  387. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  388. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  389. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  390. package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
  391. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  392. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
  393. package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
  394. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  395. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
  396. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  397. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  398. package/Engines/constants.d.ts +1 -1
  399. package/Engines/constants.js +1 -1
  400. package/Engines/constants.js.map +1 -1
  401. package/Engines/engine.d.ts +18 -37
  402. package/Engines/engine.js +18 -37
  403. package/Engines/engine.js.map +1 -1
  404. package/Engines/engineFeatures.d.ts +2 -2
  405. package/Engines/engineFeatures.js.map +1 -1
  406. package/Engines/engineStore.d.ts +1 -1
  407. package/Engines/engineStore.js +1 -1
  408. package/Engines/engineStore.js.map +1 -1
  409. package/Engines/nativeEngine.d.ts +17 -49
  410. package/Engines/nativeEngine.js +22 -68
  411. package/Engines/nativeEngine.js.map +1 -1
  412. package/Engines/nullEngine.d.ts +12 -40
  413. package/Engines/nullEngine.js +12 -40
  414. package/Engines/nullEngine.js.map +1 -1
  415. package/Engines/performanceConfigurator.d.ts +6 -7
  416. package/Engines/performanceConfigurator.js +6 -7
  417. package/Engines/performanceConfigurator.js.map +1 -1
  418. package/Engines/renderTargetWrapper.d.ts +9 -9
  419. package/Engines/renderTargetWrapper.js +12 -10
  420. package/Engines/renderTargetWrapper.js.map +1 -1
  421. package/Engines/thinEngine.d.ts +96 -192
  422. package/Engines/thinEngine.js +82 -175
  423. package/Engines/thinEngine.js.map +1 -1
  424. package/Engines/webgpuEngine.d.ts +89 -145
  425. package/Engines/webgpuEngine.js +75 -128
  426. package/Engines/webgpuEngine.js.map +1 -1
  427. package/Events/clipboardEvents.d.ts +1 -1
  428. package/Events/clipboardEvents.js +1 -1
  429. package/Events/clipboardEvents.js.map +1 -1
  430. package/Events/pointerEvents.d.ts +4 -0
  431. package/Events/pointerEvents.js +4 -0
  432. package/Events/pointerEvents.js.map +1 -1
  433. package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
  434. package/Gamepads/Controllers/oculusTouchController.js +1 -1
  435. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  436. package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
  437. package/Gamepads/Controllers/poseEnabledController.js +6 -7
  438. package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
  439. package/Gamepads/Controllers/windowsMotionController.d.ts +2 -2
  440. package/Gamepads/Controllers/windowsMotionController.js +2 -2
  441. package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
  442. package/Gamepads/gamepad.d.ts +1 -1
  443. package/Gamepads/gamepad.js +1 -1
  444. package/Gamepads/gamepad.js.map +1 -1
  445. package/Gamepads/gamepadManager.d.ts +2 -2
  446. package/Gamepads/gamepadManager.js +2 -2
  447. package/Gamepads/gamepadManager.js.map +1 -1
  448. package/Gamepads/gamepadSceneComponent.d.ts +1 -1
  449. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  450. package/Gizmos/axisDragGizmo.d.ts +2 -8
  451. package/Gizmos/axisDragGizmo.js +2 -8
  452. package/Gizmos/axisDragGizmo.js.map +1 -1
  453. package/Gizmos/boundingBoxGizmo.d.ts +4 -0
  454. package/Gizmos/boundingBoxGizmo.js +6 -0
  455. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  456. package/Gizmos/cameraGizmo.d.ts +1 -1
  457. package/Gizmos/cameraGizmo.js +1 -1
  458. package/Gizmos/cameraGizmo.js.map +1 -1
  459. package/Gizmos/lightGizmo.d.ts +1 -1
  460. package/Gizmos/lightGizmo.js +1 -1
  461. package/Gizmos/lightGizmo.js.map +1 -1
  462. package/Gizmos/planeDragGizmo.d.ts +1 -3
  463. package/Gizmos/planeDragGizmo.js +1 -3
  464. package/Gizmos/planeDragGizmo.js.map +1 -1
  465. package/Helpers/sceneHelpers.d.ts +1 -1
  466. package/Helpers/sceneHelpers.js +1 -1
  467. package/Helpers/sceneHelpers.js.map +1 -1
  468. package/Inputs/scene.inputManager.d.ts +3 -3
  469. package/Inputs/scene.inputManager.js +5 -4
  470. package/Inputs/scene.inputManager.js.map +1 -1
  471. package/Instrumentation/timeToken.d.ts +1 -1
  472. package/Instrumentation/timeToken.js +1 -1
  473. package/Instrumentation/timeToken.js.map +1 -1
  474. package/Layers/effectLayer.d.ts +5 -6
  475. package/Layers/effectLayer.js +3 -4
  476. package/Layers/effectLayer.js.map +1 -1
  477. package/Layers/glowLayer.d.ts +4 -4
  478. package/Layers/glowLayer.js +3 -3
  479. package/Layers/glowLayer.js.map +1 -1
  480. package/Layers/highlightLayer.d.ts +4 -4
  481. package/Layers/highlightLayer.js +3 -3
  482. package/Layers/highlightLayer.js.map +1 -1
  483. package/Layers/layer.d.ts +1 -1
  484. package/Layers/layer.js +1 -1
  485. package/Layers/layer.js.map +1 -1
  486. package/LensFlares/lensFlare.d.ts +1 -1
  487. package/LensFlares/lensFlare.js.map +1 -1
  488. package/LensFlares/lensFlareSystem.d.ts +4 -6
  489. package/LensFlares/lensFlareSystem.js +4 -6
  490. package/LensFlares/lensFlareSystem.js.map +1 -1
  491. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
  492. package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
  493. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  494. package/Lights/Shadows/shadowGenerator.d.ts +1 -2
  495. package/Lights/Shadows/shadowGenerator.js +1 -2
  496. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  497. package/Lights/directionalLight.d.ts +2 -2
  498. package/Lights/directionalLight.js +2 -2
  499. package/Lights/directionalLight.js.map +1 -1
  500. package/Lights/hemisphericLight.d.ts +3 -3
  501. package/Lights/hemisphericLight.js +3 -3
  502. package/Lights/hemisphericLight.js.map +1 -1
  503. package/Lights/light.d.ts +11 -11
  504. package/Lights/light.js +8 -8
  505. package/Lights/light.js.map +1 -1
  506. package/Lights/lightConstants.d.ts +1 -1
  507. package/Lights/lightConstants.js +1 -1
  508. package/Lights/lightConstants.js.map +1 -1
  509. package/Lights/shadowLight.d.ts +3 -3
  510. package/Lights/shadowLight.js +3 -3
  511. package/Lights/shadowLight.js.map +1 -1
  512. package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
  513. package/Loading/Plugins/babylonFileLoader.js +1 -1
  514. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  515. package/Loading/sceneLoader.d.ts +1 -1
  516. package/Loading/sceneLoader.js.map +1 -1
  517. package/Materials/Background/backgroundMaterial.js +2 -2
  518. package/Materials/Background/backgroundMaterial.js.map +1 -1
  519. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
  520. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  521. package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
  522. package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
  523. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  524. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
  525. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  526. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
  527. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  528. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
  529. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  530. package/Materials/Node/nodeMaterial.d.ts +3 -3
  531. package/Materials/Node/nodeMaterial.js +4 -4
  532. package/Materials/Node/nodeMaterial.js.map +1 -1
  533. package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
  534. package/Materials/Node/nodeMaterialBlock.js +6 -12
  535. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  536. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
  537. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
  538. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  539. package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
  540. package/Materials/Node/nodeMaterialBuildState.js +21 -57
  541. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  542. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  543. package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
  544. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  545. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  546. package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
  547. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  548. package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
  549. package/Materials/PBR/pbrBaseMaterial.js +66 -66
  550. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  551. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
  552. package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
  553. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  554. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
  555. package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
  556. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  557. package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
  558. package/Materials/PBR/pbrSheenConfiguration.js +2 -2
  559. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  560. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
  561. package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
  562. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  563. package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -1
  564. package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
  565. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  566. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
  567. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  568. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  569. package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
  570. package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
  571. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  572. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
  573. package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
  574. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  575. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
  576. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
  577. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  578. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
  579. package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
  580. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  581. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  582. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  583. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  584. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
  585. package/Materials/Textures/Procedurals/customProceduralTexture.js +9 -3
  586. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  587. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +15 -16
  588. package/Materials/Textures/Procedurals/proceduralTexture.js +13 -14
  589. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  590. package/Materials/Textures/baseTexture.d.ts +17 -23
  591. package/Materials/Textures/baseTexture.js +20 -23
  592. package/Materials/Textures/baseTexture.js.map +1 -1
  593. package/Materials/Textures/colorGradingTexture.d.ts +1 -1
  594. package/Materials/Textures/colorGradingTexture.js +1 -1
  595. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  596. package/Materials/Textures/cubeTexture.d.ts +3 -3
  597. package/Materials/Textures/cubeTexture.js +3 -3
  598. package/Materials/Textures/cubeTexture.js.map +1 -1
  599. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  600. package/Materials/Textures/dynamicTexture.js +1 -1
  601. package/Materials/Textures/dynamicTexture.js.map +1 -1
  602. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  603. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  604. package/Materials/Textures/internalTexture.d.ts +35 -37
  605. package/Materials/Textures/internalTexture.js +34 -36
  606. package/Materials/Textures/internalTexture.js.map +1 -1
  607. package/Materials/Textures/multiRenderTarget.d.ts +1 -3
  608. package/Materials/Textures/multiRenderTarget.js +1 -3
  609. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  610. package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
  611. package/Materials/Textures/prePassRenderTarget.js +6 -6
  612. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  613. package/Materials/Textures/rawCubeTexture.d.ts +1 -1
  614. package/Materials/Textures/rawCubeTexture.js +1 -1
  615. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  616. package/Materials/Textures/renderTargetTexture.d.ts +10 -16
  617. package/Materials/Textures/renderTargetTexture.js +24 -28
  618. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  619. package/Materials/Textures/texture.d.ts +6 -18
  620. package/Materials/Textures/texture.js +13 -23
  621. package/Materials/Textures/texture.js.map +1 -1
  622. package/Materials/Textures/textureSampler.d.ts +5 -5
  623. package/Materials/Textures/textureSampler.js +5 -5
  624. package/Materials/Textures/textureSampler.js.map +1 -1
  625. package/Materials/Textures/thinTexture.d.ts +2 -2
  626. package/Materials/Textures/thinTexture.js +2 -2
  627. package/Materials/Textures/thinTexture.js.map +1 -1
  628. package/Materials/Textures/videoTexture.d.ts +1 -1
  629. package/Materials/Textures/videoTexture.js +1 -1
  630. package/Materials/Textures/videoTexture.js.map +1 -1
  631. package/Materials/colorCurves.d.ts +3 -3
  632. package/Materials/colorCurves.js +3 -3
  633. package/Materials/colorCurves.js.map +1 -1
  634. package/Materials/drawWrapper.d.ts +1 -1
  635. package/Materials/drawWrapper.js +1 -1
  636. package/Materials/drawWrapper.js.map +1 -1
  637. package/Materials/effect.d.ts +44 -44
  638. package/Materials/effect.js +50 -310
  639. package/Materials/effect.js.map +1 -1
  640. package/Materials/effectRenderer.d.ts +1 -1
  641. package/Materials/effectRenderer.js.map +1 -1
  642. package/Materials/fresnelParameters.d.ts +1 -1
  643. package/Materials/fresnelParameters.js +1 -1
  644. package/Materials/fresnelParameters.js.map +1 -1
  645. package/Materials/imageProcessingConfiguration.d.ts +9 -9
  646. package/Materials/imageProcessingConfiguration.js +8 -8
  647. package/Materials/imageProcessingConfiguration.js.map +1 -1
  648. package/Materials/material.d.ts +21 -26
  649. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  650. package/Materials/material.detailMapConfiguration.js +2 -2
  651. package/Materials/material.detailMapConfiguration.js.map +1 -1
  652. package/Materials/material.js +17 -22
  653. package/Materials/material.js.map +1 -1
  654. package/Materials/materialDefines.d.ts +14 -14
  655. package/Materials/materialDefines.js +13 -13
  656. package/Materials/materialDefines.js.map +1 -1
  657. package/Materials/materialHelper.js +1 -1
  658. package/Materials/materialHelper.js.map +1 -1
  659. package/Materials/materialPluginEvent.d.ts +15 -15
  660. package/Materials/materialPluginEvent.js +1 -1
  661. package/Materials/materialPluginEvent.js.map +1 -1
  662. package/Materials/materialPluginManager.d.ts +2 -4
  663. package/Materials/materialPluginManager.js +2 -4
  664. package/Materials/materialPluginManager.js.map +1 -1
  665. package/Materials/multiMaterial.d.ts +1 -1
  666. package/Materials/multiMaterial.js +1 -1
  667. package/Materials/multiMaterial.js.map +1 -1
  668. package/Materials/pushMaterial.d.ts +1 -1
  669. package/Materials/pushMaterial.js +1 -1
  670. package/Materials/pushMaterial.js.map +1 -1
  671. package/Materials/shaderMaterial.d.ts +25 -25
  672. package/Materials/shaderMaterial.js +25 -25
  673. package/Materials/shaderMaterial.js.map +1 -1
  674. package/Materials/standardMaterial.d.ts +3 -3
  675. package/Materials/standardMaterial.js +4 -4
  676. package/Materials/standardMaterial.js.map +1 -1
  677. package/Materials/uniformBuffer.d.ts +4 -4
  678. package/Materials/uniformBuffer.js +4 -4
  679. package/Materials/uniformBuffer.js.map +1 -1
  680. package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
  681. package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
  682. package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
  683. package/Maths/index.d.ts +1 -0
  684. package/Maths/index.js +1 -0
  685. package/Maths/index.js.map +1 -1
  686. package/Maths/math.color.d.ts +1 -1
  687. package/Maths/math.color.js +1 -1
  688. package/Maths/math.color.js.map +1 -1
  689. package/Maths/math.functions.d.ts +2 -2
  690. package/Maths/math.functions.js +2 -2
  691. package/Maths/math.functions.js.map +1 -1
  692. package/Maths/math.isovector.d.ts +1 -1
  693. package/Maths/math.isovector.js +1 -1
  694. package/Maths/math.isovector.js.map +1 -1
  695. package/Maths/math.like.d.ts +8 -8
  696. package/Maths/math.like.js.map +1 -1
  697. package/Maths/math.polar.d.ts +420 -0
  698. package/Maths/math.polar.js +651 -0
  699. package/Maths/math.polar.js.map +1 -0
  700. package/Maths/math.scalar.d.ts +2 -2
  701. package/Maths/math.scalar.js +2 -2
  702. package/Maths/math.scalar.js.map +1 -1
  703. package/Maths/math.vector.d.ts +24 -26
  704. package/Maths/math.vector.js +18 -20
  705. package/Maths/math.vector.js.map +1 -1
  706. package/Meshes/Builders/tubeBuilder.d.ts +2 -2
  707. package/Meshes/Builders/tubeBuilder.js +2 -2
  708. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  709. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  710. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  711. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  712. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
  713. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  714. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  715. package/Meshes/abstractMesh.d.ts +49 -71
  716. package/Meshes/abstractMesh.js +56 -73
  717. package/Meshes/abstractMesh.js.map +1 -1
  718. package/Meshes/buffer.d.ts +1 -1
  719. package/Meshes/buffer.js +1 -1
  720. package/Meshes/buffer.js.map +1 -1
  721. package/Meshes/geodesicMesh.d.ts +15 -28
  722. package/Meshes/geodesicMesh.js +11 -24
  723. package/Meshes/geodesicMesh.js.map +1 -1
  724. package/Meshes/geometry.d.ts +18 -23
  725. package/Meshes/geometry.js +10 -15
  726. package/Meshes/geometry.js.map +1 -1
  727. package/Meshes/groundMesh.d.ts +8 -8
  728. package/Meshes/groundMesh.js.map +1 -1
  729. package/Meshes/instancedMesh.d.ts +13 -17
  730. package/Meshes/instancedMesh.js +11 -15
  731. package/Meshes/instancedMesh.js.map +1 -1
  732. package/Meshes/linesMesh.d.ts +5 -8
  733. package/Meshes/linesMesh.js +5 -8
  734. package/Meshes/linesMesh.js.map +1 -1
  735. package/Meshes/mesh.d.ts +49 -94
  736. package/Meshes/mesh.js +53 -95
  737. package/Meshes/mesh.js.map +1 -1
  738. package/Meshes/mesh.vertexData.d.ts +3 -18
  739. package/Meshes/mesh.vertexData.js +3 -18
  740. package/Meshes/mesh.vertexData.js.map +1 -1
  741. package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
  742. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  743. package/Meshes/subMesh.d.ts +22 -52
  744. package/Meshes/subMesh.js +19 -49
  745. package/Meshes/subMesh.js.map +1 -1
  746. package/Meshes/subMesh.project.d.ts +2 -2
  747. package/Meshes/subMesh.project.js +2 -12
  748. package/Meshes/subMesh.project.js.map +1 -1
  749. package/Meshes/thinInstanceMesh.d.ts +5 -5
  750. package/Meshes/thinInstanceMesh.js.map +1 -1
  751. package/Meshes/transformNode.d.ts +8 -9
  752. package/Meshes/transformNode.js +11 -9
  753. package/Meshes/transformNode.js.map +1 -1
  754. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +2 -2
  755. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
  756. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  757. package/Misc/HighDynamicRange/hdr.d.ts +3 -3
  758. package/Misc/HighDynamicRange/hdr.js +3 -3
  759. package/Misc/HighDynamicRange/hdr.js.map +1 -1
  760. package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
  761. package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
  762. package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
  763. package/Misc/arrayTools.d.ts +14 -13
  764. package/Misc/arrayTools.js +70 -39
  765. package/Misc/arrayTools.js.map +1 -1
  766. package/Misc/assetsManager.d.ts +4 -6
  767. package/Misc/assetsManager.js +4 -6
  768. package/Misc/assetsManager.js.map +1 -1
  769. package/Misc/basis.js +2 -2
  770. package/Misc/basis.js.map +1 -1
  771. package/Misc/coroutine.d.ts +11 -25
  772. package/Misc/coroutine.js +7 -21
  773. package/Misc/coroutine.js.map +1 -1
  774. package/Misc/dds.d.ts +1 -10
  775. package/Misc/dds.js +1 -10
  776. package/Misc/dds.js.map +1 -1
  777. package/Misc/decorators.d.ts +5 -15
  778. package/Misc/decorators.js +6 -16
  779. package/Misc/decorators.js.map +1 -1
  780. package/Misc/depthReducer.d.ts +1 -5
  781. package/Misc/depthReducer.js +1 -5
  782. package/Misc/depthReducer.js.map +1 -1
  783. package/Misc/devTools.d.ts +1 -2
  784. package/Misc/devTools.js +1 -2
  785. package/Misc/devTools.js.map +1 -1
  786. package/Misc/environmentTextureTools.d.ts +5 -10
  787. package/Misc/environmentTextureTools.js +6 -11
  788. package/Misc/environmentTextureTools.js.map +1 -1
  789. package/Misc/fileTools.d.ts +15 -27
  790. package/Misc/fileTools.js +33 -38
  791. package/Misc/fileTools.js.map +1 -1
  792. package/Misc/khronosTextureContainer.d.ts +1 -3
  793. package/Misc/khronosTextureContainer.js +1 -3
  794. package/Misc/khronosTextureContainer.js.map +1 -1
  795. package/Misc/khronosTextureContainer2.d.ts +1 -4
  796. package/Misc/khronosTextureContainer2.js +1 -4
  797. package/Misc/khronosTextureContainer2.js.map +1 -1
  798. package/Misc/observable.d.ts +4 -5
  799. package/Misc/observable.js +3 -4
  800. package/Misc/observable.js.map +1 -1
  801. package/Misc/performanceMonitor.d.ts +3 -3
  802. package/Misc/performanceMonitor.js +3 -3
  803. package/Misc/performanceMonitor.js.map +1 -1
  804. package/Misc/pivotTools.d.ts +3 -5
  805. package/Misc/pivotTools.js +3 -5
  806. package/Misc/pivotTools.js.map +1 -1
  807. package/Misc/rgbdTextureTools.d.ts +1 -1
  808. package/Misc/rgbdTextureTools.js +1 -1
  809. package/Misc/rgbdTextureTools.js.map +1 -1
  810. package/Misc/sceneOptimizer.d.ts +7 -7
  811. package/Misc/sceneOptimizer.js +7 -7
  812. package/Misc/sceneOptimizer.js.map +1 -1
  813. package/Misc/screenshotTools.js +1 -1
  814. package/Misc/screenshotTools.js.map +1 -1
  815. package/Misc/stringDictionary.d.ts +6 -6
  816. package/Misc/stringDictionary.js +6 -6
  817. package/Misc/stringDictionary.js.map +1 -1
  818. package/Misc/tags.d.ts +2 -6
  819. package/Misc/tags.js +2 -6
  820. package/Misc/tags.js.map +1 -1
  821. package/Misc/textureTools.d.ts +4 -4
  822. package/Misc/textureTools.js +4 -4
  823. package/Misc/textureTools.js.map +1 -1
  824. package/Misc/tga.d.ts +14 -70
  825. package/Misc/tga.js +14 -70
  826. package/Misc/tga.js.map +1 -1
  827. package/Misc/tools.d.ts +6 -6
  828. package/Misc/tools.js +6 -6
  829. package/Misc/tools.js.map +1 -1
  830. package/Misc/typeStore.d.ts +2 -5
  831. package/Misc/typeStore.js +3 -6
  832. package/Misc/typeStore.js.map +1 -1
  833. package/Misc/videoRecorder.d.ts +1 -1
  834. package/Misc/videoRecorder.js +1 -1
  835. package/Misc/videoRecorder.js.map +1 -1
  836. package/Misc/webRequest.d.ts +2 -2
  837. package/Misc/webRequest.js +1 -1
  838. package/Misc/webRequest.js.map +1 -1
  839. package/Morph/morphTarget.d.ts +1 -1
  840. package/Morph/morphTarget.js +1 -1
  841. package/Morph/morphTarget.js.map +1 -1
  842. package/Morph/morphTargetManager.d.ts +3 -4
  843. package/Morph/morphTargetManager.js +2 -3
  844. package/Morph/morphTargetManager.js.map +1 -1
  845. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
  846. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  847. package/Particles/IParticleSystem.d.ts +1 -1
  848. package/Particles/IParticleSystem.js.map +1 -1
  849. package/Particles/baseParticleSystem.d.ts +6 -9
  850. package/Particles/baseParticleSystem.js +5 -8
  851. package/Particles/baseParticleSystem.js.map +1 -1
  852. package/Particles/cloudPoint.d.ts +16 -19
  853. package/Particles/cloudPoint.js +21 -29
  854. package/Particles/cloudPoint.js.map +1 -1
  855. package/Particles/computeShaderParticleSystem.d.ts +1 -1
  856. package/Particles/computeShaderParticleSystem.js +1 -1
  857. package/Particles/computeShaderParticleSystem.js.map +1 -1
  858. package/Particles/gpuParticleSystem.d.ts +14 -20
  859. package/Particles/gpuParticleSystem.js +6 -12
  860. package/Particles/gpuParticleSystem.js.map +1 -1
  861. package/Particles/particle.d.ts +30 -31
  862. package/Particles/particle.js +16 -17
  863. package/Particles/particle.js.map +1 -1
  864. package/Particles/particleSystem.d.ts +16 -32
  865. package/Particles/particleSystem.js +14 -30
  866. package/Particles/particleSystem.js.map +1 -1
  867. package/Particles/pointsCloudSystem.d.ts +3 -4
  868. package/Particles/pointsCloudSystem.js +27 -20
  869. package/Particles/pointsCloudSystem.js.map +1 -1
  870. package/Particles/solidParticle.d.ts +21 -31
  871. package/Particles/solidParticle.js +9 -19
  872. package/Particles/solidParticle.js.map +1 -1
  873. package/Particles/solidParticleSystem.d.ts +18 -16
  874. package/Particles/solidParticleSystem.js +39 -19
  875. package/Particles/solidParticleSystem.js.map +1 -1
  876. package/Particles/subEmitter.d.ts +1 -5
  877. package/Particles/subEmitter.js +1 -5
  878. package/Particles/subEmitter.js.map +1 -1
  879. package/Particles/webgl2ParticleSystem.d.ts +1 -1
  880. package/Particles/webgl2ParticleSystem.js +1 -1
  881. package/Particles/webgl2ParticleSystem.js.map +1 -1
  882. package/Physics/IPhysicsEngine.d.ts +1 -1
  883. package/Physics/IPhysicsEngine.js.map +1 -1
  884. package/Physics/Plugins/ammoJSPlugin.d.ts +4 -1
  885. package/Physics/Plugins/ammoJSPlugin.js +22 -3
  886. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  887. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  888. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  889. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  890. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  891. package/Physics/Plugins/oimoJSPlugin.js +4 -4
  892. package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
  893. package/Physics/physicsEngineComponent.d.ts +5 -5
  894. package/Physics/physicsEngineComponent.js +2 -3
  895. package/Physics/physicsEngineComponent.js.map +1 -1
  896. package/Physics/physicsImpostor.d.ts +13 -7
  897. package/Physics/physicsImpostor.js +9 -6
  898. package/Physics/physicsImpostor.js.map +1 -1
  899. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  900. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  901. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +1 -1
  902. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  903. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
  904. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
  905. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  906. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
  907. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
  908. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  909. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
  910. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
  911. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  912. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
  913. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
  914. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  915. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
  916. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
  917. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
  918. package/PostProcesses/blackAndWhitePostProcess.js +1 -5
  919. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  920. package/PostProcesses/bloomEffect.d.ts +4 -4
  921. package/PostProcesses/bloomEffect.js +3 -3
  922. package/PostProcesses/bloomEffect.js.map +1 -1
  923. package/PostProcesses/blurPostProcess.d.ts +4 -8
  924. package/PostProcesses/blurPostProcess.js +4 -8
  925. package/PostProcesses/blurPostProcess.js.map +1 -1
  926. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
  927. package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
  928. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  929. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
  930. package/PostProcesses/colorCorrectionPostProcess.js +1 -5
  931. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  932. package/PostProcesses/convolutionPostProcess.d.ts +1 -5
  933. package/PostProcesses/convolutionPostProcess.js +1 -5
  934. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  935. package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
  936. package/PostProcesses/depthOfFieldEffect.js +3 -3
  937. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  938. package/PostProcesses/displayPassPostProcess.d.ts +1 -5
  939. package/PostProcesses/displayPassPostProcess.js +1 -5
  940. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  941. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  942. package/PostProcesses/extractHighlightsPostProcess.js +2 -2
  943. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  944. package/PostProcesses/filterPostProcess.d.ts +1 -5
  945. package/PostProcesses/filterPostProcess.js +1 -5
  946. package/PostProcesses/filterPostProcess.js.map +1 -1
  947. package/PostProcesses/fxaaPostProcess.d.ts +1 -5
  948. package/PostProcesses/fxaaPostProcess.js +1 -5
  949. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  950. package/PostProcesses/grainPostProcess.d.ts +1 -5
  951. package/PostProcesses/grainPostProcess.js +1 -5
  952. package/PostProcesses/grainPostProcess.js.map +1 -1
  953. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  954. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  955. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  956. package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
  957. package/PostProcesses/motionBlurPostProcess.js +1 -5
  958. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  959. package/PostProcesses/passPostProcess.d.ts +2 -10
  960. package/PostProcesses/passPostProcess.js +2 -10
  961. package/PostProcesses/passPostProcess.js.map +1 -1
  962. package/PostProcesses/postProcess.d.ts +8 -12
  963. package/PostProcesses/postProcess.js +6 -10
  964. package/PostProcesses/postProcess.js.map +1 -1
  965. package/PostProcesses/postProcessManager.d.ts +3 -3
  966. package/PostProcesses/postProcessManager.js +3 -3
  967. package/PostProcesses/postProcessManager.js.map +1 -1
  968. package/PostProcesses/refractionPostProcess.d.ts +1 -5
  969. package/PostProcesses/refractionPostProcess.js +1 -5
  970. package/PostProcesses/refractionPostProcess.js.map +1 -1
  971. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
  972. package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
  973. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  974. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
  975. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
  976. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  977. package/PostProcesses/sharpenPostProcess.d.ts +1 -5
  978. package/PostProcesses/sharpenPostProcess.js +1 -5
  979. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  980. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +4 -4
  981. package/PostProcesses/volumetricLightScatteringPostProcess.js +4 -4
  982. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  983. package/Probes/reflectionProbe.d.ts +1 -1
  984. package/Probes/reflectionProbe.js +1 -1
  985. package/Probes/reflectionProbe.js.map +1 -1
  986. package/Rendering/boundingBoxRenderer.d.ts +5 -5
  987. package/Rendering/boundingBoxRenderer.js +2 -2
  988. package/Rendering/boundingBoxRenderer.js.map +1 -1
  989. package/Rendering/depthPeelingRenderer.d.ts +1 -0
  990. package/Rendering/depthPeelingRenderer.js +32 -5
  991. package/Rendering/depthPeelingRenderer.js.map +1 -1
  992. package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
  993. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  994. package/Rendering/depthRenderer.d.ts +1 -2
  995. package/Rendering/depthRenderer.js +1 -2
  996. package/Rendering/depthRenderer.js.map +1 -1
  997. package/Rendering/depthRendererSceneComponent.d.ts +1 -1
  998. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  999. package/Rendering/edgesRenderer.d.ts +4 -4
  1000. package/Rendering/edgesRenderer.js +2 -2
  1001. package/Rendering/edgesRenderer.js.map +1 -1
  1002. package/Rendering/geometryBufferRenderer.d.ts +14 -18
  1003. package/Rendering/geometryBufferRenderer.js +14 -18
  1004. package/Rendering/geometryBufferRenderer.js.map +1 -1
  1005. package/Rendering/geometryBufferRendererSceneComponent.d.ts +3 -2
  1006. package/Rendering/geometryBufferRendererSceneComponent.js +3 -2
  1007. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  1008. package/Rendering/outlineRenderer.d.ts +3 -3
  1009. package/Rendering/outlineRenderer.js.map +1 -1
  1010. package/Rendering/prePassRenderer.d.ts +18 -17
  1011. package/Rendering/prePassRenderer.js +26 -18
  1012. package/Rendering/prePassRenderer.js.map +1 -1
  1013. package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
  1014. package/Rendering/prePassRendererSceneComponent.js.map +1 -1
  1015. package/Rendering/renderingGroup.d.ts +3 -3
  1016. package/Rendering/renderingGroup.js +3 -3
  1017. package/Rendering/renderingGroup.js.map +1 -1
  1018. package/Rendering/renderingManager.d.ts +4 -8
  1019. package/Rendering/renderingManager.js +4 -8
  1020. package/Rendering/renderingManager.js.map +1 -1
  1021. package/Rendering/subSurfaceConfiguration.d.ts +4 -6
  1022. package/Rendering/subSurfaceConfiguration.js +4 -6
  1023. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  1024. package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
  1025. package/Rendering/subSurfaceSceneComponent.js.map +1 -1
  1026. package/Rendering/utilityLayerRenderer.d.ts +4 -4
  1027. package/Rendering/utilityLayerRenderer.js +15 -10
  1028. package/Rendering/utilityLayerRenderer.js.map +1 -1
  1029. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
  1030. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  1031. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  1032. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  1033. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  1034. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  1035. package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
  1036. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  1038. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1039. package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
  1040. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1041. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1042. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1043. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1044. package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
  1045. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  1046. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  1047. package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1048. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  1049. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  1050. package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
  1051. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  1052. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  1053. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
  1054. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
  1055. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  1056. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
  1057. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  1058. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  1059. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
  1060. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
  1061. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  1062. package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
  1063. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  1064. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  1065. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  1066. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
  1067. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  1068. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  1069. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  1070. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  1071. package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
  1072. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  1073. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  1074. package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
  1075. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  1077. package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1078. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  1079. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1080. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1081. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1082. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1083. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
  1084. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  1085. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  1086. package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1087. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  1088. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1089. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1090. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1091. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1092. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
  1093. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1094. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  1095. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1096. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1097. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  1098. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
  1099. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  1100. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  1101. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1102. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1103. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  1104. package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
  1105. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1106. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  1107. package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
  1108. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1109. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  1110. package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
  1111. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1112. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  1113. package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
  1114. package/Shaders/ShadersInclude/fogFragment.js +1 -1
  1115. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1116. package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  1117. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1118. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  1119. package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
  1120. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1121. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  1122. package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  1123. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  1125. package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
  1126. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1127. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  1128. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1129. package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
  1130. package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
  1131. package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
  1132. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1133. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  1134. package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  1135. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1136. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  1137. package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  1138. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1139. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  1140. package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
  1141. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1142. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  1143. package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
  1144. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1145. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  1146. package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  1147. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1148. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  1149. package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  1150. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1151. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  1152. package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
  1153. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1154. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  1155. package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1156. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1157. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  1158. package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
  1159. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1160. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  1161. package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
  1162. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1163. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  1164. package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
  1165. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1166. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  1167. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
  1168. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1169. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
  1170. package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
  1171. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1172. package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
  1173. package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
  1174. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1175. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1176. package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
  1177. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1178. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  1179. package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  1180. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1181. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  1182. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
  1183. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1184. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  1185. package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  1186. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1187. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  1188. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1189. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1190. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  1191. package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  1192. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1193. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  1194. package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
  1195. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1196. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  1197. package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
  1198. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1199. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  1200. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
  1201. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1202. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  1203. package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
  1204. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1205. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  1206. package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1207. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1208. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1209. package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
  1210. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1211. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  1212. package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1213. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1214. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1215. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1216. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1217. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1218. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1219. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1220. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1221. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1222. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1223. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1224. package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
  1225. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1226. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  1227. package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
  1228. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  1229. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  1230. package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
  1231. package/Shaders/ShadersInclude/oitFragment.js +1 -1
  1232. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  1233. package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
  1234. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1235. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  1236. package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  1237. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1238. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1239. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1240. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
  1241. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  1242. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  1243. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1244. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  1245. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  1246. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1247. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  1248. package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  1249. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1250. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  1251. package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  1252. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1253. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  1254. package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  1255. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1256. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1257. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  1258. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1259. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  1260. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  1261. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1262. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  1263. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  1264. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1265. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1266. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1268. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  1269. package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  1270. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1271. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  1272. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  1273. package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
  1274. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  1275. package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1277. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  1278. package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1280. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  1281. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
  1282. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1283. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  1284. package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  1285. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1286. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1287. package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  1288. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1289. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  1290. package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  1291. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1292. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  1293. package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1295. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1296. package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  1297. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1298. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  1299. package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  1300. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1301. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  1302. package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
  1303. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1304. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  1305. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  1306. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1307. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  1308. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  1309. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1310. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1311. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1312. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1313. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  1314. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1315. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1316. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  1317. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1318. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
  1319. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  1320. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
  1321. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  1322. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  1323. package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  1324. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1325. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  1326. package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  1327. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1328. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  1329. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
  1330. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  1331. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  1332. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1333. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1334. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  1335. package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
  1336. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1337. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  1338. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
  1339. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1340. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  1341. package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
  1342. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1343. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  1344. package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
  1345. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1346. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  1347. package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
  1348. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1349. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  1350. package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
  1351. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1352. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  1353. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
  1354. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1355. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  1356. package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  1357. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1358. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  1359. package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
  1360. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1361. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  1362. package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
  1363. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1364. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  1365. package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
  1366. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1367. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  1368. package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1369. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1370. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1371. package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
  1372. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1373. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  1374. package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
  1375. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1376. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  1377. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
  1378. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  1379. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  1380. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
  1381. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1382. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  1383. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
  1384. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
  1385. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  1386. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
  1387. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
  1388. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
  1389. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
  1390. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1391. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  1392. package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  1393. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1394. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  1395. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
  1396. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1397. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  1398. package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  1399. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1400. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  1401. package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
  1402. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1403. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  1404. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
  1405. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1406. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  1407. package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
  1408. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1409. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  1410. package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
  1411. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1412. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  1413. package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
  1414. package/Shaders/ShadersInclude/vertexColorMixing.js +1 -1
  1415. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  1416. package/Shaders/anaglyph.fragment.d.ts +1 -1
  1417. package/Shaders/anaglyph.fragment.js +1 -1
  1418. package/Shaders/anaglyph.fragment.js.map +1 -1
  1419. package/Shaders/background.fragment.d.ts +1 -1
  1420. package/Shaders/background.fragment.js +1 -1
  1421. package/Shaders/background.fragment.js.map +1 -1
  1422. package/Shaders/background.vertex.d.ts +1 -1
  1423. package/Shaders/background.vertex.js +1 -1
  1424. package/Shaders/background.vertex.js.map +1 -1
  1425. package/Shaders/blackAndWhite.fragment.d.ts +1 -1
  1426. package/Shaders/blackAndWhite.fragment.js +1 -1
  1427. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  1428. package/Shaders/bloomMerge.fragment.d.ts +1 -1
  1429. package/Shaders/bloomMerge.fragment.js +1 -1
  1430. package/Shaders/bloomMerge.fragment.js.map +1 -1
  1431. package/Shaders/blur.fragment.d.ts +1 -1
  1432. package/Shaders/blur.fragment.js +1 -1
  1433. package/Shaders/blur.fragment.js.map +1 -1
  1434. package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
  1435. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  1436. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  1437. package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
  1438. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  1439. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  1440. package/Shaders/chromaticAberration.fragment.d.ts +1 -1
  1441. package/Shaders/chromaticAberration.fragment.js +2 -1
  1442. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  1443. package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
  1444. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1445. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  1446. package/Shaders/clearQuad.fragment.d.ts +1 -1
  1447. package/Shaders/clearQuad.fragment.js +1 -1
  1448. package/Shaders/clearQuad.fragment.js.map +1 -1
  1449. package/Shaders/clearQuad.vertex.d.ts +1 -1
  1450. package/Shaders/clearQuad.vertex.js +1 -1
  1451. package/Shaders/clearQuad.vertex.js.map +1 -1
  1452. package/Shaders/color.fragment.d.ts +1 -1
  1453. package/Shaders/color.fragment.js +1 -1
  1454. package/Shaders/color.fragment.js.map +1 -1
  1455. package/Shaders/color.vertex.d.ts +1 -1
  1456. package/Shaders/color.vertex.js +1 -1
  1457. package/Shaders/color.vertex.js.map +1 -1
  1458. package/Shaders/colorCorrection.fragment.d.ts +1 -1
  1459. package/Shaders/colorCorrection.fragment.js +1 -1
  1460. package/Shaders/colorCorrection.fragment.js.map +1 -1
  1461. package/Shaders/convolution.fragment.d.ts +1 -1
  1462. package/Shaders/convolution.fragment.js +1 -1
  1463. package/Shaders/convolution.fragment.js.map +1 -1
  1464. package/Shaders/default.fragment.d.ts +1 -1
  1465. package/Shaders/default.fragment.js +1 -1
  1466. package/Shaders/default.fragment.js.map +1 -1
  1467. package/Shaders/default.vertex.d.ts +1 -1
  1468. package/Shaders/default.vertex.js +1 -1
  1469. package/Shaders/default.vertex.js.map +1 -1
  1470. package/Shaders/depth.fragment.d.ts +1 -1
  1471. package/Shaders/depth.fragment.js +1 -1
  1472. package/Shaders/depth.fragment.js.map +1 -1
  1473. package/Shaders/depth.vertex.d.ts +1 -1
  1474. package/Shaders/depth.vertex.js +1 -1
  1475. package/Shaders/depth.vertex.js.map +1 -1
  1476. package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
  1477. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1478. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  1479. package/Shaders/depthOfField.fragment.d.ts +1 -1
  1480. package/Shaders/depthOfField.fragment.js +1 -1
  1481. package/Shaders/depthOfField.fragment.js.map +1 -1
  1482. package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
  1483. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1484. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  1485. package/Shaders/displayPass.fragment.d.ts +1 -1
  1486. package/Shaders/displayPass.fragment.js +1 -1
  1487. package/Shaders/displayPass.fragment.js.map +1 -1
  1488. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1489. package/Shaders/extractHighlights.fragment.js +1 -1
  1490. package/Shaders/extractHighlights.fragment.js.map +1 -1
  1491. package/Shaders/filter.fragment.d.ts +1 -1
  1492. package/Shaders/filter.fragment.js +1 -1
  1493. package/Shaders/filter.fragment.js.map +1 -1
  1494. package/Shaders/fxaa.fragment.d.ts +1 -1
  1495. package/Shaders/fxaa.fragment.js +1 -1
  1496. package/Shaders/fxaa.fragment.js.map +1 -1
  1497. package/Shaders/fxaa.vertex.d.ts +1 -1
  1498. package/Shaders/fxaa.vertex.js +1 -1
  1499. package/Shaders/fxaa.vertex.js.map +1 -1
  1500. package/Shaders/geometry.fragment.d.ts +1 -1
  1501. package/Shaders/geometry.fragment.js +14 -2
  1502. package/Shaders/geometry.fragment.js.map +1 -1
  1503. package/Shaders/geometry.vertex.d.ts +1 -1
  1504. package/Shaders/geometry.vertex.js +1 -1
  1505. package/Shaders/geometry.vertex.js.map +1 -1
  1506. package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
  1507. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1508. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  1509. package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
  1510. package/Shaders/glowMapGeneration.fragment.js +1 -1
  1511. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  1512. package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
  1513. package/Shaders/glowMapGeneration.vertex.js +1 -1
  1514. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  1515. package/Shaders/glowMapMerge.fragment.d.ts +1 -1
  1516. package/Shaders/glowMapMerge.fragment.js +1 -1
  1517. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  1518. package/Shaders/glowMapMerge.vertex.d.ts +1 -1
  1519. package/Shaders/glowMapMerge.vertex.js +1 -1
  1520. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  1521. package/Shaders/gpuRenderParticles.fragment.d.ts +1 -1
  1522. package/Shaders/gpuRenderParticles.fragment.js +1 -1
  1523. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  1524. package/Shaders/gpuRenderParticles.vertex.d.ts +1 -1
  1525. package/Shaders/gpuRenderParticles.vertex.js +1 -1
  1526. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  1527. package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
  1528. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1529. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  1530. package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
  1531. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1532. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  1533. package/Shaders/grain.fragment.d.ts +1 -1
  1534. package/Shaders/grain.fragment.js +1 -1
  1535. package/Shaders/grain.fragment.js.map +1 -1
  1536. package/Shaders/hdrFiltering.fragment.d.ts +1 -1
  1537. package/Shaders/hdrFiltering.fragment.js +1 -1
  1538. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  1539. package/Shaders/hdrFiltering.vertex.d.ts +1 -1
  1540. package/Shaders/hdrFiltering.vertex.js +1 -1
  1541. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  1542. package/Shaders/highlights.fragment.d.ts +1 -1
  1543. package/Shaders/highlights.fragment.js +1 -1
  1544. package/Shaders/highlights.fragment.js.map +1 -1
  1545. package/Shaders/imageProcessing.fragment.d.ts +1 -1
  1546. package/Shaders/imageProcessing.fragment.js +1 -1
  1547. package/Shaders/imageProcessing.fragment.js.map +1 -1
  1548. package/Shaders/kernelBlur.fragment.d.ts +1 -1
  1549. package/Shaders/kernelBlur.fragment.js +1 -1
  1550. package/Shaders/kernelBlur.fragment.js.map +1 -1
  1551. package/Shaders/kernelBlur.vertex.d.ts +1 -1
  1552. package/Shaders/kernelBlur.vertex.js +1 -1
  1553. package/Shaders/kernelBlur.vertex.js.map +1 -1
  1554. package/Shaders/layer.fragment.d.ts +1 -1
  1555. package/Shaders/layer.fragment.js +1 -1
  1556. package/Shaders/layer.fragment.js.map +1 -1
  1557. package/Shaders/layer.vertex.d.ts +1 -1
  1558. package/Shaders/layer.vertex.js +1 -1
  1559. package/Shaders/layer.vertex.js.map +1 -1
  1560. package/Shaders/lensFlare.fragment.d.ts +1 -1
  1561. package/Shaders/lensFlare.fragment.js +1 -1
  1562. package/Shaders/lensFlare.fragment.js.map +1 -1
  1563. package/Shaders/lensFlare.vertex.d.ts +1 -1
  1564. package/Shaders/lensFlare.vertex.js +1 -1
  1565. package/Shaders/lensFlare.vertex.js.map +1 -1
  1566. package/Shaders/lensHighlights.fragment.d.ts +1 -1
  1567. package/Shaders/lensHighlights.fragment.js +1 -1
  1568. package/Shaders/lensHighlights.fragment.js.map +1 -1
  1569. package/Shaders/line.fragment.d.ts +1 -1
  1570. package/Shaders/line.fragment.js +1 -1
  1571. package/Shaders/line.fragment.js.map +1 -1
  1572. package/Shaders/line.vertex.d.ts +1 -1
  1573. package/Shaders/line.vertex.js +1 -1
  1574. package/Shaders/line.vertex.js.map +1 -1
  1575. package/Shaders/minmaxRedux.fragment.d.ts +1 -1
  1576. package/Shaders/minmaxRedux.fragment.js +1 -1
  1577. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  1578. package/Shaders/motionBlur.fragment.d.ts +1 -1
  1579. package/Shaders/motionBlur.fragment.js +1 -1
  1580. package/Shaders/motionBlur.fragment.js.map +1 -1
  1581. package/Shaders/noise.fragment.d.ts +1 -1
  1582. package/Shaders/noise.fragment.js +1 -1
  1583. package/Shaders/noise.fragment.js.map +1 -1
  1584. package/Shaders/oitBackBlend.fragment.d.ts +1 -1
  1585. package/Shaders/oitBackBlend.fragment.js +1 -1
  1586. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  1587. package/Shaders/oitFinal.fragment.d.ts +1 -1
  1588. package/Shaders/oitFinal.fragment.js +1 -1
  1589. package/Shaders/oitFinal.fragment.js.map +1 -1
  1590. package/Shaders/outline.fragment.d.ts +1 -1
  1591. package/Shaders/outline.fragment.js +1 -1
  1592. package/Shaders/outline.fragment.js.map +1 -1
  1593. package/Shaders/outline.vertex.d.ts +1 -1
  1594. package/Shaders/outline.vertex.js +1 -1
  1595. package/Shaders/outline.vertex.js.map +1 -1
  1596. package/Shaders/particles.fragment.d.ts +1 -1
  1597. package/Shaders/particles.fragment.js +1 -1
  1598. package/Shaders/particles.fragment.js.map +1 -1
  1599. package/Shaders/particles.vertex.d.ts +1 -1
  1600. package/Shaders/particles.vertex.js +1 -1
  1601. package/Shaders/particles.vertex.js.map +1 -1
  1602. package/Shaders/pass.fragment.d.ts +1 -1
  1603. package/Shaders/pass.fragment.js +1 -1
  1604. package/Shaders/pass.fragment.js.map +1 -1
  1605. package/Shaders/passCube.fragment.d.ts +1 -1
  1606. package/Shaders/passCube.fragment.js +1 -1
  1607. package/Shaders/passCube.fragment.js.map +1 -1
  1608. package/Shaders/pbr.fragment.d.ts +1 -1
  1609. package/Shaders/pbr.fragment.js +1 -1
  1610. package/Shaders/pbr.fragment.js.map +1 -1
  1611. package/Shaders/pbr.vertex.d.ts +1 -1
  1612. package/Shaders/pbr.vertex.js +1 -1
  1613. package/Shaders/pbr.vertex.js.map +1 -1
  1614. package/Shaders/postprocess.vertex.d.ts +1 -1
  1615. package/Shaders/postprocess.vertex.js +1 -1
  1616. package/Shaders/postprocess.vertex.js.map +1 -1
  1617. package/Shaders/procedural.vertex.d.ts +1 -1
  1618. package/Shaders/procedural.vertex.js +1 -1
  1619. package/Shaders/procedural.vertex.js.map +1 -1
  1620. package/Shaders/refraction.fragment.d.ts +1 -1
  1621. package/Shaders/refraction.fragment.js +1 -1
  1622. package/Shaders/refraction.fragment.js.map +1 -1
  1623. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1624. package/Shaders/rgbdDecode.fragment.js +1 -1
  1625. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  1626. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1627. package/Shaders/rgbdEncode.fragment.js +1 -1
  1628. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  1629. package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
  1630. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1631. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  1632. package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
  1633. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1634. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  1635. package/Shaders/shadowMap.fragment.d.ts +1 -1
  1636. package/Shaders/shadowMap.fragment.js +1 -1
  1637. package/Shaders/shadowMap.fragment.js.map +1 -1
  1638. package/Shaders/shadowMap.vertex.d.ts +1 -1
  1639. package/Shaders/shadowMap.vertex.js +1 -1
  1640. package/Shaders/shadowMap.vertex.js.map +1 -1
  1641. package/Shaders/sharpen.fragment.d.ts +1 -1
  1642. package/Shaders/sharpen.fragment.js +1 -1
  1643. package/Shaders/sharpen.fragment.js.map +1 -1
  1644. package/Shaders/spriteMap.fragment.d.ts +1 -1
  1645. package/Shaders/spriteMap.fragment.js +1 -1
  1646. package/Shaders/spriteMap.fragment.js.map +1 -1
  1647. package/Shaders/spriteMap.vertex.d.ts +1 -1
  1648. package/Shaders/spriteMap.vertex.js +1 -1
  1649. package/Shaders/spriteMap.vertex.js.map +1 -1
  1650. package/Shaders/sprites.fragment.d.ts +1 -1
  1651. package/Shaders/sprites.fragment.js +1 -1
  1652. package/Shaders/sprites.fragment.js.map +1 -1
  1653. package/Shaders/sprites.vertex.d.ts +1 -1
  1654. package/Shaders/sprites.vertex.js +1 -1
  1655. package/Shaders/sprites.vertex.js.map +1 -1
  1656. package/Shaders/ssao.fragment.d.ts +1 -1
  1657. package/Shaders/ssao.fragment.js +1 -1
  1658. package/Shaders/ssao.fragment.js.map +1 -1
  1659. package/Shaders/ssao2.fragment.d.ts +1 -1
  1660. package/Shaders/ssao2.fragment.js +1 -1
  1661. package/Shaders/ssao2.fragment.js.map +1 -1
  1662. package/Shaders/ssaoCombine.fragment.d.ts +1 -1
  1663. package/Shaders/ssaoCombine.fragment.js +1 -1
  1664. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1665. package/Shaders/standard.fragment.d.ts +1 -1
  1666. package/Shaders/standard.fragment.js +1 -1
  1667. package/Shaders/standard.fragment.js.map +1 -1
  1668. package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
  1669. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1670. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1671. package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
  1672. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  1673. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1674. package/Shaders/tonemap.fragment.d.ts +1 -1
  1675. package/Shaders/tonemap.fragment.js +1 -1
  1676. package/Shaders/tonemap.fragment.js.map +1 -1
  1677. package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
  1678. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1679. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1680. package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
  1681. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1682. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1683. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
  1684. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  1685. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1686. package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
  1687. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1688. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1689. package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
  1690. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1691. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1692. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1693. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  1694. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1695. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1696. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1697. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1698. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1699. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1700. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1701. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  1702. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1703. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1704. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1705. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  1706. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1707. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1708. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1709. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1710. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1711. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  1712. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1713. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1714. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1715. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1716. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1717. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1718. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1719. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  1720. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1721. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1722. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1723. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1724. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1725. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1726. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1727. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1728. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1729. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1730. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1731. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1732. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1733. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1734. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1735. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1736. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1737. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1738. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1739. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1740. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  1741. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1742. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1743. package/Sprites/spriteSceneComponent.d.ts +6 -6
  1744. package/Sprites/spriteSceneComponent.js.map +1 -1
  1745. package/Sprites/thinSprite.d.ts +5 -6
  1746. package/Sprites/thinSprite.js +1 -2
  1747. package/Sprites/thinSprite.js.map +1 -1
  1748. package/States/IStencilState.d.ts +1 -1
  1749. package/States/IStencilState.js.map +1 -1
  1750. package/States/alphaCullingState.d.ts +1 -1
  1751. package/States/alphaCullingState.js +1 -1
  1752. package/States/alphaCullingState.js.map +1 -1
  1753. package/States/depthCullingState.d.ts +1 -1
  1754. package/States/depthCullingState.js +1 -1
  1755. package/States/depthCullingState.js.map +1 -1
  1756. package/States/stencilState.d.ts +1 -1
  1757. package/States/stencilState.js +1 -1
  1758. package/States/stencilState.js.map +1 -1
  1759. package/States/stencilStateComposer.d.ts +1 -1
  1760. package/States/stencilStateComposer.js +1 -1
  1761. package/States/stencilStateComposer.js.map +1 -1
  1762. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  1763. package/XR/features/WebXRControllerPhysics.js +1 -1
  1764. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1765. package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
  1766. package/XR/features/WebXRControllerPointerSelection.js +3 -6
  1767. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1768. package/XR/features/WebXRControllerTeleportation.d.ts +4 -0
  1769. package/XR/features/WebXRControllerTeleportation.js +24 -19
  1770. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  1771. package/XR/features/WebXRLayers.d.ts +2 -2
  1772. package/XR/features/WebXRLayers.js +4 -4
  1773. package/XR/features/WebXRLayers.js.map +1 -1
  1774. package/XR/features/WebXRNearInteraction.js +2 -2
  1775. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1776. package/XR/motionController/webXRAbstractMotionController.d.ts +5 -6
  1777. package/XR/motionController/webXRAbstractMotionController.js +4 -5
  1778. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1779. package/XR/motionController/webXRControllerComponent.d.ts +1 -1
  1780. package/XR/motionController/webXRControllerComponent.js +1 -1
  1781. package/XR/motionController/webXRControllerComponent.js.map +1 -1
  1782. package/XR/motionController/webXRMotionControllerManager.d.ts +3 -3
  1783. package/XR/motionController/webXRMotionControllerManager.js +3 -3
  1784. package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
  1785. package/XR/native/nativeXRFrame.d.ts +2 -2
  1786. package/XR/native/nativeXRFrame.js +1 -1
  1787. package/XR/native/nativeXRFrame.js.map +1 -1
  1788. package/XR/native/nativeXRRenderTarget.d.ts +3 -3
  1789. package/XR/native/nativeXRRenderTarget.js +3 -3
  1790. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  1791. package/XR/webXRCamera.d.ts +2 -2
  1792. package/XR/webXRCamera.js +1 -1
  1793. package/XR/webXRCamera.js.map +1 -1
  1794. package/XR/webXRDefaultExperience.d.ts +6 -6
  1795. package/XR/webXRDefaultExperience.js.map +1 -1
  1796. package/XR/webXRExperienceHelper.d.ts +21 -1
  1797. package/XR/webXRExperienceHelper.js +37 -7
  1798. package/XR/webXRExperienceHelper.js.map +1 -1
  1799. package/XR/webXRInputSource.d.ts +1 -1
  1800. package/XR/webXRInputSource.js.map +1 -1
  1801. package/XR/webXRLayerWrapper.d.ts +1 -1
  1802. package/XR/webXRLayerWrapper.js +1 -1
  1803. package/XR/webXRLayerWrapper.js.map +1 -1
  1804. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1805. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1806. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1807. package/XR/webXRSessionManager.d.ts +1 -2
  1808. package/XR/webXRSessionManager.js +1 -2
  1809. package/XR/webXRSessionManager.js.map +1 -1
  1810. package/XR/webXRWebGLLayer.d.ts +2 -2
  1811. package/XR/webXRWebGLLayer.js +2 -2
  1812. package/XR/webXRWebGLLayer.js.map +1 -1
  1813. package/abstractScene.d.ts +1 -1
  1814. package/abstractScene.js +1 -1
  1815. package/abstractScene.js.map +1 -1
  1816. package/node.d.ts +44 -56
  1817. package/node.js +43 -58
  1818. package/node.js.map +1 -1
  1819. package/package.json +1 -1
  1820. package/scene.d.ts +130 -168
  1821. package/scene.js +115 -142
  1822. package/scene.js.map +1 -1
  1823. package/sceneComponent.d.ts +2 -2
  1824. package/sceneComponent.js +2 -2
  1825. package/sceneComponent.js.map +1 -1
  1826. package/types.d.ts +2 -2
  1827. package/types.js +1 -1
  1828. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"materialPluginManager.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/materialPluginManager.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ShaderCustomProcessingFunction } from \"../Engines/Processors/shaderProcessingOptions\";\r\nimport type { Nullable } from \"../types\";\r\nimport { Material } from \"./material\";\r\nimport type {\r\n MaterialPluginPrepareEffect,\r\n MaterialPluginBindForSubMesh,\r\n MaterialPluginDisposed,\r\n MaterialPluginGetActiveTextures,\r\n MaterialPluginGetAnimatables,\r\n MaterialPluginGetDefineNames,\r\n MaterialPluginHasTexture,\r\n MaterialPluginIsReadyForSubMesh,\r\n MaterialPluginPrepareDefines,\r\n MaterialPluginPrepareUniformBuffer,\r\n MaterialPluginHardBindForSubMesh,\r\n MaterialPluginHasRenderTargetTextures,\r\n MaterialPluginFillRenderTargetTextures,\r\n} from \"./materialPluginEvent\";\r\nimport { MaterialPluginEvent } from \"./materialPluginEvent\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type Engine = import(\"../Engines/engine\").Engine;\r\ndeclare type MaterialPluginBase = import(\"./materialPluginBase\").MaterialPluginBase;\r\n\r\ndeclare module \"./material\" {\r\n export interface Material {\r\n /**\r\n * Plugin manager for this material\r\n */\r\n pluginManager?: MaterialPluginManager;\r\n }\r\n}\r\n\r\n/**\r\n * Class that manages the plugins of a material\r\n * @since 5.0\r\n */\r\nexport class MaterialPluginManager {\r\n /** Map a plugin class name to a #define name (used in the vertex/fragment shaders as a marker of the plugin usage) */\r\n private static _MaterialPluginClassToMainDefine: { [name: string]: string } = {};\r\n private static _MaterialPluginCounter: number = 0;\r\n\r\n protected _material: Material;\r\n protected _scene: Scene;\r\n protected _engine: Engine;\r\n protected _plugins: MaterialPluginBase[] = [];\r\n protected _activePlugins: MaterialPluginBase[] = [];\r\n protected _activePluginsForExtraEvents: MaterialPluginBase[] = [];\r\n protected _codeInjectionPoints: { [shaderType: string]: { [codeName: string]: boolean } };\r\n protected _defineNamesFromPlugins?: { [name: string]: { type: string; default: any } };\r\n protected _uboDeclaration: string;\r\n protected _vertexDeclaration: string;\r\n protected _fragmentDeclaration: string;\r\n protected _uniformList: string[];\r\n protected _samplerList: string[];\r\n protected _uboList: string[];\r\n\r\n /**\r\n * Creates a new instance of the plugin manager\r\n * @param material material that this manager will manage the plugins for\r\n */\r\n constructor(material: Material) {\r\n this._material = material;\r\n this._scene = material.getScene();\r\n this._engine = this._scene.getEngine();\r\n }\r\n\r\n /**\r\n * @param plugin\r\n * @hidden\r\n */\r\n public _addPlugin(plugin: MaterialPluginBase): void {\r\n for (let i = 0; i < this._plugins.length; ++i) {\r\n if (this._plugins[i].name === plugin.name) {\r\n throw `Plugin \"${plugin.name}\" already added to the material \"${this._material.name}\"!`;\r\n }\r\n }\r\n\r\n if (this._material._uniformBufferLayoutBuilt) {\r\n throw `The plugin \"${plugin.name}\" can't be added to the material \"${this._material.name}\" because this material has already been used for rendering! Please add plugins to materials before any rendering with this material occurs.`;\r\n }\r\n\r\n const pluginClassName = plugin.getClassName();\r\n if (!MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName]) {\r\n MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName] = \"MATERIALPLUGIN_\" + ++MaterialPluginManager._MaterialPluginCounter;\r\n }\r\n\r\n this._material._callbackPluginEventGeneric = this._handlePluginEvent.bind(this);\r\n\r\n this._plugins.push(plugin);\r\n this._plugins.sort((a, b) => a.priority - b.priority);\r\n\r\n this._codeInjectionPoints = {};\r\n\r\n const defineNamesFromPlugins: { [name: string]: { type: string; default: any } } = {};\r\n defineNamesFromPlugins[MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName]] = {\r\n type: \"boolean\",\r\n default: true,\r\n };\r\n\r\n for (const plugin of this._plugins) {\r\n plugin.collectDefines(defineNamesFromPlugins);\r\n this._collectPointNames(\"vertex\", plugin.getCustomCode(\"vertex\"));\r\n this._collectPointNames(\"fragment\", plugin.getCustomCode(\"fragment\"));\r\n }\r\n\r\n this._defineNamesFromPlugins = defineNamesFromPlugins;\r\n }\r\n\r\n /**\r\n * @param plugin\r\n * @hidden\r\n */\r\n public _activatePlugin(plugin: MaterialPluginBase): void {\r\n if (this._activePlugins.indexOf(plugin) === -1) {\r\n this._activePlugins.push(plugin);\r\n this._activePlugins.sort((a, b) => a.priority - b.priority);\r\n\r\n this._material._callbackPluginEventIsReadyForSubMesh = this._handlePluginEventIsReadyForSubMesh.bind(this);\r\n this._material._callbackPluginEventPrepareDefinesBeforeAttributes = this._handlePluginEventPrepareDefinesBeforeAttributes.bind(this);\r\n this._material._callbackPluginEventPrepareDefines = this._handlePluginEventPrepareDefines.bind(this);\r\n this._material._callbackPluginEventBindForSubMesh = this._handlePluginEventBindForSubMesh.bind(this);\r\n\r\n if (plugin.registerForExtraEvents) {\r\n this._activePluginsForExtraEvents.push(plugin);\r\n this._activePluginsForExtraEvents.sort((a, b) => a.priority - b.priority);\r\n this._material._callbackPluginEventHasRenderTargetTextures = this._handlePluginEventHasRenderTargetTextures.bind(this);\r\n this._material._callbackPluginEventFillRenderTargetTextures = this._handlePluginEventFillRenderTargetTextures.bind(this);\r\n this._material._callbackPluginEventHardBindForSubMesh = this._handlePluginEventHardBindForSubMesh.bind(this);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets a plugin from the list of plugins managed by this manager\r\n * @param name name of the plugin\r\n * @returns the plugin if found, else null\r\n */\r\n public getPlugin(name: string): Nullable<MaterialPluginBase> {\r\n for (let i = 0; i < this._plugins.length; ++i) {\r\n if (this._plugins[i].name === name) {\r\n return this._plugins[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n protected _handlePluginEventIsReadyForSubMesh(eventData: MaterialPluginIsReadyForSubMesh): void {\r\n let isReady = true;\r\n for (const plugin of this._activePlugins) {\r\n isReady = isReady && plugin.isReadyForSubMesh(eventData.defines, this._scene, this._engine, eventData.subMesh);\r\n }\r\n eventData.isReadyForSubMesh = isReady;\r\n }\r\n\r\n protected _handlePluginEventPrepareDefinesBeforeAttributes(eventData: MaterialPluginPrepareDefines): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.prepareDefinesBeforeAttributes(eventData.defines, this._scene, eventData.mesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventPrepareDefines(eventData: MaterialPluginPrepareDefines): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.prepareDefines(eventData.defines, this._scene, eventData.mesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventHardBindForSubMesh(eventData: MaterialPluginHardBindForSubMesh): void {\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n plugin.hardBindForSubMesh(this._material._uniformBuffer, this._scene, this._engine, eventData.subMesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventBindForSubMesh(eventData: MaterialPluginBindForSubMesh): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.bindForSubMesh(this._material._uniformBuffer, this._scene, this._engine, eventData.subMesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventHasRenderTargetTextures(eventData: MaterialPluginHasRenderTargetTextures): void {\r\n let hasRenderTargetTextures = false;\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n hasRenderTargetTextures = plugin.hasRenderTargetTextures();\r\n if (hasRenderTargetTextures) {\r\n break;\r\n }\r\n }\r\n eventData.hasRenderTargetTextures = hasRenderTargetTextures;\r\n }\r\n\r\n protected _handlePluginEventFillRenderTargetTextures(eventData: MaterialPluginFillRenderTargetTextures): void {\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n plugin.fillRenderTargetTextures(eventData.renderTargets);\r\n }\r\n }\r\n\r\n protected _handlePluginEvent(\r\n id: number,\r\n info:\r\n | MaterialPluginGetActiveTextures\r\n | MaterialPluginGetAnimatables\r\n | MaterialPluginHasTexture\r\n | MaterialPluginDisposed\r\n | MaterialPluginGetDefineNames\r\n | MaterialPluginPrepareEffect\r\n | MaterialPluginPrepareUniformBuffer\r\n ): void {\r\n switch (id) {\r\n case MaterialPluginEvent.GetActiveTextures: {\r\n const eventData = info as MaterialPluginGetActiveTextures;\r\n for (const plugin of this._activePlugins) {\r\n plugin.getActiveTextures(eventData.activeTextures);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.GetAnimatables: {\r\n const eventData = info as MaterialPluginGetAnimatables;\r\n for (const plugin of this._activePlugins) {\r\n plugin.getAnimatables(eventData.animatables);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.HasTexture: {\r\n const eventData = info as MaterialPluginHasTexture;\r\n let hasTexture = false;\r\n for (const plugin of this._activePlugins) {\r\n hasTexture = plugin.hasTexture(eventData.texture);\r\n if (hasTexture) {\r\n break;\r\n }\r\n }\r\n eventData.hasTexture = hasTexture;\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.Disposed: {\r\n const eventData = info as MaterialPluginDisposed;\r\n for (const plugin of this._plugins) {\r\n plugin.dispose(eventData.forceDisposeTextures);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.GetDefineNames: {\r\n const eventData = info as MaterialPluginGetDefineNames;\r\n eventData.defineNames = this._defineNamesFromPlugins;\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.PrepareEffect: {\r\n const eventData = info as MaterialPluginPrepareEffect;\r\n for (const plugin of this._activePlugins) {\r\n eventData.fallbackRank = plugin.addFallbacks(eventData.defines, eventData.fallbacks, eventData.fallbackRank);\r\n plugin.getAttributes(eventData.attributes, this._scene, eventData.mesh);\r\n }\r\n if (this._uniformList.length > 0) {\r\n eventData.uniforms.push(...this._uniformList);\r\n }\r\n if (this._samplerList.length > 0) {\r\n eventData.samplers.push(...this._samplerList);\r\n }\r\n if (this._uboList.length > 0) {\r\n eventData.uniformBuffersNames.push(...this._uboList);\r\n }\r\n eventData.customCode = this._injectCustomCode(eventData.customCode);\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.PrepareUniformBuffer: {\r\n const eventData = info as MaterialPluginPrepareUniformBuffer;\r\n this._uboDeclaration = \"\";\r\n this._vertexDeclaration = \"\";\r\n this._fragmentDeclaration = \"\";\r\n this._uniformList = [];\r\n this._samplerList = [];\r\n this._uboList = [];\r\n for (const plugin of this._plugins) {\r\n const uniforms = plugin.getUniforms();\r\n if (uniforms) {\r\n if (uniforms.ubo) {\r\n for (const uniform of uniforms.ubo) {\r\n eventData.ubo.addUniform(uniform.name, uniform.size);\r\n this._uboDeclaration += `${uniform.type} ${uniform.name};\\r\\n`;\r\n this._uniformList.push(uniform.name);\r\n }\r\n }\r\n if (uniforms.vertex) {\r\n this._vertexDeclaration += uniforms.vertex + \"\\r\\n\";\r\n }\r\n if (uniforms.fragment) {\r\n this._fragmentDeclaration += uniforms.fragment + \"\\r\\n\";\r\n }\r\n }\r\n plugin.getSamplers(this._samplerList);\r\n plugin.getUniformBuffersNames(this._uboList);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n protected _collectPointNames(shaderType: string, customCode: Nullable<{ [pointName: string]: string }> | undefined): void {\r\n if (!customCode) {\r\n return;\r\n }\r\n for (const pointName in customCode) {\r\n if (!this._codeInjectionPoints[shaderType]) {\r\n this._codeInjectionPoints[shaderType] = {};\r\n }\r\n this._codeInjectionPoints[shaderType][pointName] = true;\r\n }\r\n }\r\n\r\n protected _injectCustomCode(existingCallback?: (shaderType: string, code: string) => string): ShaderCustomProcessingFunction {\r\n return (shaderType: string, code: string) => {\r\n if (existingCallback) {\r\n code = existingCallback(shaderType, code);\r\n }\r\n if (this._uboDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_UBO_DECLARATION\", this._uboDeclaration);\r\n }\r\n if (this._vertexDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_VERTEX_DECLARATION\", this._vertexDeclaration);\r\n }\r\n if (this._fragmentDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_FRAGMENT_DECLARATION\", this._fragmentDeclaration);\r\n }\r\n const points = this._codeInjectionPoints?.[shaderType];\r\n if (!points) {\r\n return code;\r\n }\r\n for (const pointName in points) {\r\n let injectedCode = \"\";\r\n for (const plugin of this._activePlugins) {\r\n const customCode = plugin.getCustomCode(shaderType);\r\n if (customCode?.[pointName]) {\r\n injectedCode += customCode[pointName] + \"\\r\\n\";\r\n }\r\n }\r\n if (injectedCode.length > 0) {\r\n if (pointName.charAt(0) === \"!\") {\r\n // pointName is a regular expression\r\n const rx = new RegExp(pointName.substring(1), \"g\");\r\n let match = rx.exec(code);\r\n while (match !== null) {\r\n let newCode = injectedCode;\r\n for (let i = 0; i < match.length; ++i) {\r\n newCode = newCode.replace(\"$\" + i, match[i]);\r\n }\r\n code = code.replace(match[0], newCode);\r\n match = rx.exec(code);\r\n }\r\n } else {\r\n const fullPointName = \"#define \" + pointName;\r\n code = code.replace(fullPointName, \"\\r\\n\" + injectedCode + \"\\r\\n\" + fullPointName);\r\n }\r\n }\r\n }\r\n return code;\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Type for plugin material factories.\r\n */\r\nexport type PluginMaterialFactory = (material: Material) => Nullable<MaterialPluginBase>;\r\n\r\nconst plugins: Array<[string, PluginMaterialFactory]> = [];\r\nlet inited = false;\r\n\r\n/**\r\n * Registers a new material plugin through a factory, or updates it. This makes the plugin available to all materials instantiated after its registration.\r\n * @param pluginName The plugin name\r\n * @param factory The factory function which allows to create the plugin\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterMaterialPlugin(pluginName: string, factory: PluginMaterialFactory): void {\r\n if (!inited) {\r\n Material.OnEventObservable.add((material: Material) => {\r\n for (const [, factory] of plugins) {\r\n factory(material);\r\n }\r\n }, MaterialPluginEvent.Created);\r\n inited = true;\r\n }\r\n const existing = plugins.filter(([name, _factory]) => name === pluginName);\r\n if (existing.length > 0) {\r\n existing[0][1] = factory;\r\n } else {\r\n plugins.push([pluginName, factory]);\r\n }\r\n}\r\n\r\n/**\r\n * Removes a material plugin from the list of global plugins.\r\n * @param pluginName The plugin name\r\n * @returns true if the plugin has been removed, else false\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function UnregisterMaterialPlugin(pluginName: string): boolean {\r\n for (let i = 0; i < plugins.length; ++i) {\r\n if (plugins[i][0] === pluginName) {\r\n plugins.splice(i, 1);\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Clear the list of global material plugins\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function UnregisterAllMaterialPlugins(): void {\r\n plugins.length = 0;\r\n}\r\n"]}
1
+ {"version":3,"file":"materialPluginManager.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/materialPluginManager.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ShaderCustomProcessingFunction } from \"../Engines/Processors/shaderProcessingOptions\";\r\nimport type { Nullable } from \"../types\";\r\nimport { Material } from \"./material\";\r\nimport type {\r\n MaterialPluginPrepareEffect,\r\n MaterialPluginBindForSubMesh,\r\n MaterialPluginDisposed,\r\n MaterialPluginGetActiveTextures,\r\n MaterialPluginGetAnimatables,\r\n MaterialPluginGetDefineNames,\r\n MaterialPluginHasTexture,\r\n MaterialPluginIsReadyForSubMesh,\r\n MaterialPluginPrepareDefines,\r\n MaterialPluginPrepareUniformBuffer,\r\n MaterialPluginHardBindForSubMesh,\r\n MaterialPluginHasRenderTargetTextures,\r\n MaterialPluginFillRenderTargetTextures,\r\n} from \"./materialPluginEvent\";\r\nimport { MaterialPluginEvent } from \"./materialPluginEvent\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type Engine = import(\"../Engines/engine\").Engine;\r\ndeclare type MaterialPluginBase = import(\"./materialPluginBase\").MaterialPluginBase;\r\n\r\ndeclare module \"./material\" {\r\n export interface Material {\r\n /**\r\n * Plugin manager for this material\r\n */\r\n pluginManager?: MaterialPluginManager;\r\n }\r\n}\r\n\r\n/**\r\n * Class that manages the plugins of a material\r\n * @since 5.0\r\n */\r\nexport class MaterialPluginManager {\r\n /** Map a plugin class name to a #define name (used in the vertex/fragment shaders as a marker of the plugin usage) */\r\n private static _MaterialPluginClassToMainDefine: { [name: string]: string } = {};\r\n private static _MaterialPluginCounter: number = 0;\r\n\r\n protected _material: Material;\r\n protected _scene: Scene;\r\n protected _engine: Engine;\r\n protected _plugins: MaterialPluginBase[] = [];\r\n protected _activePlugins: MaterialPluginBase[] = [];\r\n protected _activePluginsForExtraEvents: MaterialPluginBase[] = [];\r\n protected _codeInjectionPoints: { [shaderType: string]: { [codeName: string]: boolean } };\r\n protected _defineNamesFromPlugins?: { [name: string]: { type: string; default: any } };\r\n protected _uboDeclaration: string;\r\n protected _vertexDeclaration: string;\r\n protected _fragmentDeclaration: string;\r\n protected _uniformList: string[];\r\n protected _samplerList: string[];\r\n protected _uboList: string[];\r\n\r\n /**\r\n * Creates a new instance of the plugin manager\r\n * @param material material that this manager will manage the plugins for\r\n */\r\n constructor(material: Material) {\r\n this._material = material;\r\n this._scene = material.getScene();\r\n this._engine = this._scene.getEngine();\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _addPlugin(plugin: MaterialPluginBase): void {\r\n for (let i = 0; i < this._plugins.length; ++i) {\r\n if (this._plugins[i].name === plugin.name) {\r\n throw `Plugin \"${plugin.name}\" already added to the material \"${this._material.name}\"!`;\r\n }\r\n }\r\n\r\n if (this._material._uniformBufferLayoutBuilt) {\r\n throw `The plugin \"${plugin.name}\" can't be added to the material \"${this._material.name}\" because this material has already been used for rendering! Please add plugins to materials before any rendering with this material occurs.`;\r\n }\r\n\r\n const pluginClassName = plugin.getClassName();\r\n if (!MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName]) {\r\n MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName] = \"MATERIALPLUGIN_\" + ++MaterialPluginManager._MaterialPluginCounter;\r\n }\r\n\r\n this._material._callbackPluginEventGeneric = this._handlePluginEvent.bind(this);\r\n\r\n this._plugins.push(plugin);\r\n this._plugins.sort((a, b) => a.priority - b.priority);\r\n\r\n this._codeInjectionPoints = {};\r\n\r\n const defineNamesFromPlugins: { [name: string]: { type: string; default: any } } = {};\r\n defineNamesFromPlugins[MaterialPluginManager._MaterialPluginClassToMainDefine[pluginClassName]] = {\r\n type: \"boolean\",\r\n default: true,\r\n };\r\n\r\n for (const plugin of this._plugins) {\r\n plugin.collectDefines(defineNamesFromPlugins);\r\n this._collectPointNames(\"vertex\", plugin.getCustomCode(\"vertex\"));\r\n this._collectPointNames(\"fragment\", plugin.getCustomCode(\"fragment\"));\r\n }\r\n\r\n this._defineNamesFromPlugins = defineNamesFromPlugins;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _activatePlugin(plugin: MaterialPluginBase): void {\r\n if (this._activePlugins.indexOf(plugin) === -1) {\r\n this._activePlugins.push(plugin);\r\n this._activePlugins.sort((a, b) => a.priority - b.priority);\r\n\r\n this._material._callbackPluginEventIsReadyForSubMesh = this._handlePluginEventIsReadyForSubMesh.bind(this);\r\n this._material._callbackPluginEventPrepareDefinesBeforeAttributes = this._handlePluginEventPrepareDefinesBeforeAttributes.bind(this);\r\n this._material._callbackPluginEventPrepareDefines = this._handlePluginEventPrepareDefines.bind(this);\r\n this._material._callbackPluginEventBindForSubMesh = this._handlePluginEventBindForSubMesh.bind(this);\r\n\r\n if (plugin.registerForExtraEvents) {\r\n this._activePluginsForExtraEvents.push(plugin);\r\n this._activePluginsForExtraEvents.sort((a, b) => a.priority - b.priority);\r\n this._material._callbackPluginEventHasRenderTargetTextures = this._handlePluginEventHasRenderTargetTextures.bind(this);\r\n this._material._callbackPluginEventFillRenderTargetTextures = this._handlePluginEventFillRenderTargetTextures.bind(this);\r\n this._material._callbackPluginEventHardBindForSubMesh = this._handlePluginEventHardBindForSubMesh.bind(this);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets a plugin from the list of plugins managed by this manager\r\n * @param name name of the plugin\r\n * @returns the plugin if found, else null\r\n */\r\n public getPlugin(name: string): Nullable<MaterialPluginBase> {\r\n for (let i = 0; i < this._plugins.length; ++i) {\r\n if (this._plugins[i].name === name) {\r\n return this._plugins[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n protected _handlePluginEventIsReadyForSubMesh(eventData: MaterialPluginIsReadyForSubMesh): void {\r\n let isReady = true;\r\n for (const plugin of this._activePlugins) {\r\n isReady = isReady && plugin.isReadyForSubMesh(eventData.defines, this._scene, this._engine, eventData.subMesh);\r\n }\r\n eventData.isReadyForSubMesh = isReady;\r\n }\r\n\r\n protected _handlePluginEventPrepareDefinesBeforeAttributes(eventData: MaterialPluginPrepareDefines): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.prepareDefinesBeforeAttributes(eventData.defines, this._scene, eventData.mesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventPrepareDefines(eventData: MaterialPluginPrepareDefines): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.prepareDefines(eventData.defines, this._scene, eventData.mesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventHardBindForSubMesh(eventData: MaterialPluginHardBindForSubMesh): void {\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n plugin.hardBindForSubMesh(this._material._uniformBuffer, this._scene, this._engine, eventData.subMesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventBindForSubMesh(eventData: MaterialPluginBindForSubMesh): void {\r\n for (const plugin of this._activePlugins) {\r\n plugin.bindForSubMesh(this._material._uniformBuffer, this._scene, this._engine, eventData.subMesh);\r\n }\r\n }\r\n\r\n protected _handlePluginEventHasRenderTargetTextures(eventData: MaterialPluginHasRenderTargetTextures): void {\r\n let hasRenderTargetTextures = false;\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n hasRenderTargetTextures = plugin.hasRenderTargetTextures();\r\n if (hasRenderTargetTextures) {\r\n break;\r\n }\r\n }\r\n eventData.hasRenderTargetTextures = hasRenderTargetTextures;\r\n }\r\n\r\n protected _handlePluginEventFillRenderTargetTextures(eventData: MaterialPluginFillRenderTargetTextures): void {\r\n for (const plugin of this._activePluginsForExtraEvents) {\r\n plugin.fillRenderTargetTextures(eventData.renderTargets);\r\n }\r\n }\r\n\r\n protected _handlePluginEvent(\r\n id: number,\r\n info:\r\n | MaterialPluginGetActiveTextures\r\n | MaterialPluginGetAnimatables\r\n | MaterialPluginHasTexture\r\n | MaterialPluginDisposed\r\n | MaterialPluginGetDefineNames\r\n | MaterialPluginPrepareEffect\r\n | MaterialPluginPrepareUniformBuffer\r\n ): void {\r\n switch (id) {\r\n case MaterialPluginEvent.GetActiveTextures: {\r\n const eventData = info as MaterialPluginGetActiveTextures;\r\n for (const plugin of this._activePlugins) {\r\n plugin.getActiveTextures(eventData.activeTextures);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.GetAnimatables: {\r\n const eventData = info as MaterialPluginGetAnimatables;\r\n for (const plugin of this._activePlugins) {\r\n plugin.getAnimatables(eventData.animatables);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.HasTexture: {\r\n const eventData = info as MaterialPluginHasTexture;\r\n let hasTexture = false;\r\n for (const plugin of this._activePlugins) {\r\n hasTexture = plugin.hasTexture(eventData.texture);\r\n if (hasTexture) {\r\n break;\r\n }\r\n }\r\n eventData.hasTexture = hasTexture;\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.Disposed: {\r\n const eventData = info as MaterialPluginDisposed;\r\n for (const plugin of this._plugins) {\r\n plugin.dispose(eventData.forceDisposeTextures);\r\n }\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.GetDefineNames: {\r\n const eventData = info as MaterialPluginGetDefineNames;\r\n eventData.defineNames = this._defineNamesFromPlugins;\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.PrepareEffect: {\r\n const eventData = info as MaterialPluginPrepareEffect;\r\n for (const plugin of this._activePlugins) {\r\n eventData.fallbackRank = plugin.addFallbacks(eventData.defines, eventData.fallbacks, eventData.fallbackRank);\r\n plugin.getAttributes(eventData.attributes, this._scene, eventData.mesh);\r\n }\r\n if (this._uniformList.length > 0) {\r\n eventData.uniforms.push(...this._uniformList);\r\n }\r\n if (this._samplerList.length > 0) {\r\n eventData.samplers.push(...this._samplerList);\r\n }\r\n if (this._uboList.length > 0) {\r\n eventData.uniformBuffersNames.push(...this._uboList);\r\n }\r\n eventData.customCode = this._injectCustomCode(eventData.customCode);\r\n break;\r\n }\r\n\r\n case MaterialPluginEvent.PrepareUniformBuffer: {\r\n const eventData = info as MaterialPluginPrepareUniformBuffer;\r\n this._uboDeclaration = \"\";\r\n this._vertexDeclaration = \"\";\r\n this._fragmentDeclaration = \"\";\r\n this._uniformList = [];\r\n this._samplerList = [];\r\n this._uboList = [];\r\n for (const plugin of this._plugins) {\r\n const uniforms = plugin.getUniforms();\r\n if (uniforms) {\r\n if (uniforms.ubo) {\r\n for (const uniform of uniforms.ubo) {\r\n eventData.ubo.addUniform(uniform.name, uniform.size);\r\n this._uboDeclaration += `${uniform.type} ${uniform.name};\\r\\n`;\r\n this._uniformList.push(uniform.name);\r\n }\r\n }\r\n if (uniforms.vertex) {\r\n this._vertexDeclaration += uniforms.vertex + \"\\r\\n\";\r\n }\r\n if (uniforms.fragment) {\r\n this._fragmentDeclaration += uniforms.fragment + \"\\r\\n\";\r\n }\r\n }\r\n plugin.getSamplers(this._samplerList);\r\n plugin.getUniformBuffersNames(this._uboList);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n protected _collectPointNames(shaderType: string, customCode: Nullable<{ [pointName: string]: string }> | undefined): void {\r\n if (!customCode) {\r\n return;\r\n }\r\n for (const pointName in customCode) {\r\n if (!this._codeInjectionPoints[shaderType]) {\r\n this._codeInjectionPoints[shaderType] = {};\r\n }\r\n this._codeInjectionPoints[shaderType][pointName] = true;\r\n }\r\n }\r\n\r\n protected _injectCustomCode(existingCallback?: (shaderType: string, code: string) => string): ShaderCustomProcessingFunction {\r\n return (shaderType: string, code: string) => {\r\n if (existingCallback) {\r\n code = existingCallback(shaderType, code);\r\n }\r\n if (this._uboDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_UBO_DECLARATION\", this._uboDeclaration);\r\n }\r\n if (this._vertexDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_VERTEX_DECLARATION\", this._vertexDeclaration);\r\n }\r\n if (this._fragmentDeclaration) {\r\n code = code.replace(\"#define ADDITIONAL_FRAGMENT_DECLARATION\", this._fragmentDeclaration);\r\n }\r\n const points = this._codeInjectionPoints?.[shaderType];\r\n if (!points) {\r\n return code;\r\n }\r\n for (const pointName in points) {\r\n let injectedCode = \"\";\r\n for (const plugin of this._activePlugins) {\r\n const customCode = plugin.getCustomCode(shaderType);\r\n if (customCode?.[pointName]) {\r\n injectedCode += customCode[pointName] + \"\\r\\n\";\r\n }\r\n }\r\n if (injectedCode.length > 0) {\r\n if (pointName.charAt(0) === \"!\") {\r\n // pointName is a regular expression\r\n const rx = new RegExp(pointName.substring(1), \"g\");\r\n let match = rx.exec(code);\r\n while (match !== null) {\r\n let newCode = injectedCode;\r\n for (let i = 0; i < match.length; ++i) {\r\n newCode = newCode.replace(\"$\" + i, match[i]);\r\n }\r\n code = code.replace(match[0], newCode);\r\n match = rx.exec(code);\r\n }\r\n } else {\r\n const fullPointName = \"#define \" + pointName;\r\n code = code.replace(fullPointName, \"\\r\\n\" + injectedCode + \"\\r\\n\" + fullPointName);\r\n }\r\n }\r\n }\r\n return code;\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Type for plugin material factories.\r\n */\r\nexport type PluginMaterialFactory = (material: Material) => Nullable<MaterialPluginBase>;\r\n\r\nconst plugins: Array<[string, PluginMaterialFactory]> = [];\r\nlet inited = false;\r\n\r\n/**\r\n * Registers a new material plugin through a factory, or updates it. This makes the plugin available to all materials instantiated after its registration.\r\n * @param pluginName The plugin name\r\n * @param factory The factory function which allows to create the plugin\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterMaterialPlugin(pluginName: string, factory: PluginMaterialFactory): void {\r\n if (!inited) {\r\n Material.OnEventObservable.add((material: Material) => {\r\n for (const [, factory] of plugins) {\r\n factory(material);\r\n }\r\n }, MaterialPluginEvent.Created);\r\n inited = true;\r\n }\r\n const existing = plugins.filter(([name, _factory]) => name === pluginName);\r\n if (existing.length > 0) {\r\n existing[0][1] = factory;\r\n } else {\r\n plugins.push([pluginName, factory]);\r\n }\r\n}\r\n\r\n/**\r\n * Removes a material plugin from the list of global plugins.\r\n * @param pluginName The plugin name\r\n * @returns true if the plugin has been removed, else false\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function UnregisterMaterialPlugin(pluginName: string): boolean {\r\n for (let i = 0; i < plugins.length; ++i) {\r\n if (plugins[i][0] === pluginName) {\r\n plugins.splice(i, 1);\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Clear the list of global material plugins\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function UnregisterAllMaterialPlugins(): void {\r\n plugins.length = 0;\r\n}\r\n"]}
@@ -11,7 +11,7 @@ import { Material } from "../Materials/material";
11
11
  */
12
12
  export declare class MultiMaterial extends Material {
13
13
  private _subMaterials;
14
- /** @hidden */
14
+ /** @internal */
15
15
  _waitingSubMaterialsUniqueIds: string[];
16
16
  /**
17
17
  * Gets or Sets the list of Materials used within the multi material.
@@ -17,7 +17,7 @@ export class MultiMaterial extends Material {
17
17
  */
18
18
  constructor(name, scene) {
19
19
  super(name, scene, true);
20
- /** @hidden */
20
+ /** @internal */
21
21
  this._waitingSubMaterialsUniqueIds = [];
22
22
  this.getScene().multiMaterials.push(this);
23
23
  this.subMaterials = new Array();
@@ -1 +1 @@
1
- {"version":3,"file":"multiMaterial.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/multiMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"../Meshes/subMesh\";\r\nimport type { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { Tags } from \"../Misc/tags\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\n\r\n/**\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\nexport class MultiMaterial extends Material {\r\n private _subMaterials: Nullable<Material>[];\r\n /** @hidden */\r\n public _waitingSubMaterialsUniqueIds: string[] = [];\r\n\r\n /**\r\n * Gets or Sets the list of Materials used within the multi material.\r\n * They need to be ordered according to the submeshes order in the associated mesh\r\n */\r\n public get subMaterials(): Nullable<Material>[] {\r\n return this._subMaterials;\r\n }\r\n\r\n public set subMaterials(value: Nullable<Material>[]) {\r\n this._subMaterials = value;\r\n this._hookArray(value);\r\n }\r\n\r\n /**\r\n * Function used to align with Node.getChildren()\r\n * @returns the list of Materials used within the multi material\r\n */\r\n public getChildren(): Nullable<Material>[] {\r\n return this.subMaterials;\r\n }\r\n\r\n /**\r\n * Instantiates a new Multi Material\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n * @param name Define the name in the scene\r\n * @param scene Define the scene the material belongs to\r\n */\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene, true);\r\n\r\n this.getScene().multiMaterials.push(this);\r\n\r\n this.subMaterials = new Array<Material>();\r\n\r\n this._storeEffectOnSubMeshes = true; // multimaterial is considered like a push material\r\n }\r\n\r\n private _hookArray(array: Nullable<Material>[]): void {\r\n const oldPush = array.push;\r\n array.push = (...items: Nullable<Material>[]) => {\r\n const result = oldPush.apply(array, items);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return result;\r\n };\r\n\r\n const oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n const deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return deleted;\r\n };\r\n }\r\n\r\n /**\r\n * Get one of the submaterial by its index in the submaterials array\r\n * @param index The index to look the sub material at\r\n * @returns The Material if the index has been defined\r\n */\r\n public getSubMaterial(index: number): Nullable<Material> {\r\n if (index < 0 || index >= this.subMaterials.length) {\r\n return this.getScene().defaultMaterial;\r\n }\r\n\r\n return this.subMaterials[index];\r\n }\r\n\r\n /**\r\n * Get the list of active textures for the whole sub materials list.\r\n * @returns All the textures that will be used during the rendering\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n return super.getActiveTextures().concat(\r\n ...this.subMaterials.map((subMaterial) => {\r\n if (subMaterial) {\r\n return subMaterial.getActiveTextures();\r\n } else {\r\n return [];\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Specifies if any sub-materials of this multi-material use a given texture.\r\n * @param texture Defines the texture to check against this multi-material's sub-materials.\r\n * @returns A boolean specifying if any sub-material of this multi-material uses the texture.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < this.subMaterials.length; i++) {\r\n if (this.subMaterials[i]?.hasTexture(texture)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the current class name of the material e.g. \"MultiMaterial\"\r\n * Mainly use in serialization.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"MultiMaterial\";\r\n }\r\n\r\n /**\r\n * Checks if the material is ready to render the requested sub mesh\r\n * @param mesh Define the mesh the submesh belongs to\r\n * @param subMesh Define the sub mesh to look readiness for\r\n * @param useInstances Define whether or not the material is used with instances\r\n * @returns true if ready, otherwise false\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n const subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n if (subMaterial._storeEffectOnSubMeshes) {\r\n if (!subMaterial.isReadyForSubMesh(mesh, subMesh, useInstances)) {\r\n return false;\r\n }\r\n continue;\r\n }\r\n\r\n if (!subMaterial.isReady(mesh)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Clones the current material and its related sub materials\r\n * @param name Define the name of the newly cloned material\r\n * @param cloneChildren Define if submaterial will be cloned or shared with the parent instance\r\n * @returns the cloned material\r\n */\r\n public clone(name: string, cloneChildren?: boolean): MultiMaterial {\r\n const newMultiMaterial = new MultiMaterial(name, this.getScene());\r\n\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n let subMaterial: Nullable<Material> = null;\r\n const current = this.subMaterials[index];\r\n if (cloneChildren && current) {\r\n subMaterial = current.clone(name + \"-\" + current.name);\r\n } else {\r\n subMaterial = this.subMaterials[index];\r\n }\r\n newMultiMaterial.subMaterials.push(subMaterial);\r\n }\r\n\r\n return newMultiMaterial;\r\n }\r\n\r\n /**\r\n * Serializes the materials into a JSON representation.\r\n * @returns the JSON representation\r\n */\r\n public serialize(): any {\r\n const serializationObject: any = {};\r\n\r\n serializationObject.name = this.name;\r\n serializationObject.id = this.id;\r\n serializationObject.uniqueId = this.uniqueId;\r\n if (Tags) {\r\n serializationObject.tags = Tags.GetTags(this);\r\n }\r\n serializationObject.materialsUniqueIds = [];\r\n serializationObject.materials = [];\r\n\r\n for (let matIndex = 0; matIndex < this.subMaterials.length; matIndex++) {\r\n const subMat = this.subMaterials[matIndex];\r\n\r\n if (subMat) {\r\n serializationObject.materialsUniqueIds.push(subMat.uniqueId);\r\n serializationObject.materials.push(subMat.id);\r\n } else {\r\n serializationObject.materialsUniqueIds.push(null);\r\n serializationObject.materials.push(null);\r\n }\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Dispose the material and release its associated resources\r\n * @param forceDisposeEffect Define if we want to force disposing the associated effect (if false the shader is not released and could be reuse later on)\r\n * @param forceDisposeTextures Define if we want to force disposing the associated textures (if false, they will not be disposed and can still be use elsewhere in the app)\r\n * @param forceDisposeChildren Define if we want to force disposing the associated submaterials (if false, they will not be disposed and can still be use elsewhere in the app)\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, forceDisposeChildren?: boolean): void {\r\n const scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n if (forceDisposeChildren) {\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n const subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n subMaterial.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n }\r\n }\r\n\r\n const index = scene.multiMaterials.indexOf(this);\r\n if (index >= 0) {\r\n scene.multiMaterials.splice(index, 1);\r\n }\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n\r\n /**\r\n * Creates a MultiMaterial from parsed MultiMaterial data.\r\n * @param parsedMultiMaterial defines parsed MultiMaterial data.\r\n * @param scene defines the hosting scene\r\n * @returns a new MultiMaterial\r\n */\r\n public static ParseMultiMaterial(parsedMultiMaterial: any, scene: Scene): MultiMaterial {\r\n const multiMaterial = new MultiMaterial(parsedMultiMaterial.name, scene);\r\n\r\n multiMaterial.id = parsedMultiMaterial.id;\r\n multiMaterial._loadedUniqueId = parsedMultiMaterial.uniqueId;\r\n\r\n if (Tags) {\r\n Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);\r\n }\r\n\r\n if (parsedMultiMaterial.materialsUniqueIds) {\r\n multiMaterial._waitingSubMaterialsUniqueIds = parsedMultiMaterial.materialsUniqueIds;\r\n } else {\r\n parsedMultiMaterial.materials.forEach((subMatId: string) => multiMaterial.subMaterials.push(scene.getLastMaterialById(subMatId)));\r\n }\r\n\r\n return multiMaterial;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.MultiMaterial\", MultiMaterial);\r\n"]}
1
+ {"version":3,"file":"multiMaterial.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/multiMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"../Meshes/subMesh\";\r\nimport type { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { Tags } from \"../Misc/tags\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\n\r\n/**\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\nexport class MultiMaterial extends Material {\r\n private _subMaterials: Nullable<Material>[];\r\n /** @internal */\r\n public _waitingSubMaterialsUniqueIds: string[] = [];\r\n\r\n /**\r\n * Gets or Sets the list of Materials used within the multi material.\r\n * They need to be ordered according to the submeshes order in the associated mesh\r\n */\r\n public get subMaterials(): Nullable<Material>[] {\r\n return this._subMaterials;\r\n }\r\n\r\n public set subMaterials(value: Nullable<Material>[]) {\r\n this._subMaterials = value;\r\n this._hookArray(value);\r\n }\r\n\r\n /**\r\n * Function used to align with Node.getChildren()\r\n * @returns the list of Materials used within the multi material\r\n */\r\n public getChildren(): Nullable<Material>[] {\r\n return this.subMaterials;\r\n }\r\n\r\n /**\r\n * Instantiates a new Multi Material\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n * @param name Define the name in the scene\r\n * @param scene Define the scene the material belongs to\r\n */\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene, true);\r\n\r\n this.getScene().multiMaterials.push(this);\r\n\r\n this.subMaterials = new Array<Material>();\r\n\r\n this._storeEffectOnSubMeshes = true; // multimaterial is considered like a push material\r\n }\r\n\r\n private _hookArray(array: Nullable<Material>[]): void {\r\n const oldPush = array.push;\r\n array.push = (...items: Nullable<Material>[]) => {\r\n const result = oldPush.apply(array, items);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return result;\r\n };\r\n\r\n const oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n const deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return deleted;\r\n };\r\n }\r\n\r\n /**\r\n * Get one of the submaterial by its index in the submaterials array\r\n * @param index The index to look the sub material at\r\n * @returns The Material if the index has been defined\r\n */\r\n public getSubMaterial(index: number): Nullable<Material> {\r\n if (index < 0 || index >= this.subMaterials.length) {\r\n return this.getScene().defaultMaterial;\r\n }\r\n\r\n return this.subMaterials[index];\r\n }\r\n\r\n /**\r\n * Get the list of active textures for the whole sub materials list.\r\n * @returns All the textures that will be used during the rendering\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n return super.getActiveTextures().concat(\r\n ...this.subMaterials.map((subMaterial) => {\r\n if (subMaterial) {\r\n return subMaterial.getActiveTextures();\r\n } else {\r\n return [];\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Specifies if any sub-materials of this multi-material use a given texture.\r\n * @param texture Defines the texture to check against this multi-material's sub-materials.\r\n * @returns A boolean specifying if any sub-material of this multi-material uses the texture.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < this.subMaterials.length; i++) {\r\n if (this.subMaterials[i]?.hasTexture(texture)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the current class name of the material e.g. \"MultiMaterial\"\r\n * Mainly use in serialization.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"MultiMaterial\";\r\n }\r\n\r\n /**\r\n * Checks if the material is ready to render the requested sub mesh\r\n * @param mesh Define the mesh the submesh belongs to\r\n * @param subMesh Define the sub mesh to look readiness for\r\n * @param useInstances Define whether or not the material is used with instances\r\n * @returns true if ready, otherwise false\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n const subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n if (subMaterial._storeEffectOnSubMeshes) {\r\n if (!subMaterial.isReadyForSubMesh(mesh, subMesh, useInstances)) {\r\n return false;\r\n }\r\n continue;\r\n }\r\n\r\n if (!subMaterial.isReady(mesh)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Clones the current material and its related sub materials\r\n * @param name Define the name of the newly cloned material\r\n * @param cloneChildren Define if submaterial will be cloned or shared with the parent instance\r\n * @returns the cloned material\r\n */\r\n public clone(name: string, cloneChildren?: boolean): MultiMaterial {\r\n const newMultiMaterial = new MultiMaterial(name, this.getScene());\r\n\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n let subMaterial: Nullable<Material> = null;\r\n const current = this.subMaterials[index];\r\n if (cloneChildren && current) {\r\n subMaterial = current.clone(name + \"-\" + current.name);\r\n } else {\r\n subMaterial = this.subMaterials[index];\r\n }\r\n newMultiMaterial.subMaterials.push(subMaterial);\r\n }\r\n\r\n return newMultiMaterial;\r\n }\r\n\r\n /**\r\n * Serializes the materials into a JSON representation.\r\n * @returns the JSON representation\r\n */\r\n public serialize(): any {\r\n const serializationObject: any = {};\r\n\r\n serializationObject.name = this.name;\r\n serializationObject.id = this.id;\r\n serializationObject.uniqueId = this.uniqueId;\r\n if (Tags) {\r\n serializationObject.tags = Tags.GetTags(this);\r\n }\r\n serializationObject.materialsUniqueIds = [];\r\n serializationObject.materials = [];\r\n\r\n for (let matIndex = 0; matIndex < this.subMaterials.length; matIndex++) {\r\n const subMat = this.subMaterials[matIndex];\r\n\r\n if (subMat) {\r\n serializationObject.materialsUniqueIds.push(subMat.uniqueId);\r\n serializationObject.materials.push(subMat.id);\r\n } else {\r\n serializationObject.materialsUniqueIds.push(null);\r\n serializationObject.materials.push(null);\r\n }\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Dispose the material and release its associated resources\r\n * @param forceDisposeEffect Define if we want to force disposing the associated effect (if false the shader is not released and could be reuse later on)\r\n * @param forceDisposeTextures Define if we want to force disposing the associated textures (if false, they will not be disposed and can still be use elsewhere in the app)\r\n * @param forceDisposeChildren Define if we want to force disposing the associated submaterials (if false, they will not be disposed and can still be use elsewhere in the app)\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, forceDisposeChildren?: boolean): void {\r\n const scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n if (forceDisposeChildren) {\r\n for (let index = 0; index < this.subMaterials.length; index++) {\r\n const subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n subMaterial.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n }\r\n }\r\n\r\n const index = scene.multiMaterials.indexOf(this);\r\n if (index >= 0) {\r\n scene.multiMaterials.splice(index, 1);\r\n }\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n\r\n /**\r\n * Creates a MultiMaterial from parsed MultiMaterial data.\r\n * @param parsedMultiMaterial defines parsed MultiMaterial data.\r\n * @param scene defines the hosting scene\r\n * @returns a new MultiMaterial\r\n */\r\n public static ParseMultiMaterial(parsedMultiMaterial: any, scene: Scene): MultiMaterial {\r\n const multiMaterial = new MultiMaterial(parsedMultiMaterial.name, scene);\r\n\r\n multiMaterial.id = parsedMultiMaterial.id;\r\n multiMaterial._loadedUniqueId = parsedMultiMaterial.uniqueId;\r\n\r\n if (Tags) {\r\n Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);\r\n }\r\n\r\n if (parsedMultiMaterial.materialsUniqueIds) {\r\n multiMaterial._waitingSubMaterialsUniqueIds = parsedMultiMaterial.materialsUniqueIds;\r\n } else {\r\n parsedMultiMaterial.materials.forEach((subMatId: string) => multiMaterial.subMaterials.push(scene.getLastMaterialById(subMatId)));\r\n }\r\n\r\n return multiMaterial;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.MultiMaterial\", MultiMaterial);\r\n"]}
@@ -8,7 +8,7 @@ import type { Effect } from "../Materials/effect";
8
8
  import type { SubMesh } from "../Meshes/subMesh";
9
9
  /**
10
10
  * Base class of materials working in push mode in babylon JS
11
- * @hidden
11
+ * @internal
12
12
  */
13
13
  export declare class PushMaterial extends Material {
14
14
  protected _activeEffect: Effect;
@@ -2,7 +2,7 @@ import { Matrix } from "../Maths/math.vector.js";
2
2
  import { Material } from "../Materials/material.js";
3
3
  /**
4
4
  * Base class of materials working in push mode in babylon JS
5
- * @hidden
5
+ * @internal
6
6
  */
7
7
  export class PushMaterial extends Material {
8
8
  constructor(name, scene, storeEffectOnSubMeshes = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"pushMaterial.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/pushMaterial.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAKtC,YAAY,IAAY,EAAE,KAAa,EAAE,sBAAsB,GAAG,IAAI;QAClE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAHb,kBAAa,GAAW,IAAI,MAAM,EAAE,CAAC;QAI3C,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IAC1D,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAG,CAAC;IAClF,CAAC;IAEM,OAAO,CAAC,IAAmB,EAAE,YAAsB;QACtD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/B,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAES,kBAAkB,CAAC,OAAgB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE;YAC1D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;gBACrD,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,KAAa;QACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,YAAoB;QAC5C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,IAAW;QAClC,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;SACV;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAES,UAAU,CAAC,IAAW,EAAE,SAA2B,IAAI;QAC7D,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;IAC3C,CAAC;IAES,WAAW,CAAC,KAAY,EAAE,MAAc,EAAE,aAAqB,CAAC;QACtE,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;CACJ","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { Mesh } from \"../Meshes/mesh\";\r\nimport { Material } from \"../Materials/material\";\r\nimport type { Effect } from \"../Materials/effect\";\r\nimport type { SubMesh } from \"../Meshes/subMesh\";\r\n/**\r\n * Base class of materials working in push mode in babylon JS\r\n * @hidden\r\n */\r\nexport class PushMaterial extends Material {\r\n protected _activeEffect: Effect;\r\n\r\n protected _normalMatrix: Matrix = new Matrix();\r\n\r\n constructor(name: string, scene?: Scene, storeEffectOnSubMeshes = true) {\r\n super(name, scene);\r\n this._storeEffectOnSubMeshes = storeEffectOnSubMeshes;\r\n }\r\n\r\n public getEffect(): Effect {\r\n return this._storeEffectOnSubMeshes ? this._activeEffect : super.getEffect()!;\r\n }\r\n\r\n public isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (!mesh) {\r\n return false;\r\n }\r\n\r\n if (!this._storeEffectOnSubMeshes) {\r\n return true;\r\n }\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0) {\r\n return true;\r\n }\r\n\r\n return this.isReadyForSubMesh(mesh, mesh.subMeshes[0], useInstances);\r\n }\r\n\r\n protected _isReadyForSubMesh(subMesh: SubMesh) {\r\n const defines = subMesh.materialDefines;\r\n if (!this.checkReadyOnEveryCall && subMesh.effect && defines) {\r\n if (defines._renderId === this.getScene().getRenderId()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds the given world matrix to the active effect\r\n *\r\n * @param world the matrix to bind\r\n */\r\n public bindOnlyWorldMatrix(world: Matrix): void {\r\n this._activeEffect.setMatrix(\"world\", world);\r\n }\r\n\r\n /**\r\n * Binds the given normal matrix to the active effect\r\n *\r\n * @param normalMatrix the matrix to bind\r\n */\r\n public bindOnlyNormalMatrix(normalMatrix: Matrix): void {\r\n this._activeEffect.setMatrix(\"normalMatrix\", normalMatrix);\r\n }\r\n\r\n public bind(world: Matrix, mesh?: Mesh): void {\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n this.bindForSubMesh(world, mesh, mesh.subMeshes[0]);\r\n }\r\n\r\n protected _afterBind(mesh?: Mesh, effect: Nullable<Effect> = null): void {\r\n super._afterBind(mesh, effect);\r\n this.getScene()._cachedEffect = effect;\r\n }\r\n\r\n protected _mustRebind(scene: Scene, effect: Effect, visibility: number = 1) {\r\n return scene.isCachedMaterialInvalid(this, effect, visibility);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"pushMaterial.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Materials/pushMaterial.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAKtC,YAAY,IAAY,EAAE,KAAa,EAAE,sBAAsB,GAAG,IAAI;QAClE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAHb,kBAAa,GAAW,IAAI,MAAM,EAAE,CAAC;QAI3C,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IAC1D,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAG,CAAC;IAClF,CAAC;IAEM,OAAO,CAAC,IAAmB,EAAE,YAAsB;QACtD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/B,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAES,kBAAkB,CAAC,OAAgB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE;YAC1D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;gBACrD,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,KAAa;QACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,YAAoB;QAC5C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,IAAW;QAClC,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;SACV;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAES,UAAU,CAAC,IAAW,EAAE,SAA2B,IAAI;QAC7D,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;IAC3C,CAAC;IAES,WAAW,CAAC,KAAY,EAAE,MAAc,EAAE,aAAqB,CAAC;QACtE,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;CACJ","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { Mesh } from \"../Meshes/mesh\";\r\nimport { Material } from \"../Materials/material\";\r\nimport type { Effect } from \"../Materials/effect\";\r\nimport type { SubMesh } from \"../Meshes/subMesh\";\r\n/**\r\n * Base class of materials working in push mode in babylon JS\r\n * @internal\r\n */\r\nexport class PushMaterial extends Material {\r\n protected _activeEffect: Effect;\r\n\r\n protected _normalMatrix: Matrix = new Matrix();\r\n\r\n constructor(name: string, scene?: Scene, storeEffectOnSubMeshes = true) {\r\n super(name, scene);\r\n this._storeEffectOnSubMeshes = storeEffectOnSubMeshes;\r\n }\r\n\r\n public getEffect(): Effect {\r\n return this._storeEffectOnSubMeshes ? this._activeEffect : super.getEffect()!;\r\n }\r\n\r\n public isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (!mesh) {\r\n return false;\r\n }\r\n\r\n if (!this._storeEffectOnSubMeshes) {\r\n return true;\r\n }\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0) {\r\n return true;\r\n }\r\n\r\n return this.isReadyForSubMesh(mesh, mesh.subMeshes[0], useInstances);\r\n }\r\n\r\n protected _isReadyForSubMesh(subMesh: SubMesh) {\r\n const defines = subMesh.materialDefines;\r\n if (!this.checkReadyOnEveryCall && subMesh.effect && defines) {\r\n if (defines._renderId === this.getScene().getRenderId()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds the given world matrix to the active effect\r\n *\r\n * @param world the matrix to bind\r\n */\r\n public bindOnlyWorldMatrix(world: Matrix): void {\r\n this._activeEffect.setMatrix(\"world\", world);\r\n }\r\n\r\n /**\r\n * Binds the given normal matrix to the active effect\r\n *\r\n * @param normalMatrix the matrix to bind\r\n */\r\n public bindOnlyNormalMatrix(normalMatrix: Matrix): void {\r\n this._activeEffect.setMatrix(\"normalMatrix\", normalMatrix);\r\n }\r\n\r\n public bind(world: Matrix, mesh?: Mesh): void {\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n this.bindForSubMesh(world, mesh, mesh.subMeshes[0]);\r\n }\r\n\r\n protected _afterBind(mesh?: Mesh, effect: Nullable<Effect> = null): void {\r\n super._afterBind(mesh, effect);\r\n this.getScene()._cachedEffect = effect;\r\n }\r\n\r\n protected _mustRebind(scene: Scene, effect: Effect, visibility: number = 1) {\r\n return scene.isCachedMaterialInvalid(this, effect, visibility);\r\n }\r\n}\r\n"]}
@@ -160,175 +160,175 @@ export declare class ShaderMaterial extends PushMaterial {
160
160
  * Set a texture in the shader.
161
161
  * @param name Define the name of the uniform samplers as defined in the shader
162
162
  * @param texture Define the texture to bind to this sampler
163
- * @return the material itself allowing "fluent" like uniform updates
163
+ * @returns the material itself allowing "fluent" like uniform updates
164
164
  */
165
165
  setTexture(name: string, texture: BaseTexture): ShaderMaterial;
166
166
  /**
167
167
  * Set a texture array in the shader.
168
168
  * @param name Define the name of the uniform sampler array as defined in the shader
169
169
  * @param textures Define the list of textures to bind to this sampler
170
- * @return the material itself allowing "fluent" like uniform updates
170
+ * @returns the material itself allowing "fluent" like uniform updates
171
171
  */
172
172
  setTextureArray(name: string, textures: BaseTexture[]): ShaderMaterial;
173
173
  /**
174
174
  * Set an internal texture in the shader.
175
175
  * @param name Define the name of the uniform samplers as defined in the shader
176
176
  * @param texture Define the texture to bind to this sampler
177
- * @return the material itself allowing "fluent" like uniform updates
177
+ * @returns the material itself allowing "fluent" like uniform updates
178
178
  */
179
179
  setExternalTexture(name: string, texture: ExternalTexture): ShaderMaterial;
180
180
  /**
181
181
  * Set a float in the shader.
182
182
  * @param name Define the name of the uniform as defined in the shader
183
183
  * @param value Define the value to give to the uniform
184
- * @return the material itself allowing "fluent" like uniform updates
184
+ * @returns the material itself allowing "fluent" like uniform updates
185
185
  */
186
186
  setFloat(name: string, value: number): ShaderMaterial;
187
187
  /**
188
188
  * Set a int in the shader.
189
189
  * @param name Define the name of the uniform as defined in the shader
190
190
  * @param value Define the value to give to the uniform
191
- * @return the material itself allowing "fluent" like uniform updates
191
+ * @returns the material itself allowing "fluent" like uniform updates
192
192
  */
193
193
  setInt(name: string, value: number): ShaderMaterial;
194
194
  /**
195
195
  * Set an array of floats in the shader.
196
196
  * @param name Define the name of the uniform as defined in the shader
197
197
  * @param value Define the value to give to the uniform
198
- * @return the material itself allowing "fluent" like uniform updates
198
+ * @returns the material itself allowing "fluent" like uniform updates
199
199
  */
200
200
  setFloats(name: string, value: number[]): ShaderMaterial;
201
201
  /**
202
202
  * Set a vec3 in the shader from a Color3.
203
203
  * @param name Define the name of the uniform as defined in the shader
204
204
  * @param value Define the value to give to the uniform
205
- * @return the material itself allowing "fluent" like uniform updates
205
+ * @returns the material itself allowing "fluent" like uniform updates
206
206
  */
207
207
  setColor3(name: string, value: Color3): ShaderMaterial;
208
208
  /**
209
209
  * Set a vec3 array in the shader from a Color3 array.
210
210
  * @param name Define the name of the uniform as defined in the shader
211
211
  * @param value Define the value to give to the uniform
212
- * @return the material itself allowing "fluent" like uniform updates
212
+ * @returns the material itself allowing "fluent" like uniform updates
213
213
  */
214
214
  setColor3Array(name: string, value: Color3[]): ShaderMaterial;
215
215
  /**
216
216
  * Set a vec4 in the shader from a Color4.
217
217
  * @param name Define the name of the uniform as defined in the shader
218
218
  * @param value Define the value to give to the uniform
219
- * @return the material itself allowing "fluent" like uniform updates
219
+ * @returns the material itself allowing "fluent" like uniform updates
220
220
  */
221
221
  setColor4(name: string, value: Color4): ShaderMaterial;
222
222
  /**
223
223
  * Set a vec4 array in the shader from a Color4 array.
224
224
  * @param name Define the name of the uniform as defined in the shader
225
225
  * @param value Define the value to give to the uniform
226
- * @return the material itself allowing "fluent" like uniform updates
226
+ * @returns the material itself allowing "fluent" like uniform updates
227
227
  */
228
228
  setColor4Array(name: string, value: Color4[]): ShaderMaterial;
229
229
  /**
230
230
  * Set a vec2 in the shader from a Vector2.
231
231
  * @param name Define the name of the uniform as defined in the shader
232
232
  * @param value Define the value to give to the uniform
233
- * @return the material itself allowing "fluent" like uniform updates
233
+ * @returns the material itself allowing "fluent" like uniform updates
234
234
  */
235
235
  setVector2(name: string, value: Vector2): ShaderMaterial;
236
236
  /**
237
237
  * Set a vec3 in the shader from a Vector3.
238
238
  * @param name Define the name of the uniform as defined in the shader
239
239
  * @param value Define the value to give to the uniform
240
- * @return the material itself allowing "fluent" like uniform updates
240
+ * @returns the material itself allowing "fluent" like uniform updates
241
241
  */
242
242
  setVector3(name: string, value: Vector3): ShaderMaterial;
243
243
  /**
244
244
  * Set a vec4 in the shader from a Vector4.
245
245
  * @param name Define the name of the uniform as defined in the shader
246
246
  * @param value Define the value to give to the uniform
247
- * @return the material itself allowing "fluent" like uniform updates
247
+ * @returns the material itself allowing "fluent" like uniform updates
248
248
  */
249
249
  setVector4(name: string, value: Vector4): ShaderMaterial;
250
250
  /**
251
251
  * Set a vec4 in the shader from a Quaternion.
252
252
  * @param name Define the name of the uniform as defined in the shader
253
253
  * @param value Define the value to give to the uniform
254
- * @return the material itself allowing "fluent" like uniform updates
254
+ * @returns the material itself allowing "fluent" like uniform updates
255
255
  */
256
256
  setQuaternion(name: string, value: Quaternion): ShaderMaterial;
257
257
  /**
258
258
  * Set a vec4 array in the shader from a Quaternion array.
259
259
  * @param name Define the name of the uniform as defined in the shader
260
260
  * @param value Define the value to give to the uniform
261
- * @return the material itself allowing "fluent" like uniform updates
261
+ * @returns the material itself allowing "fluent" like uniform updates
262
262
  */
263
263
  setQuaternionArray(name: string, value: Quaternion[]): ShaderMaterial;
264
264
  /**
265
265
  * Set a mat4 in the shader from a Matrix.
266
266
  * @param name Define the name of the uniform as defined in the shader
267
267
  * @param value Define the value to give to the uniform
268
- * @return the material itself allowing "fluent" like uniform updates
268
+ * @returns the material itself allowing "fluent" like uniform updates
269
269
  */
270
270
  setMatrix(name: string, value: Matrix): ShaderMaterial;
271
271
  /**
272
272
  * Set a float32Array in the shader from a matrix array.
273
273
  * @param name Define the name of the uniform as defined in the shader
274
274
  * @param value Define the value to give to the uniform
275
- * @return the material itself allowing "fluent" like uniform updates
275
+ * @returns the material itself allowing "fluent" like uniform updates
276
276
  */
277
277
  setMatrices(name: string, value: Matrix[]): ShaderMaterial;
278
278
  /**
279
279
  * Set a mat3 in the shader from a Float32Array.
280
280
  * @param name Define the name of the uniform as defined in the shader
281
281
  * @param value Define the value to give to the uniform
282
- * @return the material itself allowing "fluent" like uniform updates
282
+ * @returns the material itself allowing "fluent" like uniform updates
283
283
  */
284
284
  setMatrix3x3(name: string, value: Float32Array | Array<number>): ShaderMaterial;
285
285
  /**
286
286
  * Set a mat2 in the shader from a Float32Array.
287
287
  * @param name Define the name of the uniform as defined in the shader
288
288
  * @param value Define the value to give to the uniform
289
- * @return the material itself allowing "fluent" like uniform updates
289
+ * @returns the material itself allowing "fluent" like uniform updates
290
290
  */
291
291
  setMatrix2x2(name: string, value: Float32Array | Array<number>): ShaderMaterial;
292
292
  /**
293
293
  * Set a vec2 array in the shader from a number array.
294
294
  * @param name Define the name of the uniform as defined in the shader
295
295
  * @param value Define the value to give to the uniform
296
- * @return the material itself allowing "fluent" like uniform updates
296
+ * @returns the material itself allowing "fluent" like uniform updates
297
297
  */
298
298
  setArray2(name: string, value: number[]): ShaderMaterial;
299
299
  /**
300
300
  * Set a vec3 array in the shader from a number array.
301
301
  * @param name Define the name of the uniform as defined in the shader
302
302
  * @param value Define the value to give to the uniform
303
- * @return the material itself allowing "fluent" like uniform updates
303
+ * @returns the material itself allowing "fluent" like uniform updates
304
304
  */
305
305
  setArray3(name: string, value: number[]): ShaderMaterial;
306
306
  /**
307
307
  * Set a vec4 array in the shader from a number array.
308
308
  * @param name Define the name of the uniform as defined in the shader
309
309
  * @param value Define the value to give to the uniform
310
- * @return the material itself allowing "fluent" like uniform updates
310
+ * @returns the material itself allowing "fluent" like uniform updates
311
311
  */
312
312
  setArray4(name: string, value: number[]): ShaderMaterial;
313
313
  /**
314
314
  * Set a uniform buffer in the shader
315
315
  * @param name Define the name of the uniform as defined in the shader
316
316
  * @param buffer Define the value to give to the uniform
317
- * @return the material itself allowing "fluent" like uniform updates
317
+ * @returns the material itself allowing "fluent" like uniform updates
318
318
  */
319
319
  setUniformBuffer(name: string, buffer: UniformBuffer): ShaderMaterial;
320
320
  /**
321
321
  * Set a texture sampler in the shader
322
322
  * @param name Define the name of the uniform as defined in the shader
323
323
  * @param sampler Define the value to give to the uniform
324
- * @return the material itself allowing "fluent" like uniform updates
324
+ * @returns the material itself allowing "fluent" like uniform updates
325
325
  */
326
326
  setTextureSampler(name: string, sampler: TextureSampler): ShaderMaterial;
327
327
  /**
328
328
  * Set a storage buffer in the shader
329
329
  * @param name Define the name of the storage buffer as defined in the shader
330
330
  * @param buffer Define the value to give to the uniform
331
- * @return the material itself allowing "fluent" like uniform updates
331
+ * @returns the material itself allowing "fluent" like uniform updates
332
332
  */
333
333
  setStorageBuffer(name: string, buffer: StorageBuffer): ShaderMaterial;
334
334
  /**