@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":"cubemapToSphericalPolynomial.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport { SphericalPolynomial, SphericalHarmonics } from \"../../Maths/sphericalPolynomial\";\r\nimport type { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport type { Nullable } from \"../../types\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { ToLinearSpace } from \"../../Maths/math.constants\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\n\r\nclass FileFaceOrientation {\r\n public name: string;\r\n public worldAxisForNormal: Vector3; // the world axis corresponding to the normal to the face\r\n public worldAxisForFileX: Vector3; // the world axis corresponding to texture right x-axis in file\r\n public worldAxisForFileY: Vector3; // the world axis corresponding to texture down y-axis in file\r\n\r\n public constructor(name: string, worldAxisForNormal: Vector3, worldAxisForFileX: Vector3, worldAxisForFileY: Vector3) {\r\n this.name = name;\r\n this.worldAxisForNormal = worldAxisForNormal;\r\n this.worldAxisForFileX = worldAxisForFileX;\r\n this.worldAxisForFileY = worldAxisForFileY;\r\n }\r\n}\r\n\r\n/**\r\n * Helper class dealing with the extraction of spherical polynomial dataArray\r\n * from a cube map.\r\n */\r\nexport class CubeMapToSphericalPolynomialTools {\r\n private static _FileFaces: FileFaceOrientation[] = [\r\n new FileFaceOrientation(\"right\", new Vector3(1, 0, 0), new Vector3(0, 0, -1), new Vector3(0, -1, 0)), // +X east\r\n new FileFaceOrientation(\"left\", new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, -1, 0)), // -X west\r\n new FileFaceOrientation(\"up\", new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1)), // +Y north\r\n new FileFaceOrientation(\"down\", new Vector3(0, -1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, -1)), // -Y south\r\n new FileFaceOrientation(\"front\", new Vector3(0, 0, 1), new Vector3(1, 0, 0), new Vector3(0, -1, 0)), // +Z top\r\n new FileFaceOrientation(\"back\", new Vector3(0, 0, -1), new Vector3(-1, 0, 0), new Vector3(0, -1, 0)), // -Z bottom\r\n ];\r\n\r\n /**\r\n * Converts a texture to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param texture The texture to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapTextureToSphericalPolynomial(texture: BaseTexture): Nullable<Promise<SphericalPolynomial>> {\r\n if (!texture.isCube) {\r\n // Only supports cube Textures currently.\r\n return null;\r\n }\r\n\r\n texture.getScene()?.getEngine().flushFramebuffer();\r\n\r\n const size = texture.getSize().width;\r\n const rightPromise = texture.readPixels(0, undefined, undefined, false);\r\n const leftPromise = texture.readPixels(1, undefined, undefined, false);\r\n\r\n let upPromise: Nullable<Promise<ArrayBufferView>>;\r\n let downPromise: Nullable<Promise<ArrayBufferView>>;\r\n if (texture.isRenderTarget) {\r\n upPromise = texture.readPixels(3, undefined, undefined, false);\r\n downPromise = texture.readPixels(2, undefined, undefined, false);\r\n } else {\r\n upPromise = texture.readPixels(2, undefined, undefined, false);\r\n downPromise = texture.readPixels(3, undefined, undefined, false);\r\n }\r\n\r\n const frontPromise = texture.readPixels(4, undefined, undefined, false);\r\n const backPromise = texture.readPixels(5, undefined, undefined, false);\r\n\r\n const gammaSpace = texture.gammaSpace;\r\n // Always read as RGBA.\r\n const format = Constants.TEXTUREFORMAT_RGBA;\r\n let type = Constants.TEXTURETYPE_UNSIGNED_INT;\r\n if (texture.textureType == Constants.TEXTURETYPE_FLOAT || texture.textureType == Constants.TEXTURETYPE_HALF_FLOAT) {\r\n type = Constants.TEXTURETYPE_FLOAT;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n Promise.all([leftPromise, rightPromise, upPromise, downPromise, frontPromise, backPromise]).then(([left, right, up, down, front, back]) => {\r\n const cubeInfo: CubeMapInfo = {\r\n size,\r\n right,\r\n left,\r\n up,\r\n down,\r\n front,\r\n back,\r\n format,\r\n type,\r\n gammaSpace,\r\n };\r\n\r\n resolve(this.ConvertCubeMapToSphericalPolynomial(cubeInfo));\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Compute the area on the unit sphere of the rectangle defined by (x,y) and the origin\r\n * See https://www.rorydriscoll.com/2012/01/15/cubemap-texel-solid-angle/\r\n * @param x\r\n * @param y\r\n */\r\n private static _AreaElement(x: number, y: number): number {\r\n return Math.atan2(x * y, Math.sqrt(x * x + y * y + 1));\r\n }\r\n\r\n /**\r\n * Converts a cubemap to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param cubeInfo The Cube map to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapToSphericalPolynomial(cubeInfo: CubeMapInfo): SphericalPolynomial {\r\n const sphericalHarmonics = new SphericalHarmonics();\r\n let totalSolidAngle = 0.0;\r\n\r\n // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size.\r\n const du = 2.0 / cubeInfo.size;\r\n const dv = du;\r\n\r\n const halfTexel = 0.5 * du;\r\n\r\n // The (u,v) of the first texel is half a texel from the corner (-1,-1).\r\n const minUV = halfTexel - 1.0;\r\n\r\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n const fileFace = this._FileFaces[faceIndex];\r\n const dataArray = (<any>cubeInfo)[fileFace.name];\r\n let v = minUV;\r\n\r\n // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH).\r\n // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality.\r\n // Because SP is still linear, so summation is fine in that basis.\r\n const stride = cubeInfo.format === Constants.TEXTUREFORMAT_RGBA ? 4 : 3;\r\n for (let y = 0; y < cubeInfo.size; y++) {\r\n let u = minUV;\r\n\r\n for (let x = 0; x < cubeInfo.size; x++) {\r\n // World direction (not normalised)\r\n const worldDirection = fileFace.worldAxisForFileX.scale(u).add(fileFace.worldAxisForFileY.scale(v)).add(fileFace.worldAxisForNormal);\r\n worldDirection.normalize();\r\n\r\n const deltaSolidAngle =\r\n this._AreaElement(u - halfTexel, v - halfTexel) -\r\n this._AreaElement(u - halfTexel, v + halfTexel) -\r\n this._AreaElement(u + halfTexel, v - halfTexel) +\r\n this._AreaElement(u + halfTexel, v + halfTexel);\r\n\r\n let r = dataArray[y * cubeInfo.size * stride + x * stride + 0];\r\n let g = dataArray[y * cubeInfo.size * stride + x * stride + 1];\r\n let b = dataArray[y * cubeInfo.size * stride + x * stride + 2];\r\n\r\n // Prevent NaN harmonics with extreme HDRI data.\r\n if (isNaN(r)) {\r\n r = 0;\r\n }\r\n if (isNaN(g)) {\r\n g = 0;\r\n }\r\n if (isNaN(b)) {\r\n b = 0;\r\n }\r\n\r\n // Handle Integer types.\r\n if (cubeInfo.type === Constants.TEXTURETYPE_UNSIGNED_INT) {\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n }\r\n\r\n // Handle Gamma space textures.\r\n if (cubeInfo.gammaSpace) {\r\n r = Math.pow(Scalar.Clamp(r), ToLinearSpace);\r\n g = Math.pow(Scalar.Clamp(g), ToLinearSpace);\r\n b = Math.pow(Scalar.Clamp(b), ToLinearSpace);\r\n }\r\n\r\n // Prevent to explode in case of really high dynamic ranges.\r\n // sh 3 would not be enough to accurately represent it.\r\n const max = 4096;\r\n r = Scalar.Clamp(r, 0, max);\r\n g = Scalar.Clamp(g, 0, max);\r\n b = Scalar.Clamp(b, 0, max);\r\n\r\n const color = new Color3(r, g, b);\r\n\r\n sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);\r\n\r\n totalSolidAngle += deltaSolidAngle;\r\n\r\n u += du;\r\n }\r\n\r\n v += dv;\r\n }\r\n }\r\n\r\n // Solid angle for entire sphere is 4*pi\r\n const sphereSolidAngle = 4.0 * Math.PI;\r\n\r\n // Adjust the solid angle to allow for how many faces we processed.\r\n const facesProcessed = 6.0;\r\n const expectedSolidAngle = (sphereSolidAngle * facesProcessed) / 6.0;\r\n\r\n // Adjust the harmonics so that the accumulated solid angle matches the expected solid angle.\r\n // This is needed because the numerical integration over the cube uses a\r\n // small angle approximation of solid angle for each texel (see deltaSolidAngle),\r\n // and also to compensate for accumulative error due to float precision in the summation.\r\n const correctionFactor = expectedSolidAngle / totalSolidAngle;\r\n sphericalHarmonics.scaleInPlace(correctionFactor);\r\n\r\n sphericalHarmonics.convertIncidentRadianceToIrradiance();\r\n sphericalHarmonics.convertIrradianceToLambertianRadiance();\r\n\r\n return SphericalPolynomial.FromHarmonics(sphericalHarmonics);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"cubemapToSphericalPolynomial.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport { SphericalPolynomial, SphericalHarmonics } from \"../../Maths/sphericalPolynomial\";\r\nimport type { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport type { Nullable } from \"../../types\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { ToLinearSpace } from \"../../Maths/math.constants\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\n\r\nclass FileFaceOrientation {\r\n public name: string;\r\n public worldAxisForNormal: Vector3; // the world axis corresponding to the normal to the face\r\n public worldAxisForFileX: Vector3; // the world axis corresponding to texture right x-axis in file\r\n public worldAxisForFileY: Vector3; // the world axis corresponding to texture down y-axis in file\r\n\r\n public constructor(name: string, worldAxisForNormal: Vector3, worldAxisForFileX: Vector3, worldAxisForFileY: Vector3) {\r\n this.name = name;\r\n this.worldAxisForNormal = worldAxisForNormal;\r\n this.worldAxisForFileX = worldAxisForFileX;\r\n this.worldAxisForFileY = worldAxisForFileY;\r\n }\r\n}\r\n\r\n/**\r\n * Helper class dealing with the extraction of spherical polynomial dataArray\r\n * from a cube map.\r\n */\r\nexport class CubeMapToSphericalPolynomialTools {\r\n private static _FileFaces: FileFaceOrientation[] = [\r\n new FileFaceOrientation(\"right\", new Vector3(1, 0, 0), new Vector3(0, 0, -1), new Vector3(0, -1, 0)), // +X east\r\n new FileFaceOrientation(\"left\", new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, -1, 0)), // -X west\r\n new FileFaceOrientation(\"up\", new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1)), // +Y north\r\n new FileFaceOrientation(\"down\", new Vector3(0, -1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, -1)), // -Y south\r\n new FileFaceOrientation(\"front\", new Vector3(0, 0, 1), new Vector3(1, 0, 0), new Vector3(0, -1, 0)), // +Z top\r\n new FileFaceOrientation(\"back\", new Vector3(0, 0, -1), new Vector3(-1, 0, 0), new Vector3(0, -1, 0)), // -Z bottom\r\n ];\r\n\r\n /**\r\n * Converts a texture to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param texture The texture to extract the information from.\r\n * @returns The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapTextureToSphericalPolynomial(texture: BaseTexture): Nullable<Promise<SphericalPolynomial>> {\r\n if (!texture.isCube) {\r\n // Only supports cube Textures currently.\r\n return null;\r\n }\r\n\r\n texture.getScene()?.getEngine().flushFramebuffer();\r\n\r\n const size = texture.getSize().width;\r\n const rightPromise = texture.readPixels(0, undefined, undefined, false);\r\n const leftPromise = texture.readPixels(1, undefined, undefined, false);\r\n\r\n let upPromise: Nullable<Promise<ArrayBufferView>>;\r\n let downPromise: Nullable<Promise<ArrayBufferView>>;\r\n if (texture.isRenderTarget) {\r\n upPromise = texture.readPixels(3, undefined, undefined, false);\r\n downPromise = texture.readPixels(2, undefined, undefined, false);\r\n } else {\r\n upPromise = texture.readPixels(2, undefined, undefined, false);\r\n downPromise = texture.readPixels(3, undefined, undefined, false);\r\n }\r\n\r\n const frontPromise = texture.readPixels(4, undefined, undefined, false);\r\n const backPromise = texture.readPixels(5, undefined, undefined, false);\r\n\r\n const gammaSpace = texture.gammaSpace;\r\n // Always read as RGBA.\r\n const format = Constants.TEXTUREFORMAT_RGBA;\r\n let type = Constants.TEXTURETYPE_UNSIGNED_INT;\r\n if (texture.textureType == Constants.TEXTURETYPE_FLOAT || texture.textureType == Constants.TEXTURETYPE_HALF_FLOAT) {\r\n type = Constants.TEXTURETYPE_FLOAT;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n Promise.all([leftPromise, rightPromise, upPromise, downPromise, frontPromise, backPromise]).then(([left, right, up, down, front, back]) => {\r\n const cubeInfo: CubeMapInfo = {\r\n size,\r\n right,\r\n left,\r\n up,\r\n down,\r\n front,\r\n back,\r\n format,\r\n type,\r\n gammaSpace,\r\n };\r\n\r\n resolve(this.ConvertCubeMapToSphericalPolynomial(cubeInfo));\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Compute the area on the unit sphere of the rectangle defined by (x,y) and the origin\r\n * See https://www.rorydriscoll.com/2012/01/15/cubemap-texel-solid-angle/\r\n * @param x\r\n * @param y\r\n */\r\n private static _AreaElement(x: number, y: number): number {\r\n return Math.atan2(x * y, Math.sqrt(x * x + y * y + 1));\r\n }\r\n\r\n /**\r\n * Converts a cubemap to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param cubeInfo The Cube map to extract the information from.\r\n * @returns The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapToSphericalPolynomial(cubeInfo: CubeMapInfo): SphericalPolynomial {\r\n const sphericalHarmonics = new SphericalHarmonics();\r\n let totalSolidAngle = 0.0;\r\n\r\n // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size.\r\n const du = 2.0 / cubeInfo.size;\r\n const dv = du;\r\n\r\n const halfTexel = 0.5 * du;\r\n\r\n // The (u,v) of the first texel is half a texel from the corner (-1,-1).\r\n const minUV = halfTexel - 1.0;\r\n\r\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n const fileFace = this._FileFaces[faceIndex];\r\n const dataArray = (<any>cubeInfo)[fileFace.name];\r\n let v = minUV;\r\n\r\n // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH).\r\n // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality.\r\n // Because SP is still linear, so summation is fine in that basis.\r\n const stride = cubeInfo.format === Constants.TEXTUREFORMAT_RGBA ? 4 : 3;\r\n for (let y = 0; y < cubeInfo.size; y++) {\r\n let u = minUV;\r\n\r\n for (let x = 0; x < cubeInfo.size; x++) {\r\n // World direction (not normalised)\r\n const worldDirection = fileFace.worldAxisForFileX.scale(u).add(fileFace.worldAxisForFileY.scale(v)).add(fileFace.worldAxisForNormal);\r\n worldDirection.normalize();\r\n\r\n const deltaSolidAngle =\r\n this._AreaElement(u - halfTexel, v - halfTexel) -\r\n this._AreaElement(u - halfTexel, v + halfTexel) -\r\n this._AreaElement(u + halfTexel, v - halfTexel) +\r\n this._AreaElement(u + halfTexel, v + halfTexel);\r\n\r\n let r = dataArray[y * cubeInfo.size * stride + x * stride + 0];\r\n let g = dataArray[y * cubeInfo.size * stride + x * stride + 1];\r\n let b = dataArray[y * cubeInfo.size * stride + x * stride + 2];\r\n\r\n // Prevent NaN harmonics with extreme HDRI data.\r\n if (isNaN(r)) {\r\n r = 0;\r\n }\r\n if (isNaN(g)) {\r\n g = 0;\r\n }\r\n if (isNaN(b)) {\r\n b = 0;\r\n }\r\n\r\n // Handle Integer types.\r\n if (cubeInfo.type === Constants.TEXTURETYPE_UNSIGNED_INT) {\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n }\r\n\r\n // Handle Gamma space textures.\r\n if (cubeInfo.gammaSpace) {\r\n r = Math.pow(Scalar.Clamp(r), ToLinearSpace);\r\n g = Math.pow(Scalar.Clamp(g), ToLinearSpace);\r\n b = Math.pow(Scalar.Clamp(b), ToLinearSpace);\r\n }\r\n\r\n // Prevent to explode in case of really high dynamic ranges.\r\n // sh 3 would not be enough to accurately represent it.\r\n const max = 4096;\r\n r = Scalar.Clamp(r, 0, max);\r\n g = Scalar.Clamp(g, 0, max);\r\n b = Scalar.Clamp(b, 0, max);\r\n\r\n const color = new Color3(r, g, b);\r\n\r\n sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);\r\n\r\n totalSolidAngle += deltaSolidAngle;\r\n\r\n u += du;\r\n }\r\n\r\n v += dv;\r\n }\r\n }\r\n\r\n // Solid angle for entire sphere is 4*pi\r\n const sphereSolidAngle = 4.0 * Math.PI;\r\n\r\n // Adjust the solid angle to allow for how many faces we processed.\r\n const facesProcessed = 6.0;\r\n const expectedSolidAngle = (sphereSolidAngle * facesProcessed) / 6.0;\r\n\r\n // Adjust the harmonics so that the accumulated solid angle matches the expected solid angle.\r\n // This is needed because the numerical integration over the cube uses a\r\n // small angle approximation of solid angle for each texel (see deltaSolidAngle),\r\n // and also to compensate for accumulative error due to float precision in the summation.\r\n const correctionFactor = expectedSolidAngle / totalSolidAngle;\r\n sphericalHarmonics.scaleInPlace(correctionFactor);\r\n\r\n sphericalHarmonics.convertIncidentRadianceToIrradiance();\r\n sphericalHarmonics.convertIrradianceToLambertianRadiance();\r\n\r\n return SphericalPolynomial.FromHarmonics(sphericalHarmonics);\r\n }\r\n}\r\n"]}
@@ -29,7 +29,7 @@ export declare class HDRTools {
29
29
  * https://en.wikipedia.org/wiki/RGBE_image_format
30
30
  *
31
31
  * @param uint8array The binary file stored in native array.
32
- * @return The header information.
32
+ * @returns The header information.
33
33
  */
34
34
  static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo;
35
35
  /**
@@ -41,7 +41,7 @@ export declare class HDRTools {
41
41
  *
42
42
  * @param buffer The binary file stored in an array buffer.
43
43
  * @param size The expected size of the extracted cubemap.
44
- * @return The Cube Map information.
44
+ * @returns The Cube Map information.
45
45
  */
46
46
  static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo;
47
47
  /**
@@ -53,7 +53,7 @@ export declare class HDRTools {
53
53
  *
54
54
  * @param uint8array The binary file stored in an array buffer.
55
55
  * @param hdrInfo The header information of the file.
56
- * @return The pixels data in RGB right to left up to down order.
56
+ * @returns The pixels data in RGB right to left up to down order.
57
57
  */
58
58
  static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array;
59
59
  private static _RGBEReadPixelsRLE;
@@ -44,7 +44,7 @@ export class HDRTools {
44
44
  * https://en.wikipedia.org/wiki/RGBE_image_format
45
45
  *
46
46
  * @param uint8array The binary file stored in native array.
47
- * @return The header information.
47
+ * @returns The header information.
48
48
  */
49
49
  // eslint-disable-next-line @typescript-eslint/naming-convention
50
50
  static RGBE_ReadHeader(uint8array) {
@@ -99,7 +99,7 @@ export class HDRTools {
99
99
  *
100
100
  * @param buffer The binary file stored in an array buffer.
101
101
  * @param size The expected size of the extracted cubemap.
102
- * @return The Cube Map information.
102
+ * @returns The Cube Map information.
103
103
  */
104
104
  static GetCubeMapTextureData(buffer, size) {
105
105
  const uint8array = new Uint8Array(buffer);
@@ -117,7 +117,7 @@ export class HDRTools {
117
117
  *
118
118
  * @param uint8array The binary file stored in an array buffer.
119
119
  * @param hdrInfo The header information of the file.
120
- * @return The pixels data in RGB right to left up to down order.
120
+ * @returns The pixels data in RGB right to left up to down order.
121
121
  */
122
122
  // eslint-disable-next-line @typescript-eslint/naming-convention
123
123
  static RGBE_ReadPixels(uint8array, hdrInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"hdr.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/hdr.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\r\n\r\n/**\r\n * Header information of HDR texture files.\r\n */\r\nexport interface HDRInfo {\r\n /**\r\n * The height of the texture in pixels.\r\n */\r\n height: number;\r\n\r\n /**\r\n * The width of the texture in pixels.\r\n */\r\n width: number;\r\n\r\n /**\r\n * The index of the beginning of the data in the binary file.\r\n */\r\n dataPosition: number;\r\n}\r\n\r\n/**\r\n * This groups tools to convert HDR texture to native colors array.\r\n */\r\nexport class HDRTools {\r\n private static _Ldexp(mantissa: number, exponent: number): number {\r\n if (exponent > 1023) {\r\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\r\n }\r\n\r\n if (exponent < -1074) {\r\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\r\n }\r\n\r\n return mantissa * Math.pow(2, exponent);\r\n }\r\n\r\n private static _Rgbe2float(float32array: Float32Array, red: number, green: number, blue: number, exponent: number, index: number) {\r\n if (exponent > 0) {\r\n /*nonzero pixel*/\r\n exponent = this._Ldexp(1.0, exponent - (128 + 8));\r\n\r\n float32array[index + 0] = red * exponent;\r\n float32array[index + 1] = green * exponent;\r\n float32array[index + 2] = blue * exponent;\r\n } else {\r\n float32array[index + 0] = 0;\r\n float32array[index + 1] = 0;\r\n float32array[index + 2] = 0;\r\n }\r\n }\r\n\r\n private static _ReadStringLine(uint8array: Uint8Array, startIndex: number): string {\r\n let line = \"\";\r\n let character = \"\";\r\n\r\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\r\n character = String.fromCharCode(uint8array[i]);\r\n\r\n if (character == \"\\n\") {\r\n break;\r\n }\r\n\r\n line += character;\r\n }\r\n\r\n return line;\r\n }\r\n\r\n /**\r\n * Reads header information from an RGBE texture stored in a native array.\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in native array.\r\n * @return The header information.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo {\r\n let height: number = 0;\r\n let width: number = 0;\r\n\r\n let line = this._ReadStringLine(uint8array, 0);\r\n if (line[0] != \"#\" || line[1] != \"?\") {\r\n throw \"Bad HDR Format.\";\r\n }\r\n\r\n let endOfHeader = false;\r\n let findFormat = false;\r\n let lineIndex: number = 0;\r\n\r\n do {\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\r\n findFormat = true;\r\n } else if (line.length == 0) {\r\n endOfHeader = true;\r\n }\r\n } while (!endOfHeader);\r\n\r\n if (!findFormat) {\r\n throw \"HDR Bad header format, unsupported FORMAT\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\r\n const match = sizeRegexp.exec(line);\r\n\r\n // TODO. Support +Y and -X if needed.\r\n if (!match || match.length < 3) {\r\n throw \"HDR Bad header format, no size\";\r\n }\r\n width = parseInt(match[2]);\r\n height = parseInt(match[1]);\r\n\r\n if (width < 8 || width > 0x7fff) {\r\n throw \"HDR Bad header format, unsupported size\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n\r\n return {\r\n height: height,\r\n width: width,\r\n dataPosition: lineIndex,\r\n };\r\n }\r\n\r\n /**\r\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\r\n * This RGBE texture needs to store the information as a panorama.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param buffer The binary file stored in an array buffer.\r\n * @param size The expected size of the extracted cubemap.\r\n * @return The Cube Map information.\r\n */\r\n public static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo {\r\n const uint8array = new Uint8Array(buffer);\r\n const hdrInfo = this.RGBE_ReadHeader(uint8array);\r\n const data = this.RGBE_ReadPixels(uint8array, hdrInfo);\r\n\r\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size);\r\n\r\n return cubeMapData;\r\n }\r\n\r\n /**\r\n * Returns the pixels data extracted from an RGBE texture.\r\n * This pixels will be stored left to right up to down in the R G B order in one array.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in an array buffer.\r\n * @param hdrInfo The header information of the file.\r\n * @return The pixels data in RGB right to left up to down order.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n return this._RGBEReadPixelsRLE(uint8array, hdrInfo);\r\n }\r\n\r\n private static _RGBEReadPixelsRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, count: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n let index = 0,\r\n endIndex = 0,\r\n i = 0;\r\n\r\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\r\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\r\n return this._RGBEReadPixelsNOTRLE(uint8array, hdrInfo);\r\n }\r\n\r\n if (((c << 8) | d) != scanline_width) {\r\n throw \"HDR Bad header format, wrong scan line width\";\r\n }\r\n\r\n index = 0;\r\n\r\n // read each of the four channels for the scanline into the buffer\r\n for (i = 0; i < 4; i++) {\r\n endIndex = (i + 1) * scanline_width;\r\n\r\n while (index < endIndex) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n\r\n if (a > 128) {\r\n // a run of the same value\r\n count = a - 128;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (run)\";\r\n }\r\n\r\n while (count-- > 0) {\r\n scanLineArray[index++] = b;\r\n }\r\n } else {\r\n // a non-run\r\n count = a;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (non-run)\";\r\n }\r\n\r\n scanLineArray[index++] = b;\r\n if (--count > 0) {\r\n for (let j = 0; j < count; j++) {\r\n scanLineArray[index++] = uint8array[dataIndex++];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // now convert data from buffer into floats\r\n for (i = 0; i < scanline_width; i++) {\r\n a = scanLineArray[i];\r\n b = scanLineArray[i + scanline_width];\r\n c = scanLineArray[i + 2 * scanline_width];\r\n d = scanLineArray[i + 3 * scanline_width];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n\r\n private static _RGBEReadPixelsNOTRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n // this file is not run length encoded\r\n // read values sequentially\r\n\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, i: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n for (i = 0; i < hdrInfo.width; i++) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"hdr.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/hdr.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\r\n\r\n/**\r\n * Header information of HDR texture files.\r\n */\r\nexport interface HDRInfo {\r\n /**\r\n * The height of the texture in pixels.\r\n */\r\n height: number;\r\n\r\n /**\r\n * The width of the texture in pixels.\r\n */\r\n width: number;\r\n\r\n /**\r\n * The index of the beginning of the data in the binary file.\r\n */\r\n dataPosition: number;\r\n}\r\n\r\n/**\r\n * This groups tools to convert HDR texture to native colors array.\r\n */\r\nexport class HDRTools {\r\n private static _Ldexp(mantissa: number, exponent: number): number {\r\n if (exponent > 1023) {\r\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\r\n }\r\n\r\n if (exponent < -1074) {\r\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\r\n }\r\n\r\n return mantissa * Math.pow(2, exponent);\r\n }\r\n\r\n private static _Rgbe2float(float32array: Float32Array, red: number, green: number, blue: number, exponent: number, index: number) {\r\n if (exponent > 0) {\r\n /*nonzero pixel*/\r\n exponent = this._Ldexp(1.0, exponent - (128 + 8));\r\n\r\n float32array[index + 0] = red * exponent;\r\n float32array[index + 1] = green * exponent;\r\n float32array[index + 2] = blue * exponent;\r\n } else {\r\n float32array[index + 0] = 0;\r\n float32array[index + 1] = 0;\r\n float32array[index + 2] = 0;\r\n }\r\n }\r\n\r\n private static _ReadStringLine(uint8array: Uint8Array, startIndex: number): string {\r\n let line = \"\";\r\n let character = \"\";\r\n\r\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\r\n character = String.fromCharCode(uint8array[i]);\r\n\r\n if (character == \"\\n\") {\r\n break;\r\n }\r\n\r\n line += character;\r\n }\r\n\r\n return line;\r\n }\r\n\r\n /**\r\n * Reads header information from an RGBE texture stored in a native array.\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in native array.\r\n * @returns The header information.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo {\r\n let height: number = 0;\r\n let width: number = 0;\r\n\r\n let line = this._ReadStringLine(uint8array, 0);\r\n if (line[0] != \"#\" || line[1] != \"?\") {\r\n throw \"Bad HDR Format.\";\r\n }\r\n\r\n let endOfHeader = false;\r\n let findFormat = false;\r\n let lineIndex: number = 0;\r\n\r\n do {\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\r\n findFormat = true;\r\n } else if (line.length == 0) {\r\n endOfHeader = true;\r\n }\r\n } while (!endOfHeader);\r\n\r\n if (!findFormat) {\r\n throw \"HDR Bad header format, unsupported FORMAT\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\r\n const match = sizeRegexp.exec(line);\r\n\r\n // TODO. Support +Y and -X if needed.\r\n if (!match || match.length < 3) {\r\n throw \"HDR Bad header format, no size\";\r\n }\r\n width = parseInt(match[2]);\r\n height = parseInt(match[1]);\r\n\r\n if (width < 8 || width > 0x7fff) {\r\n throw \"HDR Bad header format, unsupported size\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n\r\n return {\r\n height: height,\r\n width: width,\r\n dataPosition: lineIndex,\r\n };\r\n }\r\n\r\n /**\r\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\r\n * This RGBE texture needs to store the information as a panorama.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param buffer The binary file stored in an array buffer.\r\n * @param size The expected size of the extracted cubemap.\r\n * @returns The Cube Map information.\r\n */\r\n public static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo {\r\n const uint8array = new Uint8Array(buffer);\r\n const hdrInfo = this.RGBE_ReadHeader(uint8array);\r\n const data = this.RGBE_ReadPixels(uint8array, hdrInfo);\r\n\r\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size);\r\n\r\n return cubeMapData;\r\n }\r\n\r\n /**\r\n * Returns the pixels data extracted from an RGBE texture.\r\n * This pixels will be stored left to right up to down in the R G B order in one array.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in an array buffer.\r\n * @param hdrInfo The header information of the file.\r\n * @returns The pixels data in RGB right to left up to down order.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n return this._RGBEReadPixelsRLE(uint8array, hdrInfo);\r\n }\r\n\r\n private static _RGBEReadPixelsRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, count: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n let index = 0,\r\n endIndex = 0,\r\n i = 0;\r\n\r\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\r\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\r\n return this._RGBEReadPixelsNOTRLE(uint8array, hdrInfo);\r\n }\r\n\r\n if (((c << 8) | d) != scanline_width) {\r\n throw \"HDR Bad header format, wrong scan line width\";\r\n }\r\n\r\n index = 0;\r\n\r\n // read each of the four channels for the scanline into the buffer\r\n for (i = 0; i < 4; i++) {\r\n endIndex = (i + 1) * scanline_width;\r\n\r\n while (index < endIndex) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n\r\n if (a > 128) {\r\n // a run of the same value\r\n count = a - 128;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (run)\";\r\n }\r\n\r\n while (count-- > 0) {\r\n scanLineArray[index++] = b;\r\n }\r\n } else {\r\n // a non-run\r\n count = a;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (non-run)\";\r\n }\r\n\r\n scanLineArray[index++] = b;\r\n if (--count > 0) {\r\n for (let j = 0; j < count; j++) {\r\n scanLineArray[index++] = uint8array[dataIndex++];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // now convert data from buffer into floats\r\n for (i = 0; i < scanline_width; i++) {\r\n a = scanLineArray[i];\r\n b = scanLineArray[i + scanline_width];\r\n c = scanLineArray[i + 2 * scanline_width];\r\n d = scanLineArray[i + 3 * scanline_width];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n\r\n private static _RGBEReadPixelsNOTRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n // this file is not run length encoded\r\n // read values sequentially\r\n\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, i: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n for (i = 0; i < hdrInfo.width; i++) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n}\r\n"]}
@@ -73,7 +73,7 @@ export declare class PanoramaToCubeMapTools {
73
73
  * @param inputWidth The width of the input panorama.
74
74
  * @param inputHeight The height of the input panorama.
75
75
  * @param size The willing size of the generated cubemap (each faces will be size * size pixels)
76
- * @return The cubemap data
76
+ * @returns The cubemap data
77
77
  */
78
78
  static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo;
79
79
  private static CreateCubemapTexture;
@@ -11,7 +11,7 @@ export class PanoramaToCubeMapTools {
11
11
  * @param inputWidth The width of the input panorama.
12
12
  * @param inputHeight The height of the input panorama.
13
13
  * @param size The willing size of the generated cubemap (each faces will be size * size pixels)
14
- * @return The cubemap data
14
+ * @returns The cubemap data
15
15
  */
16
16
  static ConvertPanoramaToCubemap(float32Array, inputWidth, inputHeight, size) {
17
17
  if (!float32Array) {
@@ -1 +1 @@
1
- {"version":3,"file":"panoramaToCubemap.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/panoramaToCubemap.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"../../types\";\r\nimport { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Constants } from \"../../Engines/constants\";\r\n\r\n/**\r\n * CubeMap information grouping all the data for each faces as well as the cubemap size.\r\n */\r\nexport interface CubeMapInfo {\r\n /**\r\n * The pixel array for the front face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n front: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the back face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n back: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the left face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n left: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the right face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n right: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the up face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n up: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the down face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n down: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The size of the cubemap stored.\r\n *\r\n * Each faces will be size * size pixels.\r\n */\r\n size: number;\r\n\r\n /**\r\n * The format of the texture.\r\n *\r\n * RGBA, RGB.\r\n */\r\n format: number;\r\n\r\n /**\r\n * The type of the texture data.\r\n *\r\n * UNSIGNED_INT, FLOAT.\r\n */\r\n type: number;\r\n\r\n /**\r\n * Specifies whether the texture is in gamma space.\r\n */\r\n gammaSpace: boolean;\r\n}\r\n\r\n/**\r\n * Helper class useful to convert panorama picture to their cubemap representation in 6 faces.\r\n */\r\nexport class PanoramaToCubeMapTools {\r\n private static FACE_LEFT = [new Vector3(-1.0, -1.0, -1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(1.0, 1.0, -1.0)];\r\n private static FACE_RIGHT = [new Vector3(1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_FRONT = [new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0), new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0)];\r\n private static FACE_BACK = [new Vector3(-1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0)];\r\n private static FACE_DOWN = [new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_UP = [new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0)];\r\n\r\n /**\r\n * Converts a panorama stored in RGB right to left up to down format into a cubemap (6 faces).\r\n *\r\n * @param float32Array The source data.\r\n * @param inputWidth The width of the input panorama.\r\n * @param inputHeight The height of the input panorama.\r\n * @param size The willing size of the generated cubemap (each faces will be size * size pixels)\r\n * @return The cubemap data\r\n */\r\n public static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo {\r\n if (!float32Array) {\r\n throw \"ConvertPanoramaToCubemap: input cannot be null\";\r\n }\r\n\r\n if (float32Array.length != inputWidth * inputHeight * 3) {\r\n throw \"ConvertPanoramaToCubemap: input size is wrong\";\r\n }\r\n\r\n const textureFront = this.CreateCubemapTexture(size, this.FACE_FRONT, float32Array, inputWidth, inputHeight);\r\n const textureBack = this.CreateCubemapTexture(size, this.FACE_BACK, float32Array, inputWidth, inputHeight);\r\n const textureLeft = this.CreateCubemapTexture(size, this.FACE_LEFT, float32Array, inputWidth, inputHeight);\r\n const textureRight = this.CreateCubemapTexture(size, this.FACE_RIGHT, float32Array, inputWidth, inputHeight);\r\n const textureUp = this.CreateCubemapTexture(size, this.FACE_UP, float32Array, inputWidth, inputHeight);\r\n const textureDown = this.CreateCubemapTexture(size, this.FACE_DOWN, float32Array, inputWidth, inputHeight);\r\n\r\n return {\r\n front: textureFront,\r\n back: textureBack,\r\n left: textureLeft,\r\n right: textureRight,\r\n up: textureUp,\r\n down: textureDown,\r\n size: size,\r\n type: Constants.TEXTURETYPE_FLOAT,\r\n format: Constants.TEXTUREFORMAT_RGB,\r\n gammaSpace: false,\r\n };\r\n }\r\n\r\n private static CreateCubemapTexture(texSize: number, faceData: Vector3[], float32Array: Float32Array, inputWidth: number, inputHeight: number) {\r\n const buffer = new ArrayBuffer(texSize * texSize * 4 * 3);\r\n const textureArray = new Float32Array(buffer);\r\n\r\n const rotDX1 = faceData[1].subtract(faceData[0]).scale(1 / texSize);\r\n const rotDX2 = faceData[3].subtract(faceData[2]).scale(1 / texSize);\r\n\r\n const dy = 1 / texSize;\r\n let fy = 0;\r\n\r\n for (let y = 0; y < texSize; y++) {\r\n let xv1 = faceData[0];\r\n let xv2 = faceData[2];\r\n\r\n for (let x = 0; x < texSize; x++) {\r\n const v = xv2.subtract(xv1).scale(fy).add(xv1);\r\n v.normalize();\r\n\r\n const color = this.CalcProjectionSpherical(v, float32Array, inputWidth, inputHeight);\r\n\r\n // 3 channels per pixels\r\n textureArray[y * texSize * 3 + x * 3 + 0] = color.r;\r\n textureArray[y * texSize * 3 + x * 3 + 1] = color.g;\r\n textureArray[y * texSize * 3 + x * 3 + 2] = color.b;\r\n\r\n xv1 = xv1.add(rotDX1);\r\n xv2 = xv2.add(rotDX2);\r\n }\r\n\r\n fy += dy;\r\n }\r\n\r\n return textureArray;\r\n }\r\n\r\n private static CalcProjectionSpherical(vDir: Vector3, float32Array: Float32Array, inputWidth: number, inputHeight: number): any {\r\n let theta = Math.atan2(vDir.z, vDir.x);\r\n const phi = Math.acos(vDir.y);\r\n\r\n while (theta < -Math.PI) {\r\n theta += 2 * Math.PI;\r\n }\r\n while (theta > Math.PI) {\r\n theta -= 2 * Math.PI;\r\n }\r\n\r\n let dx = theta / Math.PI;\r\n const dy = phi / Math.PI;\r\n\r\n // recenter.\r\n dx = dx * 0.5 + 0.5;\r\n\r\n let px = Math.round(dx * inputWidth);\r\n if (px < 0) {\r\n px = 0;\r\n } else if (px >= inputWidth) {\r\n px = inputWidth - 1;\r\n }\r\n\r\n let py = Math.round(dy * inputHeight);\r\n if (py < 0) {\r\n py = 0;\r\n } else if (py >= inputHeight) {\r\n py = inputHeight - 1;\r\n }\r\n\r\n const inputY = inputHeight - py - 1;\r\n const r = float32Array[inputY * inputWidth * 3 + px * 3 + 0];\r\n const g = float32Array[inputY * inputWidth * 3 + px * 3 + 1];\r\n const b = float32Array[inputY * inputWidth * 3 + px * 3 + 2];\r\n\r\n return {\r\n r: r,\r\n g: g,\r\n b: b,\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"panoramaToCubemap.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/panoramaToCubemap.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"../../types\";\r\nimport { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Constants } from \"../../Engines/constants\";\r\n\r\n/**\r\n * CubeMap information grouping all the data for each faces as well as the cubemap size.\r\n */\r\nexport interface CubeMapInfo {\r\n /**\r\n * The pixel array for the front face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n front: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the back face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n back: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the left face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n left: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the right face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n right: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the up face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n up: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the down face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n down: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The size of the cubemap stored.\r\n *\r\n * Each faces will be size * size pixels.\r\n */\r\n size: number;\r\n\r\n /**\r\n * The format of the texture.\r\n *\r\n * RGBA, RGB.\r\n */\r\n format: number;\r\n\r\n /**\r\n * The type of the texture data.\r\n *\r\n * UNSIGNED_INT, FLOAT.\r\n */\r\n type: number;\r\n\r\n /**\r\n * Specifies whether the texture is in gamma space.\r\n */\r\n gammaSpace: boolean;\r\n}\r\n\r\n/**\r\n * Helper class useful to convert panorama picture to their cubemap representation in 6 faces.\r\n */\r\nexport class PanoramaToCubeMapTools {\r\n private static FACE_LEFT = [new Vector3(-1.0, -1.0, -1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(1.0, 1.0, -1.0)];\r\n private static FACE_RIGHT = [new Vector3(1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_FRONT = [new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0), new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0)];\r\n private static FACE_BACK = [new Vector3(-1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0)];\r\n private static FACE_DOWN = [new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_UP = [new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0)];\r\n\r\n /**\r\n * Converts a panorama stored in RGB right to left up to down format into a cubemap (6 faces).\r\n *\r\n * @param float32Array The source data.\r\n * @param inputWidth The width of the input panorama.\r\n * @param inputHeight The height of the input panorama.\r\n * @param size The willing size of the generated cubemap (each faces will be size * size pixels)\r\n * @returns The cubemap data\r\n */\r\n public static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo {\r\n if (!float32Array) {\r\n throw \"ConvertPanoramaToCubemap: input cannot be null\";\r\n }\r\n\r\n if (float32Array.length != inputWidth * inputHeight * 3) {\r\n throw \"ConvertPanoramaToCubemap: input size is wrong\";\r\n }\r\n\r\n const textureFront = this.CreateCubemapTexture(size, this.FACE_FRONT, float32Array, inputWidth, inputHeight);\r\n const textureBack = this.CreateCubemapTexture(size, this.FACE_BACK, float32Array, inputWidth, inputHeight);\r\n const textureLeft = this.CreateCubemapTexture(size, this.FACE_LEFT, float32Array, inputWidth, inputHeight);\r\n const textureRight = this.CreateCubemapTexture(size, this.FACE_RIGHT, float32Array, inputWidth, inputHeight);\r\n const textureUp = this.CreateCubemapTexture(size, this.FACE_UP, float32Array, inputWidth, inputHeight);\r\n const textureDown = this.CreateCubemapTexture(size, this.FACE_DOWN, float32Array, inputWidth, inputHeight);\r\n\r\n return {\r\n front: textureFront,\r\n back: textureBack,\r\n left: textureLeft,\r\n right: textureRight,\r\n up: textureUp,\r\n down: textureDown,\r\n size: size,\r\n type: Constants.TEXTURETYPE_FLOAT,\r\n format: Constants.TEXTUREFORMAT_RGB,\r\n gammaSpace: false,\r\n };\r\n }\r\n\r\n private static CreateCubemapTexture(texSize: number, faceData: Vector3[], float32Array: Float32Array, inputWidth: number, inputHeight: number) {\r\n const buffer = new ArrayBuffer(texSize * texSize * 4 * 3);\r\n const textureArray = new Float32Array(buffer);\r\n\r\n const rotDX1 = faceData[1].subtract(faceData[0]).scale(1 / texSize);\r\n const rotDX2 = faceData[3].subtract(faceData[2]).scale(1 / texSize);\r\n\r\n const dy = 1 / texSize;\r\n let fy = 0;\r\n\r\n for (let y = 0; y < texSize; y++) {\r\n let xv1 = faceData[0];\r\n let xv2 = faceData[2];\r\n\r\n for (let x = 0; x < texSize; x++) {\r\n const v = xv2.subtract(xv1).scale(fy).add(xv1);\r\n v.normalize();\r\n\r\n const color = this.CalcProjectionSpherical(v, float32Array, inputWidth, inputHeight);\r\n\r\n // 3 channels per pixels\r\n textureArray[y * texSize * 3 + x * 3 + 0] = color.r;\r\n textureArray[y * texSize * 3 + x * 3 + 1] = color.g;\r\n textureArray[y * texSize * 3 + x * 3 + 2] = color.b;\r\n\r\n xv1 = xv1.add(rotDX1);\r\n xv2 = xv2.add(rotDX2);\r\n }\r\n\r\n fy += dy;\r\n }\r\n\r\n return textureArray;\r\n }\r\n\r\n private static CalcProjectionSpherical(vDir: Vector3, float32Array: Float32Array, inputWidth: number, inputHeight: number): any {\r\n let theta = Math.atan2(vDir.z, vDir.x);\r\n const phi = Math.acos(vDir.y);\r\n\r\n while (theta < -Math.PI) {\r\n theta += 2 * Math.PI;\r\n }\r\n while (theta > Math.PI) {\r\n theta -= 2 * Math.PI;\r\n }\r\n\r\n let dx = theta / Math.PI;\r\n const dy = phi / Math.PI;\r\n\r\n // recenter.\r\n dx = dx * 0.5 + 0.5;\r\n\r\n let px = Math.round(dx * inputWidth);\r\n if (px < 0) {\r\n px = 0;\r\n } else if (px >= inputWidth) {\r\n px = inputWidth - 1;\r\n }\r\n\r\n let py = Math.round(dy * inputHeight);\r\n if (py < 0) {\r\n py = 0;\r\n } else if (py >= inputHeight) {\r\n py = inputHeight - 1;\r\n }\r\n\r\n const inputY = inputHeight - py - 1;\r\n const r = float32Array[inputY * inputWidth * 3 + px * 3 + 0];\r\n const g = float32Array[inputY * inputWidth * 3 + px * 3 + 1];\r\n const b = float32Array[inputY * inputWidth * 3 + px * 3 + 2];\r\n\r\n return {\r\n r: r,\r\n g: g,\r\n b: b,\r\n };\r\n }\r\n}\r\n"]}
@@ -1,6 +1,4 @@
1
- import type { Observable } from "./observable";
2
- import type { Nullable } from "../types";
3
- /** @hidden */
1
+ /** @internal */
4
2
  interface TupleTypes<T> {
5
3
  2: [T, T];
6
4
  3: [T, T, T];
@@ -17,10 +15,6 @@ interface TupleTypes<T> {
17
15
  14: [T, T, T, T, T, T, T, T, T, T, T, T, T, T];
18
16
  15: [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];
19
17
  }
20
- export interface INotifyArrayChangeType<T> {
21
- target: Nullable<Array<T>>;
22
- previousLength?: number;
23
- }
24
18
  /**
25
19
  * Class containing a set of static utilities functions for arrays.
26
20
  */
@@ -39,11 +33,18 @@ export declare class ArrayTools {
39
33
  * @returns a new tuple filled with new objects.
40
34
  */
41
35
  static BuildTuple<T, N extends keyof TupleTypes<unknown>>(size: N, itemBuilder: () => T): TupleTypes<T>[N];
42
- private static _ProxySet;
43
- private static _ProxyPushOrUnshift;
44
- private static _ProxyDelete;
45
- private static _ProxyPopOrShift;
46
- private static _ProxySplice;
47
- static MakeObservableArray<T>(observable: Observable<INotifyArrayChangeType<T>>, initialArray: Nullable<Array<T>>): Nullable<T[]>;
48
36
  }
37
+ /**
38
+ * Defines the callback type used when an observed array function is triggered.
39
+ * @internal
40
+ */
41
+ export declare type _ObserveCallback = (functionName: string, previousLength: number) => void;
42
+ /**
43
+ * Observes an array and notifies the given observer when the array is modified.
44
+ * @param array Defines the array to observe
45
+ * @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)
46
+ * @returns A function to call to stop observing the array
47
+ * @internal
48
+ */
49
+ export declare function _ObserveArray<T>(array: T[], callback: _ObserveCallback): () => void;
49
50
  export {};
@@ -25,48 +25,79 @@ export class ArrayTools {
25
25
  static BuildTuple(size, itemBuilder) {
26
26
  return ArrayTools.BuildArray(size, itemBuilder);
27
27
  }
28
- static _ProxySet(observable, target, property, value) {
29
- observable.notifyObservers({ target, previousLength: target.length });
30
- return Reflect.set(target, property, value);
31
- }
32
- static _ProxyPushOrUnshift(operation, observable, target, ...values) {
33
- observable.notifyObservers({ target, previousLength: target.length });
34
- return operation === "push" ? Array.prototype.push.apply(target, values) : Array.prototype.unshift.apply(target, values);
35
- }
36
- static _ProxyDelete(observable, target, property) {
37
- observable.notifyObservers({ target, previousLength: target.length });
38
- return Reflect.deleteProperty(target, property);
39
- }
40
- static _ProxyPopOrShift(operation, observable, target) {
41
- const value = operation === "pop" ? Array.prototype.pop.apply(target) : Array.prototype.shift.apply(target);
42
- observable.notifyObservers({ target, previousLength: target.length });
43
- return value;
44
- }
45
- static _ProxySplice(observable, target, start, deleteNumber, ...added) {
46
- const values = Array.prototype.splice.apply(target, [start, deleteNumber, added]);
47
- observable.notifyObservers({ target, previousLength: target.length });
48
- return values;
28
+ }
29
+ /**
30
+ * Observes a function and calls the given callback when it is called.
31
+ * @param object Defines the object the function to observe belongs to.
32
+ * @param functionName Defines the name of the function to observe.
33
+ * @param callback Defines the callback to call when the function is called.
34
+ * @returns A function to call to stop observing
35
+ */
36
+ function _observeArrayfunction(object, functionName, callback) {
37
+ // Finds the function to observe
38
+ const oldFunction = object[functionName];
39
+ if (typeof oldFunction !== "function") {
40
+ return null;
49
41
  }
50
- static MakeObservableArray(observable, initialArray) {
51
- let returnObject;
52
- if (initialArray && !Object.prototype.hasOwnProperty.call(initialArray, "isObserved")) {
53
- const _proxyObject = {
54
- set: (target, property, value) => ArrayTools._ProxySet(observable, target, property, value),
55
- push: (target, ...values) => ArrayTools._ProxyPushOrUnshift("push", observable, target, ...values),
56
- unshift: (target, ...values) => ArrayTools._ProxyPushOrUnshift("unshift", observable, target, ...values),
57
- delete: (target, property) => ArrayTools._ProxyDelete(observable, target, property),
58
- pop: (target) => ArrayTools._ProxyPopOrShift("pop", observable, target),
59
- shift: (target) => ArrayTools._ProxyPopOrShift("shift", observable, target),
60
- splice: (target, start, deleteNumber, ...added) => ArrayTools._ProxySplice(observable, target, start, deleteNumber, ...added),
61
- isObserved: true,
62
- };
63
- returnObject = new Proxy(initialArray, _proxyObject);
42
+ // Creates a new function that calls the callback and the old function
43
+ const newFunction = function () {
44
+ const previousLength = object.length;
45
+ const returnValue = newFunction.previous.apply(object, arguments);
46
+ callback(functionName, previousLength);
47
+ return returnValue;
48
+ };
49
+ // Doublishly links the new function and the old function
50
+ oldFunction.next = newFunction;
51
+ newFunction.previous = oldFunction;
52
+ // Replaces the old function with the new function
53
+ object[functionName] = newFunction;
54
+ // Returns a function to disable the hook
55
+ return () => {
56
+ // Only unhook if the function is still hooked
57
+ const previous = newFunction.previous;
58
+ if (!previous) {
59
+ return;
64
60
  }
61
+ // Finds the ref to the next function in the chain
62
+ const next = newFunction.next;
63
+ // If in the middle of the chain, link the previous and next functions
64
+ if (next) {
65
+ previous.next = next;
66
+ next.previous = previous;
67
+ }
68
+ // If at the end of the chain, remove the reference to the previous function
69
+ // and restore the previous function
65
70
  else {
66
- returnObject = initialArray;
71
+ previous.next = undefined;
72
+ object[functionName] = previous;
67
73
  }
68
- observable.notifyObservers({ target: returnObject });
69
- return returnObject;
70
- }
74
+ // Lose reference to the previous and next functions
75
+ newFunction.next = undefined;
76
+ newFunction.previous = undefined;
77
+ };
78
+ }
79
+ /**
80
+ * Defines the list of functions to proxy when observing an array.
81
+ * The scope is currently reduced to the common functions used in the render target render list and the scene cameras.
82
+ */
83
+ const observedArrayFunctions = ["push", "splice", "pop", "shift", "unshift"];
84
+ /**
85
+ * Observes an array and notifies the given observer when the array is modified.
86
+ * @param array Defines the array to observe
87
+ * @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)
88
+ * @returns A function to call to stop observing the array
89
+ * @internal
90
+ */
91
+ export function _ObserveArray(array, callback) {
92
+ // Observes all the required array functions and stores the unhook functions
93
+ const unObserveFunctions = observedArrayFunctions.map((name) => {
94
+ return _observeArrayfunction(array, name, callback);
95
+ });
96
+ // Returns a function that unhook all the observed functions
97
+ return () => {
98
+ unObserveFunctions.forEach((unObserveFunction) => {
99
+ unObserveFunction?.();
100
+ });
101
+ };
71
102
  }
72
103
  //# sourceMappingURL=arrayTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrayTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/arrayTools.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport type { Observable } from \"./observable\";\r\nimport type { Nullable } from \"../types\";\r\n\r\n/** @hidden */\r\ninterface TupleTypes<T> {\r\n 2: [T, T];\r\n 3: [T, T, T];\r\n 4: [T, T, T, T];\r\n 5: [T, T, T, T, T];\r\n 6: [T, T, T, T, T, T];\r\n 7: [T, T, T, T, T, T, T];\r\n 8: [T, T, T, T, T, T, T, T];\r\n 9: [T, T, T, T, T, T, T, T, T];\r\n 10: [T, T, T, T, T, T, T, T, T, T];\r\n 11: [T, T, T, T, T, T, T, T, T, T, T];\r\n 12: [T, T, T, T, T, T, T, T, T, T, T, T];\r\n 13: [T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 14: [T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 15: [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n}\r\n\r\nexport interface INotifyArrayChangeType<T> {\r\n target: Nullable<Array<T>>;\r\n previousLength?: number; // If the array was previously null/undefined, this will be undefined\r\n}\r\n\r\n/**\r\n * Class containing a set of static utilities functions for arrays.\r\n */\r\nexport class ArrayTools {\r\n /**\r\n * Returns an array of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size the number of element to construct and put in the array.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per array entry.\r\n * @returns a new array filled with new objects.\r\n */\r\n public static BuildArray<T>(size: number, itemBuilder: () => T): Array<T> {\r\n const a: T[] = [];\r\n for (let i = 0; i < size; ++i) {\r\n a.push(itemBuilder());\r\n }\r\n return a;\r\n }\r\n\r\n /**\r\n * Returns a tuple of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size he number of element to construct and put in the tuple.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per tuple entry.\r\n * @returns a new tuple filled with new objects.\r\n */\r\n public static BuildTuple<T, N extends keyof TupleTypes<unknown>>(size: N, itemBuilder: () => T): TupleTypes<T>[N] {\r\n return ArrayTools.BuildArray(size, itemBuilder) as any;\r\n }\r\n\r\n private static _ProxySet<T>(observable: Observable<INotifyArrayChangeType<T>>, target: Array<T>, property: string | symbol, value: T): boolean {\r\n observable.notifyObservers({ target, previousLength: target.length });\r\n return Reflect.set(target, property, value);\r\n }\r\n\r\n private static _ProxyPushOrUnshift<T>(operation: \"push\" | \"unshift\", observable: Observable<INotifyArrayChangeType<T>>, target: Array<T>, ...values: Array<T>): number {\r\n observable.notifyObservers({ target, previousLength: target.length });\r\n return operation === \"push\" ? Array.prototype.push.apply(target, values) : Array.prototype.unshift.apply(target, values);\r\n }\r\n\r\n private static _ProxyDelete<T>(observable: Observable<INotifyArrayChangeType<T>>, target: Array<T>, property: string | symbol) {\r\n observable.notifyObservers({ target, previousLength: target.length });\r\n return Reflect.deleteProperty(target, property);\r\n }\r\n\r\n private static _ProxyPopOrShift<T>(operation: \"pop\" | \"shift\", observable: Observable<INotifyArrayChangeType<T>>, target: Array<T>) {\r\n const value = operation === \"pop\" ? Array.prototype.pop.apply(target) : Array.prototype.shift.apply(target);\r\n observable.notifyObservers({ target, previousLength: target.length });\r\n return value;\r\n }\r\n\r\n private static _ProxySplice<T>(observable: Observable<INotifyArrayChangeType<T>>, target: Array<T>, start: number, deleteNumber: number, ...added: Array<T>) {\r\n const values = Array.prototype.splice.apply(target, [start, deleteNumber, added]);\r\n observable.notifyObservers({ target, previousLength: target.length });\r\n return values;\r\n }\r\n\r\n public static MakeObservableArray<T>(observable: Observable<INotifyArrayChangeType<T>>, initialArray: Nullable<Array<T>>) {\r\n let returnObject;\r\n if (initialArray && !Object.prototype.hasOwnProperty.call(initialArray, \"isObserved\")) {\r\n const _proxyObject = {\r\n set: (target: Array<T>, property: string | symbol, value: T) => ArrayTools._ProxySet(observable, target, property, value),\r\n push: (target: Array<T>, ...values: Array<T>) => ArrayTools._ProxyPushOrUnshift(\"push\", observable, target, ...values),\r\n unshift: (target: Array<T>, ...values: Array<T>) => ArrayTools._ProxyPushOrUnshift(\"unshift\", observable, target, ...values),\r\n delete: (target: Array<T>, property: string | symbol) => ArrayTools._ProxyDelete(observable, target, property),\r\n pop: (target: Array<T>) => ArrayTools._ProxyPopOrShift(\"pop\", observable, target),\r\n shift: (target: Array<T>) => ArrayTools._ProxyPopOrShift(\"shift\", observable, target),\r\n splice: (target: Array<T>, start: number, deleteNumber: number, ...added: Array<T>) => ArrayTools._ProxySplice(observable, target, start, deleteNumber, ...added),\r\n isObserved: true,\r\n };\r\n\r\n returnObject = new Proxy(initialArray, _proxyObject);\r\n } else {\r\n returnObject = initialArray;\r\n }\r\n observable.notifyObservers({ target: returnObject });\r\n return returnObject;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"arrayTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/arrayTools.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAsBzD;;GAEG;AACH,MAAM,OAAO,UAAU;IACnB;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAI,IAAY,EAAE,WAAoB;QAC1D,MAAM,CAAC,GAAQ,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAyC,IAAO,EAAE,WAAoB;QAC1F,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAQ,CAAC;IAC3D,CAAC;CACJ;AAQD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAA8B,EAAE,YAAoB,EAAE,QAA0B;IAC3G,gCAAgC;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACnC,OAAO,IAAI,CAAC;KACf;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG;QAChB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC;IACvB,CAAQ,CAAC;IAET,yDAAyD;IACzD,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;IAC/B,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC;IAEnC,kDAAkD;IAClD,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;IAEnC,yCAAyC;IACzC,OAAO,GAAG,EAAE;QACR,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QAED,kDAAkD;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,sEAAsE;QACtE,IAAI,IAAI,EAAE;YACN,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;QACD,4EAA4E;QAC5E,oCAAoC;aAC/B;YACD,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;SACnC;QAED,oDAAoD;QACpD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;QAC7B,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAI,KAAU,EAAE,QAA0B;IACnE,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,OAAO,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,OAAO,GAAG,EAAE;QACR,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC7C,iBAAiB,EAAE,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport type { Nullable } from \"../types\";\r\n\r\n/** @internal */\r\ninterface TupleTypes<T> {\r\n 2: [T, T];\r\n 3: [T, T, T];\r\n 4: [T, T, T, T];\r\n 5: [T, T, T, T, T];\r\n 6: [T, T, T, T, T, T];\r\n 7: [T, T, T, T, T, T, T];\r\n 8: [T, T, T, T, T, T, T, T];\r\n 9: [T, T, T, T, T, T, T, T, T];\r\n 10: [T, T, T, T, T, T, T, T, T, T];\r\n 11: [T, T, T, T, T, T, T, T, T, T, T];\r\n 12: [T, T, T, T, T, T, T, T, T, T, T, T];\r\n 13: [T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 14: [T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 15: [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n}\r\n\r\n/**\r\n * Class containing a set of static utilities functions for arrays.\r\n */\r\nexport class ArrayTools {\r\n /**\r\n * Returns an array of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size the number of element to construct and put in the array.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per array entry.\r\n * @returns a new array filled with new objects.\r\n */\r\n public static BuildArray<T>(size: number, itemBuilder: () => T): Array<T> {\r\n const a: T[] = [];\r\n for (let i = 0; i < size; ++i) {\r\n a.push(itemBuilder());\r\n }\r\n return a;\r\n }\r\n\r\n /**\r\n * Returns a tuple of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size he number of element to construct and put in the tuple.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per tuple entry.\r\n * @returns a new tuple filled with new objects.\r\n */\r\n public static BuildTuple<T, N extends keyof TupleTypes<unknown>>(size: N, itemBuilder: () => T): TupleTypes<T>[N] {\r\n return ArrayTools.BuildArray(size, itemBuilder) as any;\r\n }\r\n}\r\n\r\n/**\r\n * Defines the callback type used when an observed array function is triggered.\r\n * @internal\r\n */\r\nexport type _ObserveCallback = (functionName: string, previousLength: number) => void;\r\n\r\n/**\r\n * Observes a function and calls the given callback when it is called.\r\n * @param object Defines the object the function to observe belongs to.\r\n * @param functionName Defines the name of the function to observe.\r\n * @param callback Defines the callback to call when the function is called.\r\n * @returns A function to call to stop observing\r\n */\r\nfunction _observeArrayfunction(object: { [key: string]: any }, functionName: string, callback: _ObserveCallback): Nullable<() => void> {\r\n // Finds the function to observe\r\n const oldFunction = object[functionName];\r\n if (typeof oldFunction !== \"function\") {\r\n return null;\r\n }\r\n\r\n // Creates a new function that calls the callback and the old function\r\n const newFunction = function () {\r\n const previousLength = object.length;\r\n const returnValue = newFunction.previous.apply(object, arguments);\r\n callback(functionName, previousLength);\r\n return returnValue;\r\n } as any;\r\n\r\n // Doublishly links the new function and the old function\r\n oldFunction.next = newFunction;\r\n newFunction.previous = oldFunction;\r\n\r\n // Replaces the old function with the new function\r\n object[functionName] = newFunction;\r\n\r\n // Returns a function to disable the hook\r\n return () => {\r\n // Only unhook if the function is still hooked\r\n const previous = newFunction.previous;\r\n if (!previous) {\r\n return;\r\n }\r\n\r\n // Finds the ref to the next function in the chain\r\n const next = newFunction.next;\r\n\r\n // If in the middle of the chain, link the previous and next functions\r\n if (next) {\r\n previous.next = next;\r\n next.previous = previous;\r\n }\r\n // If at the end of the chain, remove the reference to the previous function\r\n // and restore the previous function\r\n else {\r\n previous.next = undefined;\r\n object[functionName] = previous;\r\n }\r\n\r\n // Lose reference to the previous and next functions\r\n newFunction.next = undefined;\r\n newFunction.previous = undefined;\r\n };\r\n}\r\n\r\n/**\r\n * Defines the list of functions to proxy when observing an array.\r\n * The scope is currently reduced to the common functions used in the render target render list and the scene cameras.\r\n */\r\nconst observedArrayFunctions = [\"push\", \"splice\", \"pop\", \"shift\", \"unshift\"];\r\n\r\n/**\r\n * Observes an array and notifies the given observer when the array is modified.\r\n * @param array Defines the array to observe\r\n * @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)\r\n * @returns A function to call to stop observing the array\r\n * @internal\r\n */\r\nexport function _ObserveArray<T>(array: T[], callback: _ObserveCallback) {\r\n // Observes all the required array functions and stores the unhook functions\r\n const unObserveFunctions = observedArrayFunctions.map((name) => {\r\n return _observeArrayfunction(array, name, callback);\r\n });\r\n\r\n // Returns a function that unhook all the observed functions\r\n return () => {\r\n unObserveFunctions.forEach((unObserveFunction) => {\r\n unObserveFunction?.();\r\n });\r\n };\r\n}\r\n"]}
@@ -75,9 +75,7 @@ export declare abstract class AbstractAssetTask {
75
75
  };
76
76
  /**
77
77
  * Internal only
78
- * @param message
79
- * @param exception
80
- * @hidden
78
+ * @internal
81
79
  */
82
80
  _setErrorObject(message?: string, exception?: any): void;
83
81
  /**
@@ -931,17 +929,17 @@ export declare class AssetsManager {
931
929
  private _formatTaskErrorMessage;
932
930
  /**
933
931
  * Reset the AssetsManager and remove all tasks
934
- * @return the current instance of the AssetsManager
932
+ * @returns the current instance of the AssetsManager
935
933
  */
936
934
  reset(): AssetsManager;
937
935
  /**
938
936
  * Start the loading process
939
- * @return the current instance of the AssetsManager
937
+ * @returns the current instance of the AssetsManager
940
938
  */
941
939
  load(): AssetsManager;
942
940
  /**
943
941
  * Start the loading process as an async operation
944
- * @return a promise returning the list of failed tasks
942
+ * @returns a promise returning the list of failed tasks
945
943
  */
946
944
  loadAsync(): Promise<void>;
947
945
  }
@@ -65,9 +65,7 @@ export class AbstractAssetTask {
65
65
  }
66
66
  /**
67
67
  * Internal only
68
- * @param message
69
- * @param exception
70
- * @hidden
68
+ * @internal
71
69
  */
72
70
  _setErrorObject(message, exception) {
73
71
  if (this._errorObject) {
@@ -874,7 +872,7 @@ export class AssetsManager {
874
872
  }
875
873
  /**
876
874
  * Reset the AssetsManager and remove all tasks
877
- * @return the current instance of the AssetsManager
875
+ * @returns the current instance of the AssetsManager
878
876
  */
879
877
  reset() {
880
878
  this._isLoading = false;
@@ -883,7 +881,7 @@ export class AssetsManager {
883
881
  }
884
882
  /**
885
883
  * Start the loading process
886
- * @return the current instance of the AssetsManager
884
+ * @returns the current instance of the AssetsManager
887
885
  */
888
886
  load() {
889
887
  if (this._isLoading) {
@@ -913,7 +911,7 @@ export class AssetsManager {
913
911
  }
914
912
  /**
915
913
  * Start the loading process as an async operation
916
- * @return a promise returning the list of failed tasks
914
+ * @returns a promise returning the list of failed tasks
917
915
  */
918
916
  loadAsync() {
919
917
  return new Promise((resolve, reject) => {