@babylonjs/core 9.10.1 → 9.12.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 (1065) hide show
  1. package/Actions/actionManager.d.ts +1 -1
  2. package/Actions/actionManager.js +8 -5
  3. package/Actions/actionManager.js.map +1 -1
  4. package/Animations/animatable.core.d.ts +1 -1
  5. package/Animations/animatable.core.js +2 -2
  6. package/Animations/animatable.core.js.map +1 -1
  7. package/Animations/animationPropertiesOverride.js +1 -1
  8. package/Animations/animationPropertiesOverride.js.map +1 -1
  9. package/Animations/animatorAvatar.d.ts +2 -2
  10. package/Animations/animatorAvatar.js +3 -3
  11. package/Animations/animatorAvatar.js.map +1 -1
  12. package/Animations/pathCursor.d.ts +1 -1
  13. package/Animations/pathCursor.js +1 -1
  14. package/Animations/pathCursor.js.map +1 -1
  15. package/Animations/runtimeAnimation.d.ts +1 -1
  16. package/Animations/runtimeAnimation.js +2 -2
  17. package/Animations/runtimeAnimation.js.map +1 -1
  18. package/Audio/analyser.js +1 -1
  19. package/Audio/analyser.js.map +1 -1
  20. package/AudioV2/abstractAudio/components/spatialAudioAttacherComponent.js +1 -1
  21. package/AudioV2/abstractAudio/components/spatialAudioAttacherComponent.js.map +1 -1
  22. package/AudioV2/abstractAudio/subNodes/audioAnalyzerSubNode.d.ts +2 -0
  23. package/AudioV2/abstractAudio/subNodes/audioAnalyzerSubNode.js.map +1 -1
  24. package/AudioV2/abstractAudio/subProperties/abstractAudioAnalyzer.d.ts +13 -3
  25. package/AudioV2/abstractAudio/subProperties/abstractAudioAnalyzer.js +16 -0
  26. package/AudioV2/abstractAudio/subProperties/abstractAudioAnalyzer.js.map +1 -1
  27. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.d.ts +1 -1
  28. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js +1 -1
  29. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js.map +1 -1
  30. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.d.ts +1 -1
  31. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.js +1 -1
  32. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.js.map +1 -1
  33. package/AudioV2/abstractAudio/subProperties/audioAnalyzer.d.ts +4 -0
  34. package/AudioV2/abstractAudio/subProperties/audioAnalyzer.js +22 -0
  35. package/AudioV2/abstractAudio/subProperties/audioAnalyzer.js.map +1 -1
  36. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +1 -1
  37. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +1 -1
  38. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
  39. package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.d.ts +6 -0
  40. package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.js +22 -5
  41. package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.js.map +1 -1
  42. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +1 -1
  43. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
  44. package/AudioV2/webAudio/webAudioStreamingSound.js +1 -1
  45. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  47. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  48. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  49. package/BakedVertexAnimation/vertexAnimationBaker.js +1 -1
  50. package/BakedVertexAnimation/vertexAnimationBaker.js.map +1 -1
  51. package/Behaviors/Cameras/bouncingBehavior.js +1 -1
  52. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  53. package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
  54. package/Behaviors/Cameras/framingBehavior.js +2 -2
  55. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  56. package/Behaviors/Cameras/interpolatingBehavior.d.ts +13 -1
  57. package/Behaviors/Cameras/interpolatingBehavior.js +13 -1
  58. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  59. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  60. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  61. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +3 -3
  62. package/Behaviors/Meshes/baseSixDofDragBehavior.js +4 -4
  63. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  64. package/Behaviors/Meshes/followBehavior.js +1 -1
  65. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  66. package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
  67. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  68. package/Behaviors/Meshes/multiPointerScaleBehavior.js +1 -1
  69. package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
  70. package/Behaviors/Meshes/pointerDragBehavior.d.ts +3 -3
  71. package/Behaviors/Meshes/pointerDragBehavior.js +5 -5
  72. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  73. package/Behaviors/Meshes/sixDofDragBehavior.d.ts +1 -1
  74. package/Behaviors/Meshes/sixDofDragBehavior.js +2 -2
  75. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  76. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +1 -1
  77. package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
  78. package/Bones/boneIKController.d.ts +1 -1
  79. package/Bones/boneIKController.js +1 -1
  80. package/Bones/boneIKController.js.map +1 -1
  81. package/Bones/boneLookController.d.ts +1 -1
  82. package/Bones/boneLookController.js +1 -1
  83. package/Bones/boneLookController.js.map +1 -1
  84. package/Bones/skeleton.d.ts +2 -2
  85. package/Bones/skeleton.functions.d.ts +1 -1
  86. package/Bones/skeleton.functions.js +3 -3
  87. package/Bones/skeleton.functions.js.map +1 -1
  88. package/Bones/skeleton.js +3 -4
  89. package/Bones/skeleton.js.map +1 -1
  90. package/Buffers/buffer.align.pure.js +6 -0
  91. package/Buffers/buffer.align.pure.js.map +1 -1
  92. package/Buffers/buffer.nonFloatVertexBuffers.js +2 -1
  93. package/Buffers/buffer.nonFloatVertexBuffers.js.map +1 -1
  94. package/Buffers/buffer.pure.d.ts +8 -0
  95. package/Buffers/buffer.pure.js +31 -2
  96. package/Buffers/buffer.pure.js.map +1 -1
  97. package/Buffers/bufferUtils.js +17 -5
  98. package/Buffers/bufferUtils.js.map +1 -1
  99. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +1 -1
  100. package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
  101. package/Cameras/Inputs/BaseCameraPointersInput.js +1 -1
  102. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  103. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +1 -1
  104. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  105. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +2 -2
  106. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  107. package/Cameras/Inputs/flyCameraKeyboardInput.js +2 -2
  108. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  109. package/Cameras/Inputs/flyCameraMouseInput.js +2 -2
  110. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  111. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +1 -1
  112. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  113. package/Cameras/Inputs/followCameraMouseWheelInput.js +1 -1
  114. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  115. package/Cameras/Inputs/freeCameraGamepadInput.js +1 -1
  116. package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
  117. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +2 -2
  118. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  119. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  120. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  121. package/Cameras/Inputs/freeCameraMouseWheelInput.js +1 -1
  122. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  123. package/Cameras/Inputs/freeCameraTouchInput.js +2 -2
  124. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  125. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +1 -1
  126. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  127. package/Cameras/Limits/geospatialLimits.d.ts +1 -1
  128. package/Cameras/Limits/geospatialLimits.js +1 -1
  129. package/Cameras/Limits/geospatialLimits.js.map +1 -1
  130. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +2 -2
  131. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  132. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -1
  133. package/Cameras/RigModes/stereoscopicRigMode.js +3 -3
  134. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  135. package/Cameras/RigModes/vrRigMode.js +2 -2
  136. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  137. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +3 -3
  138. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +5 -5
  139. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  140. package/Cameras/VR/vrCameraMetrics.d.ts +1 -1
  141. package/Cameras/VR/vrCameraMetrics.js +1 -1
  142. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  143. package/Cameras/cameraInputsManager.d.ts +1 -1
  144. package/Cameras/cameraInputsManager.js +1 -1
  145. package/Cameras/cameraInputsManager.js.map +1 -1
  146. package/Collisions/collider.d.ts +1 -1
  147. package/Collisions/collider.js +1 -1
  148. package/Collisions/collider.js.map +1 -1
  149. package/Collisions/gpuPicker.d.ts +1 -1
  150. package/Collisions/gpuPicker.js +5 -5
  151. package/Collisions/gpuPicker.js.map +1 -1
  152. package/Collisions/meshCollisionData.d.ts +1 -1
  153. package/Collisions/meshCollisionData.js +1 -1
  154. package/Collisions/meshCollisionData.js.map +1 -1
  155. package/Collisions/pickingInfo.d.ts +1 -1
  156. package/Collisions/pickingInfo.js +2 -2
  157. package/Collisions/pickingInfo.js.map +1 -1
  158. package/Compute/computeEffect.d.ts +6 -0
  159. package/Compute/computeEffect.js +3 -0
  160. package/Compute/computeEffect.js.map +1 -1
  161. package/Compute/computeShader.pure.d.ts +4 -0
  162. package/Compute/computeShader.pure.js +1 -0
  163. package/Compute/computeShader.pure.js.map +1 -1
  164. package/Culling/Octrees/octreeBlock.d.ts +1 -1
  165. package/Culling/Octrees/octreeBlock.js +1 -1
  166. package/Culling/Octrees/octreeBlock.js.map +1 -1
  167. package/Culling/boundingBox.d.ts +1 -1
  168. package/Culling/boundingBox.js +1 -1
  169. package/Culling/boundingBox.js.map +1 -1
  170. package/Culling/boundingInfo.d.ts +1 -1
  171. package/Culling/boundingInfo.js +1 -1
  172. package/Culling/boundingInfo.js.map +1 -1
  173. package/Culling/boundingSphere.d.ts +1 -1
  174. package/Culling/boundingSphere.js +1 -1
  175. package/Culling/boundingSphere.js.map +1 -1
  176. package/Culling/ray.core.d.ts +1 -1
  177. package/Culling/ray.core.js +1 -1
  178. package/Culling/ray.core.js.map +1 -1
  179. package/Debug/axesViewer.d.ts +1 -1
  180. package/Debug/axesViewer.js +3 -3
  181. package/Debug/axesViewer.js.map +1 -1
  182. package/Debug/boneAxesViewer.d.ts +1 -1
  183. package/Debug/boneAxesViewer.js +1 -1
  184. package/Debug/boneAxesViewer.js.map +1 -1
  185. package/Debug/directionalLightFrustumViewer.d.ts +1 -1
  186. package/Debug/directionalLightFrustumViewer.js +6 -6
  187. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  188. package/Debug/rayHelper.d.ts +1 -1
  189. package/Debug/rayHelper.js +2 -2
  190. package/Debug/rayHelper.js.map +1 -1
  191. package/Debug/skeletonViewer.d.ts +2 -2
  192. package/Debug/skeletonViewer.js +10 -10
  193. package/Debug/skeletonViewer.js.map +1 -1
  194. package/DeviceInput/internalDeviceSourceManager.d.ts +1 -1
  195. package/DeviceInput/internalDeviceSourceManager.js +0 -1
  196. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  197. package/DeviceInput/webDeviceInputSystem.js +1 -1
  198. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  199. package/Engines/Extensions/engine.views.d.ts +1 -1
  200. package/Engines/Extensions/engine.views.js +1 -1
  201. package/Engines/Extensions/engine.views.js.map +1 -1
  202. package/Engines/Native/nativeHelpers.js +4 -1
  203. package/Engines/Native/nativeHelpers.js.map +1 -1
  204. package/Engines/Native/nativeInterfaces.d.ts +10 -1
  205. package/Engines/Native/nativeInterfaces.js.map +1 -1
  206. package/Engines/WebGPU/Extensions/engine.computeShader.pure.js +154 -2
  207. package/Engines/WebGPU/Extensions/engine.computeShader.pure.js.map +1 -1
  208. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  209. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +11 -1
  210. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  211. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  212. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  213. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  214. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  215. package/Engines/abstractEngine.pure.d.ts +7 -1
  216. package/Engines/abstractEngine.pure.js +34 -4
  217. package/Engines/abstractEngine.pure.js.map +1 -1
  218. package/Engines/constants.d.ts +4 -0
  219. package/Engines/constants.js +4 -0
  220. package/Engines/constants.js.map +1 -1
  221. package/Engines/engine.pure.d.ts +0 -7
  222. package/Engines/engine.pure.js +0 -34
  223. package/Engines/engine.pure.js.map +1 -1
  224. package/Engines/engineFactory.d.ts +2 -2
  225. package/Engines/engineFactory.js +3 -3
  226. package/Engines/engineFactory.js.map +1 -1
  227. package/Engines/thinNativeEngine.pure.js +15 -8
  228. package/Engines/thinNativeEngine.pure.js.map +1 -1
  229. package/Events/pointerEvents.d.ts +1 -1
  230. package/Events/pointerEvents.js +1 -1
  231. package/Events/pointerEvents.js.map +1 -1
  232. package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js +1 -1
  233. package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js.map +1 -1
  234. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
  235. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +1 -1
  236. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
  237. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js +1 -1
  238. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js.map +1 -1
  239. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.d.ts +1 -1
  240. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js +3 -3
  241. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js.map +1 -1
  242. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js +1 -1
  243. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js.map +1 -1
  244. package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +1 -1
  245. package/FlowGraph/CustomTypes/flowGraphMatrix.js +1 -1
  246. package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -1
  247. package/FlowGraph/flowGraphBlock.d.ts +1 -1
  248. package/FlowGraph/flowGraphBlock.js +1 -1
  249. package/FlowGraph/flowGraphBlock.js.map +1 -1
  250. package/FlowGraph/flowGraphExecutionBlock.d.ts +1 -1
  251. package/FlowGraph/flowGraphExecutionBlock.js +1 -1
  252. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  253. package/FlowGraph/flowGraphMath.d.ts +1 -1
  254. package/FlowGraph/flowGraphMath.js +1 -1
  255. package/FlowGraph/flowGraphMath.js.map +1 -1
  256. package/FlowGraph/flowGraphParser.js +1 -1
  257. package/FlowGraph/flowGraphParser.js.map +1 -1
  258. package/FlowGraph/flowGraphPathConverterComponent.d.ts +1 -1
  259. package/FlowGraph/flowGraphPathConverterComponent.js +2 -2
  260. package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
  261. package/FlowGraph/flowGraphValidator.js.map +1 -1
  262. package/FlowGraph/serialization.js +4 -4
  263. package/FlowGraph/serialization.js.map +1 -1
  264. package/FlowGraph/utils.js.map +1 -1
  265. package/FrameGraph/Node/nodeRenderGraph.d.ts +2 -2
  266. package/FrameGraph/Node/nodeRenderGraph.js +7 -7
  267. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  268. package/FrameGraph/Tasks/Layers/baseLayerTask.d.ts +30 -0
  269. package/FrameGraph/Tasks/Layers/baseLayerTask.js +28 -1
  270. package/FrameGraph/Tasks/Layers/baseLayerTask.js.map +1 -1
  271. package/FrameGraph/Tasks/Misc/computeShaderTask.d.ts +2 -2
  272. package/FrameGraph/Tasks/Misc/computeShaderTask.js +2 -2
  273. package/FrameGraph/Tasks/Misc/computeShaderTask.js.map +1 -1
  274. package/FrameGraph/Tasks/Misc/lightingVolumeTask.d.ts +1 -1
  275. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js +2 -2
  276. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js.map +1 -1
  277. package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +7 -0
  278. package/FrameGraph/Tasks/PostProcesses/blurTask.js +8 -1
  279. package/FrameGraph/Tasks/PostProcesses/blurTask.js.map +1 -1
  280. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +1 -1
  281. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -1
  282. package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js +1 -1
  283. package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js.map +1 -1
  284. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.d.ts +1 -1
  285. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js +1 -1
  286. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js.map +1 -1
  287. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.d.ts +2 -2
  288. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js +3 -3
  289. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js.map +1 -1
  290. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +1 -1
  291. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +2 -2
  292. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
  293. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +6 -0
  294. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +14 -5
  295. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  296. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +1 -1
  297. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +1 -1
  298. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
  299. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.d.ts +1 -1
  300. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js +1 -1
  301. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js.map +1 -1
  302. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.d.ts +1 -1
  303. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js +2 -2
  304. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js.map +1 -1
  305. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.d.ts +1 -1
  306. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js +2 -2
  307. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js.map +1 -1
  308. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +7 -1
  309. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +7 -1
  310. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  311. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
  312. package/FrameGraph/Tasks/Texture/clearTextureTask.js +1 -1
  313. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  314. package/FrameGraph/frameGraphRenderContext.js +1 -1
  315. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  316. package/FrameGraph/frameGraphTextureManager.d.ts +1 -1
  317. package/FrameGraph/frameGraphTextureManager.js +1 -1
  318. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  319. package/Gamepads/gamepadManager.js +1 -1
  320. package/Gamepads/gamepadManager.js.map +1 -1
  321. package/Gizmos/axisDragGizmo.d.ts +5 -5
  322. package/Gizmos/axisDragGizmo.js +6 -6
  323. package/Gizmos/axisDragGizmo.js.map +1 -1
  324. package/Gizmos/axisScaleGizmo.d.ts +4 -4
  325. package/Gizmos/axisScaleGizmo.js +6 -6
  326. package/Gizmos/axisScaleGizmo.js.map +1 -1
  327. package/Gizmos/boundingBoxGizmo.d.ts +5 -5
  328. package/Gizmos/boundingBoxGizmo.js +7 -7
  329. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  330. package/Gizmos/cameraGizmo.d.ts +3 -3
  331. package/Gizmos/cameraGizmo.js +7 -7
  332. package/Gizmos/cameraGizmo.js.map +1 -1
  333. package/Gizmos/gizmo.d.ts +2 -2
  334. package/Gizmos/gizmo.js +3 -3
  335. package/Gizmos/gizmo.js.map +1 -1
  336. package/Gizmos/gizmoManager.d.ts +2 -2
  337. package/Gizmos/gizmoManager.js +2 -2
  338. package/Gizmos/gizmoManager.js.map +1 -1
  339. package/Gizmos/lightGizmo.d.ts +4 -4
  340. package/Gizmos/lightGizmo.js +11 -11
  341. package/Gizmos/lightGizmo.js.map +1 -1
  342. package/Gizmos/planeDragGizmo.d.ts +4 -4
  343. package/Gizmos/planeDragGizmo.js +5 -5
  344. package/Gizmos/planeDragGizmo.js.map +1 -1
  345. package/Gizmos/positionGizmo.d.ts +1 -1
  346. package/Gizmos/positionGizmo.js +2 -2
  347. package/Gizmos/positionGizmo.js.map +1 -1
  348. package/Gizmos/rotationGizmo.d.ts +3 -3
  349. package/Gizmos/rotationGizmo.js +3 -3
  350. package/Gizmos/rotationGizmo.js.map +1 -1
  351. package/Gizmos/scaleGizmo.d.ts +2 -2
  352. package/Gizmos/scaleGizmo.js +4 -4
  353. package/Gizmos/scaleGizmo.js.map +1 -1
  354. package/Gizmos/spatialAudioGizmo.d.ts +2 -2
  355. package/Gizmos/spatialAudioGizmo.js +6 -6
  356. package/Gizmos/spatialAudioGizmo.js.map +1 -1
  357. package/Helpers/environmentHelper.d.ts +6 -6
  358. package/Helpers/environmentHelper.js +12 -12
  359. package/Helpers/environmentHelper.js.map +1 -1
  360. package/Helpers/materialConversionHelper.d.ts +1 -1
  361. package/Helpers/materialConversionHelper.js +1 -1
  362. package/Helpers/materialConversionHelper.js.map +1 -1
  363. package/Helpers/photoDome.d.ts +1 -1
  364. package/Helpers/photoDome.js +1 -1
  365. package/Helpers/photoDome.js.map +1 -1
  366. package/Helpers/textureDome.d.ts +4 -4
  367. package/Helpers/textureDome.js +6 -6
  368. package/Helpers/textureDome.js.map +1 -1
  369. package/Helpers/videoDome.d.ts +1 -1
  370. package/Helpers/videoDome.js +2 -2
  371. package/Helpers/videoDome.js.map +1 -1
  372. package/Inputs/scene.inputManager.d.ts +1 -1
  373. package/Inputs/scene.inputManager.js +1 -1
  374. package/Inputs/scene.inputManager.js.map +1 -1
  375. package/Instrumentation/sceneInstrumentation.js +1 -1
  376. package/Instrumentation/sceneInstrumentation.js.map +1 -1
  377. package/Layers/effectLayer.d.ts +1 -1
  378. package/Layers/effectLayer.js +3 -3
  379. package/Layers/effectLayer.js.map +1 -1
  380. package/Layers/layer.d.ts +2 -2
  381. package/Layers/layer.js +4 -4
  382. package/Layers/layer.js.map +1 -1
  383. package/Layers/thinEffectLayer.d.ts +2 -2
  384. package/Layers/thinEffectLayer.js +3 -3
  385. package/Layers/thinEffectLayer.js.map +1 -1
  386. package/Layers/thinGlowLayer.d.ts +1 -1
  387. package/Layers/thinGlowLayer.js +3 -3
  388. package/Layers/thinGlowLayer.js.map +1 -1
  389. package/Layers/thinHighlightLayer.d.ts +1 -1
  390. package/Layers/thinHighlightLayer.js +3 -3
  391. package/Layers/thinHighlightLayer.js.map +1 -1
  392. package/Layers/thinSelectionOutlineLayer.d.ts +1 -1
  393. package/Layers/thinSelectionOutlineLayer.js +3 -3
  394. package/Layers/thinSelectionOutlineLayer.js.map +1 -1
  395. package/Legacy/legacy.js +12 -1
  396. package/Legacy/legacy.js.map +1 -1
  397. package/LensFlares/lensFlare.d.ts +2 -2
  398. package/LensFlares/lensFlare.js +3 -3
  399. package/LensFlares/lensFlare.js.map +1 -1
  400. package/LensFlares/lensFlareSystem.d.ts +1 -1
  401. package/LensFlares/lensFlareSystem.js +6 -6
  402. package/LensFlares/lensFlareSystem.js.map +1 -1
  403. package/Lights/LTC/ltcTextureTool.js +1 -1
  404. package/Lights/LTC/ltcTextureTool.js.map +1 -1
  405. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -285
  406. package/Lights/Shadows/cascadedShadowGenerator.js +3 -857
  407. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  408. package/Lights/Shadows/cascadedShadowGenerator.pure.d.ts +290 -0
  409. package/Lights/Shadows/cascadedShadowGenerator.pure.js +868 -0
  410. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -0
  411. package/Lights/Shadows/pure.d.ts +1 -0
  412. package/Lights/Shadows/pure.js +1 -0
  413. package/Lights/Shadows/pure.js.map +1 -1
  414. package/Lights/Shadows/shadowGenerator.d.ts +3 -3
  415. package/Lights/Shadows/shadowGenerator.js +7 -7
  416. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  417. package/Lights/areaLight.d.ts +1 -1
  418. package/Lights/areaLight.js +0 -1
  419. package/Lights/areaLight.js.map +1 -1
  420. package/Lights/light.d.ts +2 -2
  421. package/Lights/light.js +2 -2
  422. package/Lights/light.js.map +1 -1
  423. package/Lights/shadowLight.d.ts +1 -1
  424. package/Lights/shadowLight.js +1 -1
  425. package/Lights/shadowLight.js.map +1 -1
  426. package/Loading/sceneLoader.d.ts +2 -2
  427. package/Loading/sceneLoader.js +3 -3
  428. package/Loading/sceneLoader.js.map +1 -1
  429. package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +1 -1
  430. package/Materials/GreasedLine/greasedLineMaterialDefaults.js +1 -1
  431. package/Materials/GreasedLine/greasedLineMaterialDefaults.js.map +1 -1
  432. package/Materials/GreasedLine/greasedLineSimpleMaterial.d.ts +3 -3
  433. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +3 -3
  434. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  435. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js +6 -6
  436. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js.map +1 -1
  437. package/Materials/Node/nodeMaterial.pure.d.ts +12 -0
  438. package/Materials/Node/nodeMaterial.pure.js +68 -13
  439. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  440. package/Materials/Node/nodeMaterialDefault.js +14 -14
  441. package/Materials/Node/nodeMaterialDefault.js.map +1 -1
  442. package/Materials/PBR/openpbrMaterial.pure.js +19 -4
  443. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  444. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +40 -2
  445. package/Materials/PBR/pbrAnisotropicConfiguration.js +41 -3
  446. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  447. package/Materials/PBR/pbrBRDFConfiguration.d.ts +5 -1
  448. package/Materials/PBR/pbrBRDFConfiguration.js +5 -1
  449. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  450. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +2 -2
  451. package/Materials/PBR/pbrBaseSimpleMaterial.js +2 -2
  452. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  453. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +42 -2
  454. package/Materials/PBR/pbrClearCoatConfiguration.js +42 -2
  455. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  456. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +38 -1
  457. package/Materials/PBR/pbrIridescenceConfiguration.js +38 -1
  458. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  459. package/Materials/PBR/pbrMaterial.pure.d.ts +6 -0
  460. package/Materials/PBR/pbrMaterial.pure.js +8 -0
  461. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  462. package/Materials/PBR/pbrSheenConfiguration.d.ts +41 -2
  463. package/Materials/PBR/pbrSheenConfiguration.js +41 -2
  464. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  465. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +41 -2
  466. package/Materials/PBR/pbrSubSurfaceConfiguration.js +42 -3
  467. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  468. package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
  469. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  470. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +1 -1
  471. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js +2 -2
  472. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js.map +1 -1
  473. package/Materials/Textures/Loaders/EXR/exrLoader.core.d.ts +1 -1
  474. package/Materials/Textures/Loaders/EXR/exrLoader.core.js +5 -109
  475. package/Materials/Textures/Loaders/EXR/exrLoader.core.js.map +1 -1
  476. package/Materials/Textures/Loaders/EXR/exrLoader.decoder.js +1 -1
  477. package/Materials/Textures/Loaders/EXR/exrLoader.decoder.js.map +1 -1
  478. package/Materials/Textures/Loaders/basisTextureLoader.js +2 -2
  479. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  480. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  481. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  482. package/Materials/Textures/Loaders/envTextureLoader.js +3 -1
  483. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  484. package/Materials/Textures/Loaders/ktxTextureLoader.js +11 -2
  485. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  486. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  487. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  488. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  489. package/Materials/Textures/Packer/packer.d.ts +1 -1
  490. package/Materials/Textures/Packer/packer.js +6 -6
  491. package/Materials/Textures/Packer/packer.js.map +1 -1
  492. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -2
  493. package/Materials/Textures/Procedurals/customProceduralTexture.js +4 -4
  494. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  495. package/Materials/Textures/Procedurals/noiseProceduralTexture.pure.js +17 -5
  496. package/Materials/Textures/Procedurals/noiseProceduralTexture.pure.js.map +1 -1
  497. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +4 -1
  498. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  499. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +1 -1
  500. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js.map +1 -1
  501. package/Materials/Textures/prePassRenderTarget.d.ts +1 -1
  502. package/Materials/Textures/prePassRenderTarget.js +1 -1
  503. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  504. package/Materials/Textures/rawCubeTexture.d.ts +1 -1
  505. package/Materials/Textures/rawCubeTexture.js +2 -2
  506. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  507. package/Materials/Textures/rawTexture.d.ts +1 -1
  508. package/Materials/Textures/rawTexture.js +1 -1
  509. package/Materials/Textures/rawTexture.js.map +1 -1
  510. package/Materials/Textures/rawTexture2DArray.d.ts +1 -1
  511. package/Materials/Textures/rawTexture2DArray.js +1 -1
  512. package/Materials/Textures/rawTexture2DArray.js.map +1 -1
  513. package/Materials/Textures/rawTexture3D.d.ts +1 -1
  514. package/Materials/Textures/rawTexture3D.js +1 -1
  515. package/Materials/Textures/rawTexture3D.js.map +1 -1
  516. package/Materials/Textures/refractionTexture.d.ts +1 -1
  517. package/Materials/Textures/refractionTexture.js +1 -1
  518. package/Materials/Textures/refractionTexture.js.map +1 -1
  519. package/Materials/Textures/textureMerger.d.ts +1 -1
  520. package/Materials/Textures/textureMerger.js +1 -1
  521. package/Materials/Textures/textureMerger.js.map +1 -1
  522. package/Materials/Textures/textureProcessor.d.ts +1 -1
  523. package/Materials/Textures/textureProcessor.js +2 -2
  524. package/Materials/Textures/textureProcessor.js.map +1 -1
  525. package/Materials/Textures/thinRenderTargetTexture.d.ts +4 -4
  526. package/Materials/Textures/thinRenderTargetTexture.js +2 -2
  527. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  528. package/Materials/clipPlaneMaterialHelper.js +1 -1
  529. package/Materials/clipPlaneMaterialHelper.js.map +1 -1
  530. package/Materials/effect.pure.d.ts +2 -2
  531. package/Materials/effect.pure.js +12 -6
  532. package/Materials/effect.pure.js.map +1 -1
  533. package/Materials/effectRenderer.pure.js +4 -2
  534. package/Materials/effectRenderer.pure.js.map +1 -1
  535. package/Materials/floatingOriginMatrixOverrides.d.ts +1 -1
  536. package/Materials/floatingOriginMatrixOverrides.js +1 -1
  537. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  538. package/Materials/material.detailMapConfiguration.d.ts +39 -1
  539. package/Materials/material.detailMapConfiguration.js +39 -1
  540. package/Materials/material.detailMapConfiguration.js.map +1 -1
  541. package/Materials/materialHelper.functions.js +45 -1
  542. package/Materials/materialHelper.functions.js.map +1 -1
  543. package/Materials/materialHelper.geometryrendering.d.ts +1 -1
  544. package/Materials/materialHelper.geometryrendering.js +1 -1
  545. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  546. package/Materials/materialPluginFactoryExport.js +2 -2
  547. package/Materials/materialPluginFactoryExport.js.map +1 -1
  548. package/Materials/meshDebugPluginMaterial.pure.js +15 -13
  549. package/Materials/meshDebugPluginMaterial.pure.js.map +1 -1
  550. package/Materials/pushMaterial.d.ts +7 -1
  551. package/Materials/pushMaterial.js +7 -1
  552. package/Materials/pushMaterial.js.map +1 -1
  553. package/Materials/uniformBuffer.js +1 -1
  554. package/Materials/uniformBuffer.js.map +1 -1
  555. package/Maths/math.axis.d.ts +1 -1
  556. package/Maths/math.axis.js +1 -1
  557. package/Maths/math.axis.js.map +1 -1
  558. package/Maths/math.d.ts +2 -2
  559. package/Maths/math.functions.d.ts +1 -1
  560. package/Maths/math.functions.js +1 -1
  561. package/Maths/math.functions.js.map +1 -1
  562. package/Maths/math.isovector.d.ts +1 -1
  563. package/Maths/math.isovector.js +1 -1
  564. package/Maths/math.isovector.js.map +1 -1
  565. package/Maths/math.js +2 -2
  566. package/Maths/math.js.map +1 -1
  567. package/Maths/math.path.d.ts +1 -1
  568. package/Maths/math.path.js +1 -1
  569. package/Maths/math.path.js.map +1 -1
  570. package/Maths/math.plane.d.ts +1 -1
  571. package/Maths/math.plane.js +1 -1
  572. package/Maths/math.plane.js.map +1 -1
  573. package/Maths/math.polar.d.ts +1 -1
  574. package/Maths/math.polar.js +1 -1
  575. package/Maths/math.polar.js.map +1 -1
  576. package/Maths/math.vertexFormat.d.ts +1 -1
  577. package/Maths/math.vertexFormat.js +1 -1
  578. package/Maths/math.vertexFormat.js.map +1 -1
  579. package/Maths/pure.d.ts +1 -0
  580. package/Maths/pure.js +1 -0
  581. package/Maths/pure.js.map +1 -1
  582. package/Meshes/Builders/geodesicBuilder.js +1 -1
  583. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  584. package/Meshes/Builders/goldbergBuilder.d.ts +1 -1
  585. package/Meshes/Builders/goldbergBuilder.js +4 -4
  586. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  587. package/Meshes/Builders/greasedLineBuilder.d.ts +4 -4
  588. package/Meshes/Builders/greasedLineBuilder.js +5 -5
  589. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  590. package/Meshes/Builders/textBuilder.d.ts +2 -2
  591. package/Meshes/Builders/textBuilder.js +4 -4
  592. package/Meshes/Builders/textBuilder.js.map +1 -1
  593. package/Meshes/Builders/tiledBoxBuilder.d.ts +3 -3
  594. package/Meshes/Builders/tiledBoxBuilder.js +3 -3
  595. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  596. package/Meshes/Builders/tiledPlaneBuilder.d.ts +1 -1
  597. package/Meshes/Builders/tiledPlaneBuilder.js +1 -1
  598. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  599. package/Meshes/Compression/dracoCodec.js +1 -1
  600. package/Meshes/Compression/dracoCodec.js.map +1 -1
  601. package/Meshes/Compression/dracoDecoder.js +1 -1
  602. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  603. package/Meshes/Compression/dracoEncoder.d.ts +1 -1
  604. package/Meshes/Compression/dracoEncoder.js +2 -2
  605. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  606. package/Meshes/Compression/meshoptCompression.js +1 -1
  607. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  608. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +64 -3
  609. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  610. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +2 -2
  611. package/Meshes/GreasedLine/greasedLineBaseMesh.js +3 -3
  612. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  613. package/Meshes/Node/nodeGeometry.d.ts +2 -2
  614. package/Meshes/Node/nodeGeometry.js +4 -4
  615. package/Meshes/Node/nodeGeometry.js.map +1 -1
  616. package/Meshes/Node/nodeGeometryBuildState.d.ts +1 -1
  617. package/Meshes/Node/nodeGeometryBuildState.js +1 -1
  618. package/Meshes/Node/nodeGeometryBuildState.js.map +1 -1
  619. package/Meshes/abstractMesh.hotSpot.d.ts +1 -1
  620. package/Meshes/abstractMesh.hotSpot.js +2 -2
  621. package/Meshes/abstractMesh.hotSpot.js.map +1 -1
  622. package/Meshes/abstractMesh.pure.js +2 -13
  623. package/Meshes/abstractMesh.pure.js.map +1 -1
  624. package/Meshes/buffer.d.ts +1 -1
  625. package/Meshes/buffer.js +1 -1
  626. package/Meshes/buffer.js.map +1 -1
  627. package/Meshes/csg.d.ts +3 -3
  628. package/Meshes/csg.js +4 -4
  629. package/Meshes/csg.js.map +1 -1
  630. package/Meshes/csg2.d.ts +1 -1
  631. package/Meshes/csg2.js +38 -11
  632. package/Meshes/csg2.js.map +1 -1
  633. package/Meshes/geodesicMesh.d.ts +1 -1
  634. package/Meshes/geodesicMesh.js +1 -1
  635. package/Meshes/geodesicMesh.js.map +1 -1
  636. package/Meshes/geometry.d.ts +2 -2
  637. package/Meshes/geometry.js +4 -4
  638. package/Meshes/geometry.js.map +1 -1
  639. package/Meshes/lattice.d.ts +1 -1
  640. package/Meshes/lattice.js +1 -1
  641. package/Meshes/lattice.js.map +1 -1
  642. package/Meshes/lattice.material.d.ts +1 -1
  643. package/Meshes/lattice.material.js +1 -1
  644. package/Meshes/lattice.material.js.map +1 -1
  645. package/Meshes/mesh.vertexData.d.ts +2 -2
  646. package/Meshes/mesh.vertexData.js +3 -4
  647. package/Meshes/mesh.vertexData.js.map +1 -1
  648. package/Meshes/mesh.vertexData.subdivide.js +1 -1
  649. package/Meshes/mesh.vertexData.subdivide.js.map +1 -1
  650. package/Meshes/meshBuilder.d.ts +18 -18
  651. package/Meshes/meshBuilder.js +18 -18
  652. package/Meshes/meshBuilder.js.map +1 -1
  653. package/Meshes/meshSimplification.d.ts +1 -1
  654. package/Meshes/meshSimplification.js +4 -4
  655. package/Meshes/meshSimplification.js.map +1 -1
  656. package/Meshes/meshUVSpaceRenderer.d.ts +1 -1
  657. package/Meshes/meshUVSpaceRenderer.js +0 -1
  658. package/Meshes/meshUVSpaceRenderer.js.map +1 -1
  659. package/Meshes/meshUtils.d.ts +1 -1
  660. package/Meshes/meshUtils.js +2 -2
  661. package/Meshes/meshUtils.js.map +1 -1
  662. package/Meshes/polygonMesh.d.ts +2 -2
  663. package/Meshes/polygonMesh.js +3 -3
  664. package/Meshes/polygonMesh.js.map +1 -1
  665. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
  666. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  667. package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
  668. package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
  669. package/Misc/PerformanceViewer/performanceViewerCollector.js +1 -1
  670. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  671. package/Misc/areaLightsTextureTools.d.ts +1 -1
  672. package/Misc/areaLightsTextureTools.js +3 -3
  673. package/Misc/areaLightsTextureTools.js.map +1 -1
  674. package/Misc/assetsManager.d.ts +4 -4
  675. package/Misc/assetsManager.js +5 -5
  676. package/Misc/assetsManager.js.map +1 -1
  677. package/Misc/basisWorker.js +1 -1
  678. package/Misc/basisWorker.js.map +1 -1
  679. package/Misc/brdfTextureTools.js +1 -1
  680. package/Misc/brdfTextureTools.js.map +1 -1
  681. package/Misc/copyTextureToTexture.d.ts +1 -1
  682. package/Misc/copyTextureToTexture.js +1 -1
  683. package/Misc/copyTextureToTexture.js.map +1 -1
  684. package/Misc/decorators.serialization.js +2 -2
  685. package/Misc/decorators.serialization.js.map +1 -1
  686. package/Misc/depthReducer.d.ts +2 -2
  687. package/Misc/depthReducer.js +2 -2
  688. package/Misc/depthReducer.js.map +1 -1
  689. package/Misc/gradients.d.ts +1 -1
  690. package/Misc/gradients.js +1 -1
  691. package/Misc/gradients.js.map +1 -1
  692. package/Misc/greasedLineTools.d.ts +1 -1
  693. package/Misc/greasedLineTools.js +3 -3
  694. package/Misc/greasedLineTools.js.map +1 -1
  695. package/Misc/halfFloat.d.ts +17 -0
  696. package/Misc/halfFloat.js +131 -0
  697. package/Misc/halfFloat.js.map +1 -0
  698. package/Misc/khronosTextureContainer2.js +1 -1
  699. package/Misc/khronosTextureContainer2.js.map +1 -1
  700. package/Misc/meshExploder.js +1 -1
  701. package/Misc/meshExploder.js.map +1 -1
  702. package/Misc/pivotTools.js +1 -1
  703. package/Misc/pivotTools.js.map +1 -1
  704. package/Misc/rgbdTextureTools.js +1 -1
  705. package/Misc/rgbdTextureTools.js.map +1 -1
  706. package/Misc/sceneOptimizer.js +1 -1
  707. package/Misc/sceneOptimizer.js.map +1 -1
  708. package/Misc/sceneRecorder.js +7 -7
  709. package/Misc/sceneRecorder.js.map +1 -1
  710. package/Misc/sceneSerializer.js +3 -3
  711. package/Misc/sceneSerializer.js.map +1 -1
  712. package/Misc/snapshotRenderingHelper.js +1 -1
  713. package/Misc/snapshotRenderingHelper.js.map +1 -1
  714. package/Misc/textureTools.d.ts +3 -13
  715. package/Misc/textureTools.js +6 -64
  716. package/Misc/textureTools.js.map +1 -1
  717. package/Misc/thinMinMaxReducer.d.ts +1 -1
  718. package/Misc/thinMinMaxReducer.js +1 -1
  719. package/Misc/thinMinMaxReducer.js.map +1 -1
  720. package/Misc/tools.internals.js +1 -1
  721. package/Misc/tools.internals.js.map +1 -1
  722. package/Misc/tools.pure.js +11 -4
  723. package/Misc/tools.pure.js.map +1 -1
  724. package/Misc/trajectoryClassifier.d.ts +1 -1
  725. package/Misc/trajectoryClassifier.js +1 -1
  726. package/Misc/trajectoryClassifier.js.map +1 -1
  727. package/Misc/videoRecorder.js +1 -1
  728. package/Misc/videoRecorder.js.map +1 -1
  729. package/Misc/virtualJoystick.d.ts +1 -1
  730. package/Misc/virtualJoystick.js +1 -1
  731. package/Misc/virtualJoystick.js.map +1 -1
  732. package/Morph/morphTarget.js +1 -1
  733. package/Morph/morphTarget.js.map +1 -1
  734. package/Navigation/Plugins/recastJSPlugin.d.ts +1 -1
  735. package/Navigation/Plugins/recastJSPlugin.js +2 -2
  736. package/Navigation/Plugins/recastJSPlugin.js.map +1 -1
  737. package/Particles/EmitterTypes/boxParticleEmitter.d.ts +1 -1
  738. package/Particles/EmitterTypes/boxParticleEmitter.js +1 -1
  739. package/Particles/EmitterTypes/boxParticleEmitter.js.map +1 -1
  740. package/Particles/EmitterTypes/coneParticleEmitter.d.ts +1 -1
  741. package/Particles/EmitterTypes/coneParticleEmitter.js +1 -1
  742. package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
  743. package/Particles/EmitterTypes/customParticleEmitter.d.ts +1 -1
  744. package/Particles/EmitterTypes/customParticleEmitter.js +1 -1
  745. package/Particles/EmitterTypes/customParticleEmitter.js.map +1 -1
  746. package/Particles/EmitterTypes/cylinderParticleEmitter.d.ts +1 -1
  747. package/Particles/EmitterTypes/cylinderParticleEmitter.js +1 -1
  748. package/Particles/EmitterTypes/cylinderParticleEmitter.js.map +1 -1
  749. package/Particles/EmitterTypes/hemisphericParticleEmitter.d.ts +1 -1
  750. package/Particles/EmitterTypes/hemisphericParticleEmitter.js +1 -1
  751. package/Particles/EmitterTypes/hemisphericParticleEmitter.js.map +1 -1
  752. package/Particles/EmitterTypes/meshParticleEmitter.d.ts +1 -1
  753. package/Particles/EmitterTypes/meshParticleEmitter.js +2 -2
  754. package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
  755. package/Particles/EmitterTypes/pointParticleEmitter.d.ts +1 -1
  756. package/Particles/EmitterTypes/pointParticleEmitter.js +1 -1
  757. package/Particles/EmitterTypes/pointParticleEmitter.js.map +1 -1
  758. package/Particles/EmitterTypes/sphereParticleEmitter.d.ts +1 -1
  759. package/Particles/EmitterTypes/sphereParticleEmitter.js +1 -1
  760. package/Particles/EmitterTypes/sphereParticleEmitter.js.map +1 -1
  761. package/Particles/Node/nodeParticleBuildState.d.ts +4 -4
  762. package/Particles/Node/nodeParticleBuildState.js +2 -2
  763. package/Particles/Node/nodeParticleBuildState.js.map +1 -1
  764. package/Particles/Node/nodeParticleSystemSet.d.ts +2 -2
  765. package/Particles/Node/nodeParticleSystemSet.helper.js +31 -31
  766. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  767. package/Particles/Node/nodeParticleSystemSet.js +8 -8
  768. package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
  769. package/Particles/attractor.d.ts +1 -1
  770. package/Particles/attractor.js +1 -1
  771. package/Particles/attractor.js.map +1 -1
  772. package/Particles/computeShaderParticleSystem.pure.js +5 -1
  773. package/Particles/computeShaderParticleSystem.pure.js.map +1 -1
  774. package/Particles/flowMap.d.ts +7 -1
  775. package/Particles/flowMap.js +7 -1
  776. package/Particles/flowMap.js.map +1 -1
  777. package/Particles/gpuParticleSystem.pure.d.ts +1 -0
  778. package/Particles/gpuParticleSystem.pure.js +17 -1
  779. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  780. package/Particles/particle.d.ts +2 -2
  781. package/Particles/particle.js +2 -2
  782. package/Particles/particle.js.map +1 -1
  783. package/Particles/particleHelper.js +5 -5
  784. package/Particles/particleHelper.js.map +1 -1
  785. package/Particles/particleSystem.functions.d.ts +1 -1
  786. package/Particles/particleSystem.functions.js +1 -1
  787. package/Particles/particleSystem.functions.js.map +1 -1
  788. package/Particles/particleSystemSet.d.ts +1 -1
  789. package/Particles/particleSystemSet.js +5 -5
  790. package/Particles/particleSystemSet.js.map +1 -1
  791. package/Particles/pointsCloudSystem.d.ts +1 -1
  792. package/Particles/pointsCloudSystem.js +6 -6
  793. package/Particles/pointsCloudSystem.js.map +1 -1
  794. package/Particles/solidParticle.d.ts +2 -2
  795. package/Particles/solidParticle.js +3 -3
  796. package/Particles/solidParticle.js.map +1 -1
  797. package/Particles/solidParticleSystem.d.ts +4 -4
  798. package/Particles/solidParticleSystem.js +7 -7
  799. package/Particles/solidParticleSystem.js.map +1 -1
  800. package/Particles/subEmitter.js +1 -1
  801. package/Particles/subEmitter.js.map +1 -1
  802. package/Particles/thinParticleSystem.function.js +2 -2
  803. package/Particles/thinParticleSystem.function.js.map +1 -1
  804. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  805. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  806. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  807. package/Physics/castingResult.d.ts +1 -1
  808. package/Physics/castingResult.js +1 -1
  809. package/Physics/castingResult.js.map +1 -1
  810. package/Physics/physicsHelper.d.ts +1 -1
  811. package/Physics/physicsHelper.js +4 -4
  812. package/Physics/physicsHelper.js.map +1 -1
  813. package/Physics/physicsImpostor.d.ts +1 -1
  814. package/Physics/physicsImpostor.js +1 -1
  815. package/Physics/physicsImpostor.js.map +1 -1
  816. package/Physics/physicsRaycastResult.d.ts +1 -1
  817. package/Physics/physicsRaycastResult.js +1 -1
  818. package/Physics/physicsRaycastResult.js.map +1 -1
  819. package/Physics/v1/Plugins/ammoJSPlugin.d.ts +2 -2
  820. package/Physics/v1/Plugins/ammoJSPlugin.js +5 -5
  821. package/Physics/v1/Plugins/ammoJSPlugin.js.map +1 -1
  822. package/Physics/v1/Plugins/oimoJSPlugin.d.ts +2 -2
  823. package/Physics/v1/Plugins/oimoJSPlugin.js +2 -2
  824. package/Physics/v1/Plugins/oimoJSPlugin.js.map +1 -1
  825. package/Physics/v1/physicsEngine.d.ts +1 -1
  826. package/Physics/v1/physicsEngine.js +1 -1
  827. package/Physics/v1/physicsEngine.js.map +1 -1
  828. package/Physics/v2/Plugins/havokPlugin.d.ts +14 -2
  829. package/Physics/v2/Plugins/havokPlugin.js +45 -7
  830. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  831. package/Physics/v2/characterController.d.ts +1 -1
  832. package/Physics/v2/characterController.js +2 -2
  833. package/Physics/v2/characterController.js.map +1 -1
  834. package/Physics/v2/physicsAggregate.d.ts +3 -3
  835. package/Physics/v2/physicsAggregate.js +10 -6
  836. package/Physics/v2/physicsAggregate.js.map +1 -1
  837. package/Physics/v2/physicsBody.d.ts +1 -1
  838. package/Physics/v2/physicsBody.js +1 -1
  839. package/Physics/v2/physicsBody.js.map +1 -1
  840. package/Physics/v2/physicsEngine.d.ts +1 -1
  841. package/Physics/v2/physicsEngine.js +1 -1
  842. package/Physics/v2/physicsEngine.js.map +1 -1
  843. package/Physics/v2/physicsShape.d.ts +1 -1
  844. package/Physics/v2/physicsShape.js +1 -1
  845. package/Physics/v2/physicsShape.js.map +1 -1
  846. package/Physics/v2/ragdoll.d.ts +2 -2
  847. package/Physics/v2/ragdoll.js +2 -2
  848. package/Physics/v2/ragdoll.js.map +1 -1
  849. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.d.ts +1 -0
  850. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +8 -6
  851. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
  852. package/PostProcesses/RenderPipeline/Pipelines/thinSSRRenderingPipeline.js +1 -1
  853. package/PostProcesses/RenderPipeline/Pipelines/thinSSRRenderingPipeline.js.map +1 -1
  854. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +1 -1
  855. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  856. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +3 -2
  857. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  858. package/PostProcesses/bloomEffect.d.ts +1 -1
  859. package/PostProcesses/bloomEffect.js +4 -4
  860. package/PostProcesses/bloomEffect.js.map +1 -1
  861. package/PostProcesses/depthOfFieldEffect.d.ts +1 -1
  862. package/PostProcesses/depthOfFieldEffect.js +3 -3
  863. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  864. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +1 -1
  865. package/PostProcesses/depthOfFieldMergePostProcess.js +1 -1
  866. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  867. package/PostProcesses/highlightsPostProcess.d.ts +1 -1
  868. package/PostProcesses/highlightsPostProcess.js +1 -1
  869. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  870. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  871. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  872. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  873. package/PostProcesses/postProcessManager.d.ts +3 -0
  874. package/PostProcesses/postProcessManager.js +4 -1
  875. package/PostProcesses/postProcessManager.js.map +1 -1
  876. package/PostProcesses/subSurfaceScatteringPostProcess.pure.d.ts +1 -0
  877. package/PostProcesses/subSurfaceScatteringPostProcess.pure.js +10 -0
  878. package/PostProcesses/subSurfaceScatteringPostProcess.pure.js.map +1 -1
  879. package/PostProcesses/thinAnaglyphPostProcess.d.ts +1 -1
  880. package/PostProcesses/thinAnaglyphPostProcess.js +1 -1
  881. package/PostProcesses/thinAnaglyphPostProcess.js.map +1 -1
  882. package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +1 -1
  883. package/PostProcesses/thinBlackAndWhitePostProcess.js +1 -1
  884. package/PostProcesses/thinBlackAndWhitePostProcess.js.map +1 -1
  885. package/PostProcesses/thinBloomEffect.js +1 -1
  886. package/PostProcesses/thinBloomEffect.js.map +1 -1
  887. package/PostProcesses/thinBloomMergePostProcess.d.ts +1 -1
  888. package/PostProcesses/thinBloomMergePostProcess.js +1 -1
  889. package/PostProcesses/thinBloomMergePostProcess.js.map +1 -1
  890. package/PostProcesses/thinBlurPostProcess.d.ts +1 -1
  891. package/PostProcesses/thinBlurPostProcess.js +1 -1
  892. package/PostProcesses/thinBlurPostProcess.js.map +1 -1
  893. package/PostProcesses/thinChromaticAberrationPostProcess.d.ts +2 -2
  894. package/PostProcesses/thinChromaticAberrationPostProcess.js +2 -2
  895. package/PostProcesses/thinChromaticAberrationPostProcess.js.map +1 -1
  896. package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +1 -1
  897. package/PostProcesses/thinCircleOfConfusionPostProcess.js +1 -1
  898. package/PostProcesses/thinCircleOfConfusionPostProcess.js.map +1 -1
  899. package/PostProcesses/thinColorCorrectionPostProcess.d.ts +1 -1
  900. package/PostProcesses/thinColorCorrectionPostProcess.js +2 -2
  901. package/PostProcesses/thinColorCorrectionPostProcess.js.map +1 -1
  902. package/PostProcesses/thinConvolutionPostProcess.d.ts +1 -1
  903. package/PostProcesses/thinConvolutionPostProcess.js +1 -1
  904. package/PostProcesses/thinConvolutionPostProcess.js.map +1 -1
  905. package/PostProcesses/thinCustomPostProcess.d.ts +1 -1
  906. package/PostProcesses/thinCustomPostProcess.js +1 -1
  907. package/PostProcesses/thinCustomPostProcess.js.map +1 -1
  908. package/PostProcesses/thinDepthOfFieldEffect.d.ts +3 -0
  909. package/PostProcesses/thinDepthOfFieldEffect.js +4 -1
  910. package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -1
  911. package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +1 -1
  912. package/PostProcesses/thinDepthOfFieldMergePostProcess.js +1 -1
  913. package/PostProcesses/thinDepthOfFieldMergePostProcess.js.map +1 -1
  914. package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +1 -1
  915. package/PostProcesses/thinExtractHighlightsPostProcess.js +1 -1
  916. package/PostProcesses/thinExtractHighlightsPostProcess.js.map +1 -1
  917. package/PostProcesses/thinFXAAPostProcess.d.ts +2 -2
  918. package/PostProcesses/thinFXAAPostProcess.js +2 -2
  919. package/PostProcesses/thinFXAAPostProcess.js.map +1 -1
  920. package/PostProcesses/thinFilterPostProcess.d.ts +2 -2
  921. package/PostProcesses/thinFilterPostProcess.js +2 -2
  922. package/PostProcesses/thinFilterPostProcess.js.map +1 -1
  923. package/PostProcesses/thinGrainPostProcess.d.ts +1 -1
  924. package/PostProcesses/thinGrainPostProcess.js +1 -1
  925. package/PostProcesses/thinGrainPostProcess.js.map +1 -1
  926. package/PostProcesses/thinImageProcessingPostProcess.d.ts +2 -2
  927. package/PostProcesses/thinImageProcessingPostProcess.js +2 -2
  928. package/PostProcesses/thinImageProcessingPostProcess.js.map +1 -1
  929. package/PostProcesses/thinMotionBlurPostProcess.d.ts +1 -1
  930. package/PostProcesses/thinMotionBlurPostProcess.js +2 -2
  931. package/PostProcesses/thinMotionBlurPostProcess.js.map +1 -1
  932. package/PostProcesses/thinPassPostProcess.d.ts +1 -1
  933. package/PostProcesses/thinPassPostProcess.js +1 -1
  934. package/PostProcesses/thinPassPostProcess.js.map +1 -1
  935. package/PostProcesses/thinSSAO2BlurPostProcess.d.ts +1 -1
  936. package/PostProcesses/thinSSAO2BlurPostProcess.js +1 -1
  937. package/PostProcesses/thinSSAO2BlurPostProcess.js.map +1 -1
  938. package/PostProcesses/thinSSAO2CombinePostProcess.d.ts +1 -1
  939. package/PostProcesses/thinSSAO2CombinePostProcess.js +2 -2
  940. package/PostProcesses/thinSSAO2CombinePostProcess.js.map +1 -1
  941. package/PostProcesses/thinSSAO2PostProcess.d.ts +7 -2
  942. package/PostProcesses/thinSSAO2PostProcess.js +36 -4
  943. package/PostProcesses/thinSSAO2PostProcess.js.map +1 -1
  944. package/PostProcesses/thinSSRBlurCombinerPostProcess.d.ts +1 -1
  945. package/PostProcesses/thinSSRBlurCombinerPostProcess.js +2 -2
  946. package/PostProcesses/thinSSRBlurCombinerPostProcess.js.map +1 -1
  947. package/PostProcesses/thinSSRBlurPostProcess.d.ts +2 -2
  948. package/PostProcesses/thinSSRBlurPostProcess.js +2 -2
  949. package/PostProcesses/thinSSRBlurPostProcess.js.map +1 -1
  950. package/PostProcesses/thinSSRPostProcess.d.ts +1 -1
  951. package/PostProcesses/thinSSRPostProcess.js +2 -2
  952. package/PostProcesses/thinSSRPostProcess.js.map +1 -1
  953. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.d.ts +1 -1
  954. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.js +1 -1
  955. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.js.map +1 -1
  956. package/PostProcesses/thinSharpenPostProcess.d.ts +1 -1
  957. package/PostProcesses/thinSharpenPostProcess.js +1 -1
  958. package/PostProcesses/thinSharpenPostProcess.js.map +1 -1
  959. package/PostProcesses/thinTAAPostProcess.d.ts +3 -3
  960. package/PostProcesses/thinTAAPostProcess.js +4 -4
  961. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  962. package/PostProcesses/thinTonemapPostProcess.d.ts +1 -1
  963. package/PostProcesses/thinTonemapPostProcess.js +1 -1
  964. package/PostProcesses/thinTonemapPostProcess.js.map +1 -1
  965. package/PostProcesses/vrDistortionCorrectionPostProcess.d.ts +1 -1
  966. package/PostProcesses/vrDistortionCorrectionPostProcess.js +3 -3
  967. package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
  968. package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +2 -2
  969. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +4 -4
  970. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
  971. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +2 -2
  972. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js +4 -4
  973. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -1
  974. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +3 -3
  975. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +4 -4
  976. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
  977. package/Rendering/depthPeelingRenderer.d.ts +1 -1
  978. package/Rendering/depthPeelingRenderer.js +2 -2
  979. package/Rendering/depthPeelingRenderer.js.map +1 -1
  980. package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +1 -1
  981. package/Rendering/fluidRenderer/fluidRenderingObject.js +1 -1
  982. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  983. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.d.ts +1 -1
  984. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +2 -2
  985. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  986. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +3 -3
  987. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +3 -3
  988. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  989. package/Rendering/fluidRenderer/fluidRenderingTextures.d.ts +2 -2
  990. package/Rendering/fluidRenderer/fluidRenderingTextures.js +3 -3
  991. package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
  992. package/Rendering/iblCdfGenerator.d.ts +3 -3
  993. package/Rendering/iblCdfGenerator.js +5 -5
  994. package/Rendering/iblCdfGenerator.js.map +1 -1
  995. package/Rendering/renderingGroup.js +1 -1
  996. package/Rendering/renderingGroup.js.map +1 -1
  997. package/Rendering/subSurfaceConfiguration.d.ts +2 -2
  998. package/Rendering/subSurfaceConfiguration.js +2 -2
  999. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  1000. package/Rendering/utilityLayerRenderer.d.ts +2 -2
  1001. package/Rendering/utilityLayerRenderer.js +4 -4
  1002. package/Rendering/utilityLayerRenderer.js.map +1 -1
  1003. package/Shaders/ssao2.fragment.js +10 -2
  1004. package/Shaders/ssao2.fragment.js.map +1 -1
  1005. package/ShadersWGSL/gpuRenderParticles.fragment.d.ts +5 -0
  1006. package/ShadersWGSL/gpuRenderParticles.fragment.js +50 -0
  1007. package/ShadersWGSL/gpuRenderParticles.fragment.js.map +1 -0
  1008. package/ShadersWGSL/gpuRenderParticles.vertex.d.ts +5 -0
  1009. package/ShadersWGSL/gpuRenderParticles.vertex.js +120 -0
  1010. package/ShadersWGSL/gpuRenderParticles.vertex.js.map +1 -0
  1011. package/ShadersWGSL/noise.fragment.d.ts +5 -0
  1012. package/ShadersWGSL/noise.fragment.js +18 -0
  1013. package/ShadersWGSL/noise.fragment.js.map +1 -0
  1014. package/ShadersWGSL/ssao2.fragment.js +10 -2
  1015. package/ShadersWGSL/ssao2.fragment.js.map +1 -1
  1016. package/SmartAssets/smartAssetSerializer.js +1 -1
  1017. package/SmartAssets/smartAssetSerializer.js.map +1 -1
  1018. package/Sprites/sprite.d.ts +2 -2
  1019. package/Sprites/sprite.js +2 -2
  1020. package/Sprites/sprite.js.map +1 -1
  1021. package/Sprites/spriteManager.d.ts +2 -2
  1022. package/Sprites/spriteManager.js +4 -5
  1023. package/Sprites/spriteManager.js.map +1 -1
  1024. package/Sprites/spritePackedManager.js +1 -1
  1025. package/Sprites/spritePackedManager.js.map +1 -1
  1026. package/Sprites/spriteRenderer.js +2 -2
  1027. package/Sprites/spriteRenderer.js.map +1 -1
  1028. package/XR/features/WebXRHitTestLegacy.d.ts +1 -1
  1029. package/XR/features/WebXRHitTestLegacy.js +2 -2
  1030. package/XR/features/WebXRHitTestLegacy.js.map +1 -1
  1031. package/XR/motionController/webXRAbstractMotionController.js +2 -2
  1032. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1033. package/XR/motionController/webXRGenericMotionController.js +2 -2
  1034. package/XR/motionController/webXRGenericMotionController.js.map +1 -1
  1035. package/XR/motionController/webXRProfiledMotionController.js +4 -4
  1036. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  1037. package/XR/webXRCamera.d.ts +3 -3
  1038. package/XR/webXRCamera.js +4 -4
  1039. package/XR/webXRCamera.js.map +1 -1
  1040. package/XR/webXRDefaultExperience.d.ts +4 -4
  1041. package/XR/webXRDefaultExperience.js +4 -4
  1042. package/XR/webXRDefaultExperience.js.map +1 -1
  1043. package/XR/webXREnterExitUI.js +1 -1
  1044. package/XR/webXREnterExitUI.js.map +1 -1
  1045. package/XR/webXRExperienceHelper.js +2 -2
  1046. package/XR/webXRExperienceHelper.js.map +1 -1
  1047. package/XR/webXRFeaturesManager.d.ts +47 -0
  1048. package/XR/webXRFeaturesManager.js +1 -1
  1049. package/XR/webXRFeaturesManager.js.map +1 -1
  1050. package/XR/webXRInput.js +1 -1
  1051. package/XR/webXRInput.js.map +1 -1
  1052. package/XR/webXRInputSource.js +4 -4
  1053. package/XR/webXRInputSource.js.map +1 -1
  1054. package/XR/webXRManagedOutputCanvas.js +1 -1
  1055. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  1056. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1057. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1058. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1059. package/assetContainer.d.ts +4 -4
  1060. package/assetContainer.js +6 -6
  1061. package/assetContainer.js.map +1 -1
  1062. package/node.d.ts +1 -1
  1063. package/node.js +6 -2
  1064. package/node.js.map +1 -1
  1065. package/package.json +44 -174
@@ -1 +1 @@
1
- {"version":3,"file":"lensFlare.js","sourceRoot":"","sources":["../../../../dev/core/src/LensFlares/lensFlare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAqBlB;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,MAAuB;QACzG,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACH;IACI;;OAEG;IACI,IAAY;IACnB;;OAEG;IACI,QAAgB,EACvB,KAAa,EACb,MAAc,EACd,MAAuB;QAPhB,SAAI,GAAJ,IAAI,CAAQ;QAIZ,aAAQ,GAAR,QAAQ,CAAQ;QA7C3B;;WAEG;QACI,cAAS,GAAW,SAAS,CAAC,YAAY,CAAC;QA+C9C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAC1C,WAAW,EACX,CAAC,YAAY,CAAC,YAAY,CAAC,EAC3B,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAC3B,CAAC,gBAAgB,CAAC,EAClB,EAAE,EACF,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,CAAC,cAAc,CACxB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;CACJ","sourcesContent":["import { type Nullable } from \"../types\";\r\nimport { Color3 } from \"../Maths/math.color\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { type LensFlareSystem } from \"./lensFlareSystem\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { DrawWrapper } from \"../Materials/drawWrapper\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\n/**\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n */\r\nexport class LensFlare {\r\n /**\r\n * Define the lens color.\r\n */\r\n public color: Color3;\r\n\r\n /**\r\n * Define the lens texture.\r\n */\r\n public texture: Nullable<Texture>;\r\n\r\n /**\r\n * Define the alpha mode to render this particular lens.\r\n */\r\n public alphaMode: number = Constants.ALPHA_ONEONE;\r\n\r\n /** @internal */\r\n public _drawWrapper: DrawWrapper;\r\n\r\n private _system: LensFlareSystem;\r\n\r\n /**\r\n * Creates a new Lens Flare.\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param size Define the size of the lens flare (a floating value between 0 and 1)\r\n * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n * @param color Define the lens color\r\n * @param imgUrl Define the lens texture url\r\n * @param system Define the `lensFlareSystem` this flare is part of\r\n * @returns The newly created Lens Flare\r\n */\r\n public static AddFlare(size: number, position: number, color: Color3, imgUrl: string, system: LensFlareSystem): LensFlare {\r\n return new LensFlare(size, position, color, imgUrl, system);\r\n }\r\n\r\n /**\r\n * Instantiates a new Lens Flare.\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param size Define the size of the lens flare in the system (a floating value between 0 and 1)\r\n * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n * @param color Define the lens color\r\n * @param imgUrl Define the lens texture url\r\n * @param system Define the `lensFlareSystem` this flare is part of\r\n */\r\n constructor(\r\n /**\r\n * Define the size of the lens flare in the system (a floating value between 0 and 1)\r\n */\r\n public size: number,\r\n /**\r\n * Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n */\r\n public position: number,\r\n color: Color3,\r\n imgUrl: string,\r\n system: LensFlareSystem\r\n ) {\r\n this.color = color || new Color3(1, 1, 1);\r\n this.texture = imgUrl ? new Texture(imgUrl, system.getScene(), true) : null;\r\n this._system = system;\r\n\r\n const engine = system.scene.getEngine();\r\n\r\n system._onShadersLoaded.addOnce(() => {\r\n this._drawWrapper = new DrawWrapper(engine);\r\n this._drawWrapper.effect = engine.createEffect(\r\n \"lensFlare\",\r\n [VertexBuffer.PositionKind],\r\n [\"color\", \"viewportMatrix\"],\r\n [\"textureSampler\"],\r\n \"\",\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n system.shaderLanguage\r\n );\r\n });\r\n\r\n system.lensFlares.push(this);\r\n }\r\n\r\n /**\r\n * Dispose and release the lens flare with its associated resources.\r\n */\r\n public dispose(): void {\r\n if (this.texture) {\r\n this.texture.dispose();\r\n }\r\n\r\n // Remove from scene\r\n const index = this._system.lensFlares.indexOf(this);\r\n this._system.lensFlares.splice(index, 1);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"lensFlare.js","sourceRoot":"","sources":["../../../../dev/core/src/LensFlares/lensFlare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAqBlB;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,MAAuB;QACzG,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACH;IACI;;OAEG;IACI,IAAY;IACnB;;OAEG;IACI,QAAgB,EACvB,KAAa,EACb,MAAc,EACd,MAAuB;QAPhB,SAAI,GAAJ,IAAI,CAAQ;QAIZ,aAAQ,GAAR,QAAQ,CAAQ;QA7C3B;;WAEG;QACI,cAAS,GAAW,SAAS,CAAC,YAAY,CAAC;QA+C9C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAC1C,WAAW,EACX,CAAC,YAAY,CAAC,YAAY,CAAC,EAC3B,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAC3B,CAAC,gBAAgB,CAAC,EAClB,EAAE,EACF,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,CAAC,cAAc,CACxB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;CACJ","sourcesContent":["import { type Nullable } from \"../types\";\r\nimport { Color3 } from \"../Maths/math.color.pure\";\r\nimport { Texture } from \"../Materials/Textures/texture.pure\";\r\nimport { type LensFlareSystem } from \"./lensFlareSystem\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { DrawWrapper } from \"../Materials/drawWrapper\";\r\nimport { VertexBuffer } from \"../Buffers/buffer.pure\";\r\n/**\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n */\r\nexport class LensFlare {\r\n /**\r\n * Define the lens color.\r\n */\r\n public color: Color3;\r\n\r\n /**\r\n * Define the lens texture.\r\n */\r\n public texture: Nullable<Texture>;\r\n\r\n /**\r\n * Define the alpha mode to render this particular lens.\r\n */\r\n public alphaMode: number = Constants.ALPHA_ONEONE;\r\n\r\n /** @internal */\r\n public _drawWrapper: DrawWrapper;\r\n\r\n private _system: LensFlareSystem;\r\n\r\n /**\r\n * Creates a new Lens Flare.\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param size Define the size of the lens flare (a floating value between 0 and 1)\r\n * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n * @param color Define the lens color\r\n * @param imgUrl Define the lens texture url\r\n * @param system Define the `lensFlareSystem` this flare is part of\r\n * @returns The newly created Lens Flare\r\n */\r\n public static AddFlare(size: number, position: number, color: Color3, imgUrl: string, system: LensFlareSystem): LensFlare {\r\n return new LensFlare(size, position, color, imgUrl, system);\r\n }\r\n\r\n /**\r\n * Instantiates a new Lens Flare.\r\n * This represents one of the lens effect in a `lensFlareSystem`.\r\n * It controls one of the individual texture used in the effect.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param size Define the size of the lens flare in the system (a floating value between 0 and 1)\r\n * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n * @param color Define the lens color\r\n * @param imgUrl Define the lens texture url\r\n * @param system Define the `lensFlareSystem` this flare is part of\r\n */\r\n constructor(\r\n /**\r\n * Define the size of the lens flare in the system (a floating value between 0 and 1)\r\n */\r\n public size: number,\r\n /**\r\n * Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.\r\n */\r\n public position: number,\r\n color: Color3,\r\n imgUrl: string,\r\n system: LensFlareSystem\r\n ) {\r\n this.color = color || new Color3(1, 1, 1);\r\n this.texture = imgUrl ? new Texture(imgUrl, system.getScene(), true) : null;\r\n this._system = system;\r\n\r\n const engine = system.scene.getEngine();\r\n\r\n system._onShadersLoaded.addOnce(() => {\r\n this._drawWrapper = new DrawWrapper(engine);\r\n this._drawWrapper.effect = engine.createEffect(\r\n \"lensFlare\",\r\n [VertexBuffer.PositionKind],\r\n [\"color\", \"viewportMatrix\"],\r\n [\"textureSampler\"],\r\n \"\",\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n system.shaderLanguage\r\n );\r\n });\r\n\r\n system.lensFlares.push(this);\r\n }\r\n\r\n /**\r\n * Dispose and release the lens flare with its associated resources.\r\n */\r\n public dispose(): void {\r\n if (this.texture) {\r\n this.texture.dispose();\r\n }\r\n\r\n // Remove from scene\r\n const index = this._system.lensFlares.indexOf(this);\r\n this._system.lensFlares.splice(index, 1);\r\n }\r\n}\r\n"]}
@@ -1,5 +1,5 @@
1
1
  import { type Scene } from "../scene.js";
2
- import { Vector3 } from "../Maths/math.vector.js";
2
+ import { Vector3 } from "../Maths/math.vector.pure.js";
3
3
  import { type AbstractMesh } from "../Meshes/abstractMesh.js";
4
4
  import { LensFlare } from "./lensFlare.js";
5
5
  import { type Viewport } from "../Maths/math.viewport.js";
@@ -1,14 +1,14 @@
1
- import { Tools } from "../Misc/tools.js";
2
- import { Matrix, Vector3 } from "../Maths/math.vector.js";
1
+ import { Tools } from "../Misc/tools.pure.js";
2
+ import { Matrix, Vector3 } from "../Maths/math.vector.pure.js";
3
3
  import { Clamp } from "../Maths/math.scalar.functions.js";
4
4
  import { EngineStore } from "../Engines/engineStore.js";
5
- import { VertexBuffer } from "../Buffers/buffer.js";
6
- import { Ray } from "../Culling/ray.js";
7
- import { Material } from "../Materials/material.js";
5
+ import { VertexBuffer } from "../Buffers/buffer.pure.js";
6
+ import { Ray } from "../Culling/ray.pure.js";
7
+ import { Material } from "../Materials/material.pure.js";
8
8
  import { LensFlare } from "./lensFlare.js";
9
9
 
10
10
  import { _WarnImport } from "../Misc/devTools.js";
11
- import { Color3 } from "../Maths/math.color.js";
11
+ import { Color3 } from "../Maths/math.color.pure.js";
12
12
  import { Observable } from "../Misc/observable.js";
13
13
  import { RegisterLensFlareSystemSceneComponent } from "./lensFlareSystemSceneComponent.pure.js";
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lensFlareSystem.js","sourceRoot":"","sources":["../../../../dev/core/src/LensFlares/lensFlareSystem.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from \"../Misc/tools\";\r\nimport { type Nullable } from \"../types\";\r\nimport { type Scene } from \"../scene\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport { Clamp } from \"../Maths/math.scalar.functions\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { type AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\nimport { Ray } from \"../Culling/ray\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { LensFlare } from \"./lensFlare\";\r\nimport { Constants } from \"../Engines/constants\";\r\n\r\nimport { _WarnImport } from \"../Misc/devTools\";\r\nimport { type DataBuffer } from \"../Buffers/dataBuffer\";\r\nimport { Color3 } from \"../Maths/math.color\";\r\nimport { type Viewport } from \"../Maths/math.viewport\";\r\nimport { ShaderLanguage } from \"core/Materials/shaderLanguage\";\r\nimport { Observable } from \"core/Misc/observable\";\r\nimport { RegisterLensFlareSystemSceneComponent } from \"./lensFlareSystemSceneComponent.pure\";\r\n\r\n/**\r\n * This represents a Lens Flare System or the shiny effect created by the light reflection on the camera lenses.\r\n * It is usually composed of several `lensFlare`.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n */\r\nexport class LensFlareSystem {\r\n /**\r\n * Force all the lens flare systems to compile to glsl even on WebGPU engines.\r\n * False by default. This is mostly meant for backward compatibility.\r\n */\r\n public static ForceGLSL = false;\r\n\r\n /**\r\n * List of lens flares used in this system.\r\n */\r\n public lensFlares: LensFlare[] = [];\r\n\r\n /**\r\n * Define a limit from the border the lens flare can be visible.\r\n */\r\n public borderLimit = 300;\r\n\r\n /**\r\n * Define a viewport border we do not want to see the lens flare in.\r\n */\r\n public viewportBorder = 0;\r\n\r\n /**\r\n * Define a predicate which could limit the list of meshes able to occlude the effect.\r\n */\r\n public meshesSelectionPredicate: (mesh: AbstractMesh) => boolean;\r\n\r\n /**\r\n * Restricts the rendering of the effect to only the camera rendering this layer mask.\r\n */\r\n public layerMask: number = 0x0fffffff;\r\n\r\n /** Gets the scene */\r\n public get scene() {\r\n return this._scene;\r\n }\r\n\r\n /** Shader language used by the system */\r\n protected _shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n /**\r\n * Gets the shader language used in this system.\r\n */\r\n public get shaderLanguage(): ShaderLanguage {\r\n return this._shaderLanguage;\r\n }\r\n\r\n /**\r\n * Define the id of the lens flare system in the scene.\r\n * (equal to name by default)\r\n */\r\n public id: string;\r\n\r\n private _scene: Scene;\r\n private _emitter: any;\r\n private _vertexBuffers: { [key: string]: Nullable<VertexBuffer> } = {};\r\n private _indexBuffer: Nullable<DataBuffer>;\r\n private _positionX: number;\r\n private _positionY: number;\r\n private _isEnabled = true;\r\n\r\n /**\r\n * @internal\r\n */\r\n public static _SceneComponentInitialization: (scene: Scene) => void = (_) => {\r\n throw _WarnImport(\"LensFlareSystemSceneComponent\");\r\n };\r\n\r\n /**\r\n * Instantiates a lens flare system.\r\n * This represents a Lens Flare System or the shiny effect created by the light reflection on the camera lenses.\r\n * It is usually composed of several `lensFlare`.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param name Define the name of the lens flare system in the scene\r\n * @param emitter Define the source (the emitter) of the lens flares (it can be a camera, a light or a mesh).\r\n * @param scene Define the scene the lens flare system belongs to\r\n */\r\n constructor(\r\n /**\r\n * Define the name of the lens flare system\r\n */\r\n public name: string,\r\n emitter: any,\r\n scene: Scene\r\n ) {\r\n this._scene = scene || EngineStore.LastCreatedScene;\r\n this.layerMask = this._scene.defaultRenderableLayerMask;\r\n\r\n RegisterLensFlareSystemSceneComponent(LensFlareSystem);\r\n LensFlareSystem._SceneComponentInitialization(this._scene);\r\n\r\n this._emitter = emitter;\r\n this.id = name;\r\n scene.lensFlareSystems.push(this);\r\n\r\n this.meshesSelectionPredicate = (m) =>\r\n <boolean>(scene.activeCamera && m.material && m.isVisible && m.isEnabled() && m.isBlocker && (m.layerMask & scene.activeCamera.layerMask) != 0);\r\n\r\n const engine = scene.getEngine();\r\n\r\n // VBO\r\n const vertices = [];\r\n vertices.push(1, 1);\r\n vertices.push(-1, 1);\r\n vertices.push(-1, -1);\r\n vertices.push(1, -1);\r\n\r\n this._vertexBuffers[VertexBuffer.PositionKind] = new VertexBuffer(engine, vertices, VertexBuffer.PositionKind, false, false, 2);\r\n\r\n // Indices\r\n this._createIndexBuffer();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._initShaderSourceAsync();\r\n }\r\n\r\n /** @internal */\r\n public _onShadersLoaded = new Observable<void>(undefined, true);\r\n\r\n private _shadersLoaded = false;\r\n\r\n protected async _initShaderSourceAsync() {\r\n const engine = this._scene.getEngine();\r\n\r\n if (engine.isWebGPU && !LensFlareSystem.ForceGLSL) {\r\n this._shaderLanguage = ShaderLanguage.WGSL;\r\n\r\n await Promise.all([import(\"../ShadersWGSL/lensFlare.fragment\"), import(\"../ShadersWGSL/lensFlare.vertex\")]);\r\n } else {\r\n await Promise.all([import(\"../Shaders/lensFlare.fragment\"), import(\"../Shaders/lensFlare.vertex\")]);\r\n }\r\n\r\n this._shadersLoaded = true;\r\n this._onShadersLoaded.notifyObservers();\r\n }\r\n\r\n private _createIndexBuffer(): void {\r\n const indices = [];\r\n indices.push(0);\r\n indices.push(1);\r\n indices.push(2);\r\n\r\n indices.push(0);\r\n indices.push(2);\r\n indices.push(3);\r\n\r\n this._indexBuffer = this._scene.getEngine().createIndexBuffer(indices);\r\n }\r\n\r\n /**\r\n * Define if the lens flare system is enabled.\r\n */\r\n public get isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n\r\n public set isEnabled(value: boolean) {\r\n this._isEnabled = value;\r\n }\r\n\r\n /**\r\n * Get the scene the effects belongs to.\r\n * @returns the scene holding the lens flare system\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Get the emitter of the lens flare system.\r\n * It defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @returns the emitter of the lens flare system\r\n */\r\n public getEmitter(): any {\r\n return this._emitter;\r\n }\r\n\r\n /**\r\n * Set the emitter of the lens flare system.\r\n * It defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @param newEmitter Define the new emitter of the system\r\n */\r\n public setEmitter(newEmitter: any): void {\r\n this._emitter = newEmitter;\r\n }\r\n\r\n /**\r\n * Get the lens flare system emitter position.\r\n * The emitter defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @returns the position\r\n */\r\n public getEmitterPosition(): Vector3 {\r\n return this._emitter.getAbsolutePosition ? this._emitter.getAbsolutePosition() : this._emitter.position;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public computeEffectivePosition(globalViewport: Viewport): boolean {\r\n let position = this.getEmitterPosition();\r\n\r\n position = Vector3.Project(position, Matrix.Identity(), this._scene.getTransformMatrix(), globalViewport);\r\n\r\n this._positionX = position.x;\r\n this._positionY = position.y;\r\n\r\n position = Vector3.TransformCoordinates(this.getEmitterPosition(), this._scene.getViewMatrix());\r\n\r\n if (this.viewportBorder > 0) {\r\n globalViewport.x -= this.viewportBorder;\r\n globalViewport.y -= this.viewportBorder;\r\n globalViewport.width += this.viewportBorder * 2;\r\n globalViewport.height += this.viewportBorder * 2;\r\n position.x += this.viewportBorder;\r\n position.y += this.viewportBorder;\r\n this._positionX += this.viewportBorder;\r\n this._positionY += this.viewportBorder;\r\n }\r\n\r\n const rhs = this._scene.useRightHandedSystem;\r\n const okZ = (position.z > 0 && !rhs) || (position.z < 0 && rhs);\r\n\r\n if (okZ) {\r\n if (this._positionX > globalViewport.x && this._positionX < globalViewport.x + globalViewport.width) {\r\n if (this._positionY > globalViewport.y && this._positionY < globalViewport.y + globalViewport.height) {\r\n return true;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public _isVisible(): boolean {\r\n if (!this._isEnabled || !this._scene.activeCamera) {\r\n return false;\r\n }\r\n\r\n const emitterPosition = this.getEmitterPosition();\r\n const direction = emitterPosition.subtract(this._scene.activeCamera.globalPosition);\r\n const distance = direction.length();\r\n direction.normalize();\r\n\r\n const ray = new Ray(this._scene.activeCamera.globalPosition, direction);\r\n const pickInfo = this._scene.pickWithRay(ray, this.meshesSelectionPredicate, true);\r\n\r\n return !pickInfo || !pickInfo.hit || pickInfo.distance > distance;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public render(): boolean {\r\n if (!this._scene.activeCamera || !this._shadersLoaded) {\r\n return false;\r\n }\r\n\r\n const engine = this._scene.getEngine();\r\n const viewport = this._scene.activeCamera.viewport;\r\n const globalViewport = viewport.toGlobal(engine.getRenderWidth(true), engine.getRenderHeight(true));\r\n\r\n // Position\r\n if (!this.computeEffectivePosition(globalViewport)) {\r\n return false;\r\n }\r\n\r\n // Visibility\r\n if (!this._isVisible()) {\r\n return false;\r\n }\r\n\r\n // Intensity\r\n let awayX;\r\n let awayY;\r\n\r\n if (this._positionX < this.borderLimit + globalViewport.x) {\r\n awayX = this.borderLimit + globalViewport.x - this._positionX;\r\n } else if (this._positionX > globalViewport.x + globalViewport.width - this.borderLimit) {\r\n awayX = this._positionX - globalViewport.x - globalViewport.width + this.borderLimit;\r\n } else {\r\n awayX = 0;\r\n }\r\n\r\n if (this._positionY < this.borderLimit + globalViewport.y) {\r\n awayY = this.borderLimit + globalViewport.y - this._positionY;\r\n } else if (this._positionY > globalViewport.y + globalViewport.height - this.borderLimit) {\r\n awayY = this._positionY - globalViewport.y - globalViewport.height + this.borderLimit;\r\n } else {\r\n awayY = 0;\r\n }\r\n\r\n let away = awayX > awayY ? awayX : awayY;\r\n\r\n away -= this.viewportBorder;\r\n\r\n if (away > this.borderLimit) {\r\n away = this.borderLimit;\r\n }\r\n\r\n let intensity = 1.0 - Clamp(away / this.borderLimit, 0, 1);\r\n if (intensity < 0) {\r\n return false;\r\n }\r\n\r\n if (intensity > 1.0) {\r\n intensity = 1.0;\r\n }\r\n\r\n if (this.viewportBorder > 0) {\r\n globalViewport.x += this.viewportBorder;\r\n globalViewport.y += this.viewportBorder;\r\n globalViewport.width -= this.viewportBorder * 2;\r\n globalViewport.height -= this.viewportBorder * 2;\r\n this._positionX -= this.viewportBorder;\r\n this._positionY -= this.viewportBorder;\r\n }\r\n\r\n // Position\r\n const centerX = globalViewport.x + globalViewport.width / 2;\r\n const centerY = globalViewport.y + globalViewport.height / 2;\r\n const distX = centerX - this._positionX;\r\n const distY = centerY - this._positionY;\r\n\r\n // Effects\r\n engine.setState(false);\r\n engine.setDepthBuffer(false);\r\n\r\n // Flares\r\n for (let index = 0; index < this.lensFlares.length; index++) {\r\n const flare = this.lensFlares[index];\r\n\r\n if (!flare._drawWrapper.effect!.isReady() || (flare.texture && !flare.texture.isReady())) {\r\n continue;\r\n }\r\n\r\n engine.enableEffect(flare._drawWrapper);\r\n engine.bindBuffers(this._vertexBuffers, this._indexBuffer, flare._drawWrapper.effect!);\r\n\r\n engine.setAlphaMode(flare.alphaMode);\r\n\r\n const x = centerX - distX * flare.position;\r\n const y = centerY - distY * flare.position;\r\n\r\n const cw = flare.size;\r\n const ch = flare.size * engine.getAspectRatio(this._scene.activeCamera, true);\r\n const cx = 2 * ((x - globalViewport.x) / globalViewport.width) - 1.0;\r\n const cy = 1.0 - 2 * ((y - globalViewport.y) / globalViewport.height);\r\n\r\n const viewportMatrix = Matrix.FromValues(cw / 2, 0, 0, 0, 0, ch / 2, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1);\r\n\r\n flare._drawWrapper.effect!.setMatrix(\"viewportMatrix\", viewportMatrix);\r\n\r\n // Texture\r\n flare._drawWrapper.effect!.setTexture(\"textureSampler\", flare.texture);\r\n\r\n // Color\r\n flare._drawWrapper.effect!.setFloat4(\"color\", flare.color.r * intensity, flare.color.g * intensity, flare.color.b * intensity, 1.0);\r\n\r\n // Draw order\r\n engine.drawElementsType(Material.TriangleFillMode, 0, 6);\r\n }\r\n\r\n engine.setDepthBuffer(true);\r\n engine.setAlphaMode(Constants.ALPHA_DISABLE);\r\n return true;\r\n }\r\n\r\n /**\r\n * Rebuilds the lens flare system\r\n */\r\n public rebuild(): void {\r\n this._createIndexBuffer();\r\n\r\n for (const key in this._vertexBuffers) {\r\n this._vertexBuffers[key]?._rebuild();\r\n }\r\n }\r\n\r\n /**\r\n * Dispose and release the lens flare with its associated resources.\r\n */\r\n public dispose(): void {\r\n this._onShadersLoaded.clear();\r\n const vertexBuffer = this._vertexBuffers[VertexBuffer.PositionKind];\r\n if (vertexBuffer) {\r\n vertexBuffer.dispose();\r\n this._vertexBuffers[VertexBuffer.PositionKind] = null;\r\n }\r\n\r\n if (this._indexBuffer) {\r\n this._scene.getEngine()._releaseBuffer(this._indexBuffer);\r\n this._indexBuffer = null;\r\n }\r\n\r\n while (this.lensFlares.length) {\r\n this.lensFlares[0].dispose();\r\n }\r\n\r\n // Remove from scene\r\n const index = this._scene.lensFlareSystems.indexOf(this);\r\n this._scene.lensFlareSystems.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Parse a lens flare system from a JSON representation\r\n * @param parsedLensFlareSystem Define the JSON to parse\r\n * @param scene Define the scene the parsed system should be instantiated in\r\n * @param rootUrl Define the rootUrl of the load sequence to easily find a load relative dependencies such as textures\r\n * @returns the parsed system\r\n */\r\n public static Parse(parsedLensFlareSystem: any, scene: Scene, rootUrl: string): LensFlareSystem {\r\n const emitter = scene.getLastEntryById(parsedLensFlareSystem.emitterId);\r\n\r\n const name = parsedLensFlareSystem.name || \"lensFlareSystem#\" + parsedLensFlareSystem.emitterId;\r\n\r\n const lensFlareSystem = new LensFlareSystem(name, emitter, scene);\r\n\r\n lensFlareSystem.id = parsedLensFlareSystem.id || name;\r\n lensFlareSystem.borderLimit = parsedLensFlareSystem.borderLimit;\r\n\r\n for (let index = 0; index < parsedLensFlareSystem.flares.length; index++) {\r\n const parsedFlare = parsedLensFlareSystem.flares[index];\r\n LensFlare.AddFlare(\r\n parsedFlare.size,\r\n parsedFlare.position,\r\n Color3.FromArray(parsedFlare.color),\r\n parsedFlare.textureName ? rootUrl + parsedFlare.textureName : \"\",\r\n lensFlareSystem\r\n );\r\n }\r\n\r\n return lensFlareSystem;\r\n }\r\n\r\n /**\r\n * Serialize the current Lens Flare System into a JSON representation.\r\n * @returns the serialized JSON\r\n */\r\n public serialize(): any {\r\n const serializationObject: any = {};\r\n\r\n serializationObject.id = this.id;\r\n serializationObject.name = this.name;\r\n\r\n serializationObject.emitterId = this.getEmitter().id;\r\n serializationObject.borderLimit = this.borderLimit;\r\n\r\n serializationObject.flares = [];\r\n for (let index = 0; index < this.lensFlares.length; index++) {\r\n const flare = this.lensFlares[index];\r\n\r\n serializationObject.flares.push({\r\n size: flare.size,\r\n position: flare.position,\r\n color: flare.color.asArray(),\r\n textureName: Tools.GetFilename(flare.texture ? flare.texture.name : \"\"),\r\n });\r\n }\r\n\r\n return serializationObject;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"lensFlareSystem.js","sourceRoot":"","sources":["../../../../dev/core/src/LensFlares/lensFlareSystem.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from \"../Misc/tools.pure\";\r\nimport { type Nullable } from \"../types\";\r\nimport { type Scene } from \"../scene\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector.pure\";\r\nimport { Clamp } from \"../Maths/math.scalar.functions\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { type AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { VertexBuffer } from \"../Buffers/buffer.pure\";\r\nimport { Ray } from \"../Culling/ray.pure\";\r\nimport { Material } from \"../Materials/material.pure\";\r\nimport { LensFlare } from \"./lensFlare\";\r\nimport { Constants } from \"../Engines/constants\";\r\n\r\nimport { _WarnImport } from \"../Misc/devTools\";\r\nimport { type DataBuffer } from \"../Buffers/dataBuffer\";\r\nimport { Color3 } from \"../Maths/math.color.pure\";\r\nimport { type Viewport } from \"../Maths/math.viewport\";\r\nimport { ShaderLanguage } from \"core/Materials/shaderLanguage\";\r\nimport { Observable } from \"core/Misc/observable\";\r\nimport { RegisterLensFlareSystemSceneComponent } from \"./lensFlareSystemSceneComponent.pure\";\r\n\r\n/**\r\n * This represents a Lens Flare System or the shiny effect created by the light reflection on the camera lenses.\r\n * It is usually composed of several `lensFlare`.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n */\r\nexport class LensFlareSystem {\r\n /**\r\n * Force all the lens flare systems to compile to glsl even on WebGPU engines.\r\n * False by default. This is mostly meant for backward compatibility.\r\n */\r\n public static ForceGLSL = false;\r\n\r\n /**\r\n * List of lens flares used in this system.\r\n */\r\n public lensFlares: LensFlare[] = [];\r\n\r\n /**\r\n * Define a limit from the border the lens flare can be visible.\r\n */\r\n public borderLimit = 300;\r\n\r\n /**\r\n * Define a viewport border we do not want to see the lens flare in.\r\n */\r\n public viewportBorder = 0;\r\n\r\n /**\r\n * Define a predicate which could limit the list of meshes able to occlude the effect.\r\n */\r\n public meshesSelectionPredicate: (mesh: AbstractMesh) => boolean;\r\n\r\n /**\r\n * Restricts the rendering of the effect to only the camera rendering this layer mask.\r\n */\r\n public layerMask: number = 0x0fffffff;\r\n\r\n /** Gets the scene */\r\n public get scene() {\r\n return this._scene;\r\n }\r\n\r\n /** Shader language used by the system */\r\n protected _shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n /**\r\n * Gets the shader language used in this system.\r\n */\r\n public get shaderLanguage(): ShaderLanguage {\r\n return this._shaderLanguage;\r\n }\r\n\r\n /**\r\n * Define the id of the lens flare system in the scene.\r\n * (equal to name by default)\r\n */\r\n public id: string;\r\n\r\n private _scene: Scene;\r\n private _emitter: any;\r\n private _vertexBuffers: { [key: string]: Nullable<VertexBuffer> } = {};\r\n private _indexBuffer: Nullable<DataBuffer>;\r\n private _positionX: number;\r\n private _positionY: number;\r\n private _isEnabled = true;\r\n\r\n /**\r\n * @internal\r\n */\r\n public static _SceneComponentInitialization: (scene: Scene) => void = (_) => {\r\n throw _WarnImport(\"LensFlareSystemSceneComponent\");\r\n };\r\n\r\n /**\r\n * Instantiates a lens flare system.\r\n * This represents a Lens Flare System or the shiny effect created by the light reflection on the camera lenses.\r\n * It is usually composed of several `lensFlare`.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare\r\n * @param name Define the name of the lens flare system in the scene\r\n * @param emitter Define the source (the emitter) of the lens flares (it can be a camera, a light or a mesh).\r\n * @param scene Define the scene the lens flare system belongs to\r\n */\r\n constructor(\r\n /**\r\n * Define the name of the lens flare system\r\n */\r\n public name: string,\r\n emitter: any,\r\n scene: Scene\r\n ) {\r\n this._scene = scene || EngineStore.LastCreatedScene;\r\n this.layerMask = this._scene.defaultRenderableLayerMask;\r\n\r\n RegisterLensFlareSystemSceneComponent(LensFlareSystem);\r\n LensFlareSystem._SceneComponentInitialization(this._scene);\r\n\r\n this._emitter = emitter;\r\n this.id = name;\r\n scene.lensFlareSystems.push(this);\r\n\r\n this.meshesSelectionPredicate = (m) =>\r\n <boolean>(scene.activeCamera && m.material && m.isVisible && m.isEnabled() && m.isBlocker && (m.layerMask & scene.activeCamera.layerMask) != 0);\r\n\r\n const engine = scene.getEngine();\r\n\r\n // VBO\r\n const vertices = [];\r\n vertices.push(1, 1);\r\n vertices.push(-1, 1);\r\n vertices.push(-1, -1);\r\n vertices.push(1, -1);\r\n\r\n this._vertexBuffers[VertexBuffer.PositionKind] = new VertexBuffer(engine, vertices, VertexBuffer.PositionKind, false, false, 2);\r\n\r\n // Indices\r\n this._createIndexBuffer();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._initShaderSourceAsync();\r\n }\r\n\r\n /** @internal */\r\n public _onShadersLoaded = new Observable<void>(undefined, true);\r\n\r\n private _shadersLoaded = false;\r\n\r\n protected async _initShaderSourceAsync() {\r\n const engine = this._scene.getEngine();\r\n\r\n if (engine.isWebGPU && !LensFlareSystem.ForceGLSL) {\r\n this._shaderLanguage = ShaderLanguage.WGSL;\r\n\r\n await Promise.all([import(\"../ShadersWGSL/lensFlare.fragment\"), import(\"../ShadersWGSL/lensFlare.vertex\")]);\r\n } else {\r\n await Promise.all([import(\"../Shaders/lensFlare.fragment\"), import(\"../Shaders/lensFlare.vertex\")]);\r\n }\r\n\r\n this._shadersLoaded = true;\r\n this._onShadersLoaded.notifyObservers();\r\n }\r\n\r\n private _createIndexBuffer(): void {\r\n const indices = [];\r\n indices.push(0);\r\n indices.push(1);\r\n indices.push(2);\r\n\r\n indices.push(0);\r\n indices.push(2);\r\n indices.push(3);\r\n\r\n this._indexBuffer = this._scene.getEngine().createIndexBuffer(indices);\r\n }\r\n\r\n /**\r\n * Define if the lens flare system is enabled.\r\n */\r\n public get isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n\r\n public set isEnabled(value: boolean) {\r\n this._isEnabled = value;\r\n }\r\n\r\n /**\r\n * Get the scene the effects belongs to.\r\n * @returns the scene holding the lens flare system\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Get the emitter of the lens flare system.\r\n * It defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @returns the emitter of the lens flare system\r\n */\r\n public getEmitter(): any {\r\n return this._emitter;\r\n }\r\n\r\n /**\r\n * Set the emitter of the lens flare system.\r\n * It defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @param newEmitter Define the new emitter of the system\r\n */\r\n public setEmitter(newEmitter: any): void {\r\n this._emitter = newEmitter;\r\n }\r\n\r\n /**\r\n * Get the lens flare system emitter position.\r\n * The emitter defines the source of the lens flares (it can be a camera, a light or a mesh).\r\n * @returns the position\r\n */\r\n public getEmitterPosition(): Vector3 {\r\n return this._emitter.getAbsolutePosition ? this._emitter.getAbsolutePosition() : this._emitter.position;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public computeEffectivePosition(globalViewport: Viewport): boolean {\r\n let position = this.getEmitterPosition();\r\n\r\n position = Vector3.Project(position, Matrix.Identity(), this._scene.getTransformMatrix(), globalViewport);\r\n\r\n this._positionX = position.x;\r\n this._positionY = position.y;\r\n\r\n position = Vector3.TransformCoordinates(this.getEmitterPosition(), this._scene.getViewMatrix());\r\n\r\n if (this.viewportBorder > 0) {\r\n globalViewport.x -= this.viewportBorder;\r\n globalViewport.y -= this.viewportBorder;\r\n globalViewport.width += this.viewportBorder * 2;\r\n globalViewport.height += this.viewportBorder * 2;\r\n position.x += this.viewportBorder;\r\n position.y += this.viewportBorder;\r\n this._positionX += this.viewportBorder;\r\n this._positionY += this.viewportBorder;\r\n }\r\n\r\n const rhs = this._scene.useRightHandedSystem;\r\n const okZ = (position.z > 0 && !rhs) || (position.z < 0 && rhs);\r\n\r\n if (okZ) {\r\n if (this._positionX > globalViewport.x && this._positionX < globalViewport.x + globalViewport.width) {\r\n if (this._positionY > globalViewport.y && this._positionY < globalViewport.y + globalViewport.height) {\r\n return true;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public _isVisible(): boolean {\r\n if (!this._isEnabled || !this._scene.activeCamera) {\r\n return false;\r\n }\r\n\r\n const emitterPosition = this.getEmitterPosition();\r\n const direction = emitterPosition.subtract(this._scene.activeCamera.globalPosition);\r\n const distance = direction.length();\r\n direction.normalize();\r\n\r\n const ray = new Ray(this._scene.activeCamera.globalPosition, direction);\r\n const pickInfo = this._scene.pickWithRay(ray, this.meshesSelectionPredicate, true);\r\n\r\n return !pickInfo || !pickInfo.hit || pickInfo.distance > distance;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public render(): boolean {\r\n if (!this._scene.activeCamera || !this._shadersLoaded) {\r\n return false;\r\n }\r\n\r\n const engine = this._scene.getEngine();\r\n const viewport = this._scene.activeCamera.viewport;\r\n const globalViewport = viewport.toGlobal(engine.getRenderWidth(true), engine.getRenderHeight(true));\r\n\r\n // Position\r\n if (!this.computeEffectivePosition(globalViewport)) {\r\n return false;\r\n }\r\n\r\n // Visibility\r\n if (!this._isVisible()) {\r\n return false;\r\n }\r\n\r\n // Intensity\r\n let awayX;\r\n let awayY;\r\n\r\n if (this._positionX < this.borderLimit + globalViewport.x) {\r\n awayX = this.borderLimit + globalViewport.x - this._positionX;\r\n } else if (this._positionX > globalViewport.x + globalViewport.width - this.borderLimit) {\r\n awayX = this._positionX - globalViewport.x - globalViewport.width + this.borderLimit;\r\n } else {\r\n awayX = 0;\r\n }\r\n\r\n if (this._positionY < this.borderLimit + globalViewport.y) {\r\n awayY = this.borderLimit + globalViewport.y - this._positionY;\r\n } else if (this._positionY > globalViewport.y + globalViewport.height - this.borderLimit) {\r\n awayY = this._positionY - globalViewport.y - globalViewport.height + this.borderLimit;\r\n } else {\r\n awayY = 0;\r\n }\r\n\r\n let away = awayX > awayY ? awayX : awayY;\r\n\r\n away -= this.viewportBorder;\r\n\r\n if (away > this.borderLimit) {\r\n away = this.borderLimit;\r\n }\r\n\r\n let intensity = 1.0 - Clamp(away / this.borderLimit, 0, 1);\r\n if (intensity < 0) {\r\n return false;\r\n }\r\n\r\n if (intensity > 1.0) {\r\n intensity = 1.0;\r\n }\r\n\r\n if (this.viewportBorder > 0) {\r\n globalViewport.x += this.viewportBorder;\r\n globalViewport.y += this.viewportBorder;\r\n globalViewport.width -= this.viewportBorder * 2;\r\n globalViewport.height -= this.viewportBorder * 2;\r\n this._positionX -= this.viewportBorder;\r\n this._positionY -= this.viewportBorder;\r\n }\r\n\r\n // Position\r\n const centerX = globalViewport.x + globalViewport.width / 2;\r\n const centerY = globalViewport.y + globalViewport.height / 2;\r\n const distX = centerX - this._positionX;\r\n const distY = centerY - this._positionY;\r\n\r\n // Effects\r\n engine.setState(false);\r\n engine.setDepthBuffer(false);\r\n\r\n // Flares\r\n for (let index = 0; index < this.lensFlares.length; index++) {\r\n const flare = this.lensFlares[index];\r\n\r\n if (!flare._drawWrapper.effect!.isReady() || (flare.texture && !flare.texture.isReady())) {\r\n continue;\r\n }\r\n\r\n engine.enableEffect(flare._drawWrapper);\r\n engine.bindBuffers(this._vertexBuffers, this._indexBuffer, flare._drawWrapper.effect!);\r\n\r\n engine.setAlphaMode(flare.alphaMode);\r\n\r\n const x = centerX - distX * flare.position;\r\n const y = centerY - distY * flare.position;\r\n\r\n const cw = flare.size;\r\n const ch = flare.size * engine.getAspectRatio(this._scene.activeCamera, true);\r\n const cx = 2 * ((x - globalViewport.x) / globalViewport.width) - 1.0;\r\n const cy = 1.0 - 2 * ((y - globalViewport.y) / globalViewport.height);\r\n\r\n const viewportMatrix = Matrix.FromValues(cw / 2, 0, 0, 0, 0, ch / 2, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1);\r\n\r\n flare._drawWrapper.effect!.setMatrix(\"viewportMatrix\", viewportMatrix);\r\n\r\n // Texture\r\n flare._drawWrapper.effect!.setTexture(\"textureSampler\", flare.texture);\r\n\r\n // Color\r\n flare._drawWrapper.effect!.setFloat4(\"color\", flare.color.r * intensity, flare.color.g * intensity, flare.color.b * intensity, 1.0);\r\n\r\n // Draw order\r\n engine.drawElementsType(Material.TriangleFillMode, 0, 6);\r\n }\r\n\r\n engine.setDepthBuffer(true);\r\n engine.setAlphaMode(Constants.ALPHA_DISABLE);\r\n return true;\r\n }\r\n\r\n /**\r\n * Rebuilds the lens flare system\r\n */\r\n public rebuild(): void {\r\n this._createIndexBuffer();\r\n\r\n for (const key in this._vertexBuffers) {\r\n this._vertexBuffers[key]?._rebuild();\r\n }\r\n }\r\n\r\n /**\r\n * Dispose and release the lens flare with its associated resources.\r\n */\r\n public dispose(): void {\r\n this._onShadersLoaded.clear();\r\n const vertexBuffer = this._vertexBuffers[VertexBuffer.PositionKind];\r\n if (vertexBuffer) {\r\n vertexBuffer.dispose();\r\n this._vertexBuffers[VertexBuffer.PositionKind] = null;\r\n }\r\n\r\n if (this._indexBuffer) {\r\n this._scene.getEngine()._releaseBuffer(this._indexBuffer);\r\n this._indexBuffer = null;\r\n }\r\n\r\n while (this.lensFlares.length) {\r\n this.lensFlares[0].dispose();\r\n }\r\n\r\n // Remove from scene\r\n const index = this._scene.lensFlareSystems.indexOf(this);\r\n this._scene.lensFlareSystems.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Parse a lens flare system from a JSON representation\r\n * @param parsedLensFlareSystem Define the JSON to parse\r\n * @param scene Define the scene the parsed system should be instantiated in\r\n * @param rootUrl Define the rootUrl of the load sequence to easily find a load relative dependencies such as textures\r\n * @returns the parsed system\r\n */\r\n public static Parse(parsedLensFlareSystem: any, scene: Scene, rootUrl: string): LensFlareSystem {\r\n const emitter = scene.getLastEntryById(parsedLensFlareSystem.emitterId);\r\n\r\n const name = parsedLensFlareSystem.name || \"lensFlareSystem#\" + parsedLensFlareSystem.emitterId;\r\n\r\n const lensFlareSystem = new LensFlareSystem(name, emitter, scene);\r\n\r\n lensFlareSystem.id = parsedLensFlareSystem.id || name;\r\n lensFlareSystem.borderLimit = parsedLensFlareSystem.borderLimit;\r\n\r\n for (let index = 0; index < parsedLensFlareSystem.flares.length; index++) {\r\n const parsedFlare = parsedLensFlareSystem.flares[index];\r\n LensFlare.AddFlare(\r\n parsedFlare.size,\r\n parsedFlare.position,\r\n Color3.FromArray(parsedFlare.color),\r\n parsedFlare.textureName ? rootUrl + parsedFlare.textureName : \"\",\r\n lensFlareSystem\r\n );\r\n }\r\n\r\n return lensFlareSystem;\r\n }\r\n\r\n /**\r\n * Serialize the current Lens Flare System into a JSON representation.\r\n * @returns the serialized JSON\r\n */\r\n public serialize(): any {\r\n const serializationObject: any = {};\r\n\r\n serializationObject.id = this.id;\r\n serializationObject.name = this.name;\r\n\r\n serializationObject.emitterId = this.getEmitter().id;\r\n serializationObject.borderLimit = this.borderLimit;\r\n\r\n serializationObject.flares = [];\r\n for (let index = 0; index < this.lensFlares.length; index++) {\r\n const flare = this.lensFlares[index];\r\n\r\n serializationObject.flares.push({\r\n size: flare.size,\r\n position: flare.position,\r\n color: flare.color.asArray(),\r\n textureName: Tools.GetFilename(flare.texture ? flare.texture.name : \"\"),\r\n });\r\n }\r\n\r\n return serializationObject;\r\n }\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- import { Tools } from "../../Misc/tools.js";
1
+ import { Tools } from "../../Misc/tools.pure.js";
2
2
  /**
3
3
  * Loads LTC texture data from Babylon.js CDN.
4
4
  * @returns Promise with data for LTC1 and LTC2 textures for area lights.
@@ -1 +1 @@
1
- {"version":3,"file":"ltcTextureTool.js","sourceRoot":"","sources":["../../../../../dev/core/src/Lights/LTC/ltcTextureTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAkBxC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC3C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAC5H,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC","sourcesContent":["import { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Tools } from \"core/Misc/tools\";\r\nimport { type Tuple } from \"core/types\";\r\n\r\n/**\r\n * Linearly transformed cosine textures that are used in the Area Lights shaders.\r\n */\r\nexport type ILTCTextures = {\r\n /**\r\n * Linearly transformed cosine texture BRDF Approximation.\r\n */\r\n LTC1: BaseTexture;\r\n\r\n /**\r\n * Linearly transformed cosine texture Fresnel Approximation.\r\n */\r\n LTC2: BaseTexture;\r\n};\r\n\r\n/**\r\n * Loads LTC texture data from Babylon.js CDN.\r\n * @returns Promise with data for LTC1 and LTC2 textures for area lights.\r\n */\r\nexport async function DecodeLTCTextureDataAsync(): Promise<Tuple<Uint16Array, 2>> {\r\n const ltc1 = new Uint16Array(64 * 64 * 4);\r\n const ltc2 = new Uint16Array(64 * 64 * 4);\r\n const file = await Tools.LoadFileAsync(Tools.GetAssetUrl(\"https://assets.babylonjs.com/core/areaLights/areaLightsLTC.bin\"));\r\n const ltcEncoded = new Uint16Array(file);\r\n\r\n const pixelCount = ltcEncoded.length / 8;\r\n\r\n for (let pixelIndex = 0; pixelIndex < pixelCount; pixelIndex++) {\r\n ltc1[pixelIndex * 4] = ltcEncoded[pixelIndex * 8];\r\n ltc1[pixelIndex * 4 + 1] = ltcEncoded[pixelIndex * 8 + 1];\r\n ltc1[pixelIndex * 4 + 2] = ltcEncoded[pixelIndex * 8 + 2];\r\n ltc1[pixelIndex * 4 + 3] = ltcEncoded[pixelIndex * 8 + 3];\r\n\r\n ltc2[pixelIndex * 4] = ltcEncoded[pixelIndex * 8 + 4];\r\n ltc2[pixelIndex * 4 + 1] = ltcEncoded[pixelIndex * 8 + 5];\r\n ltc2[pixelIndex * 4 + 2] = ltcEncoded[pixelIndex * 8 + 6];\r\n ltc2[pixelIndex * 4 + 3] = ltcEncoded[pixelIndex * 8 + 7];\r\n }\r\n\r\n return [ltc1, ltc2];\r\n}\r\n"]}
1
+ {"version":3,"file":"ltcTextureTool.js","sourceRoot":"","sources":["../../../../../dev/core/src/Lights/LTC/ltcTextureTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkB7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC3C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAC5H,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC","sourcesContent":["import { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Tools } from \"core/Misc/tools.pure\";\r\nimport { type Tuple } from \"core/types\";\r\n\r\n/**\r\n * Linearly transformed cosine textures that are used in the Area Lights shaders.\r\n */\r\nexport type ILTCTextures = {\r\n /**\r\n * Linearly transformed cosine texture BRDF Approximation.\r\n */\r\n LTC1: BaseTexture;\r\n\r\n /**\r\n * Linearly transformed cosine texture Fresnel Approximation.\r\n */\r\n LTC2: BaseTexture;\r\n};\r\n\r\n/**\r\n * Loads LTC texture data from Babylon.js CDN.\r\n * @returns Promise with data for LTC1 and LTC2 textures for area lights.\r\n */\r\nexport async function DecodeLTCTextureDataAsync(): Promise<Tuple<Uint16Array, 2>> {\r\n const ltc1 = new Uint16Array(64 * 64 * 4);\r\n const ltc2 = new Uint16Array(64 * 64 * 4);\r\n const file = await Tools.LoadFileAsync(Tools.GetAssetUrl(\"https://assets.babylonjs.com/core/areaLights/areaLightsLTC.bin\"));\r\n const ltcEncoded = new Uint16Array(file);\r\n\r\n const pixelCount = ltcEncoded.length / 8;\r\n\r\n for (let pixelIndex = 0; pixelIndex < pixelCount; pixelIndex++) {\r\n ltc1[pixelIndex * 4] = ltcEncoded[pixelIndex * 8];\r\n ltc1[pixelIndex * 4 + 1] = ltcEncoded[pixelIndex * 8 + 1];\r\n ltc1[pixelIndex * 4 + 2] = ltcEncoded[pixelIndex * 8 + 2];\r\n ltc1[pixelIndex * 4 + 3] = ltcEncoded[pixelIndex * 8 + 3];\r\n\r\n ltc2[pixelIndex * 4] = ltcEncoded[pixelIndex * 8 + 4];\r\n ltc2[pixelIndex * 4 + 1] = ltcEncoded[pixelIndex * 8 + 5];\r\n ltc2[pixelIndex * 4 + 2] = ltcEncoded[pixelIndex * 8 + 6];\r\n ltc2[pixelIndex * 4 + 3] = ltcEncoded[pixelIndex * 8 + 7];\r\n }\r\n\r\n return [ltc1, ltc2];\r\n}\r\n"]}
@@ -1,285 +1 @@
1
- import { type Nullable } from "../../types.js";
2
- import { type Scene } from "../../scene.js";
3
- import { Matrix, Vector3 } from "../../Maths/math.vector.js";
4
- import { type SubMesh } from "../../Meshes/subMesh.js";
5
- import { type Effect } from "../../Materials/effect.js";
6
- import { ShadowGenerator } from "./shadowGenerator.js";
7
- import { type DirectionalLight } from "../directionalLight.js";
8
- import { BoundingInfo } from "../../Culling/boundingInfo.js";
9
- import { type DepthRenderer } from "../../Rendering/depthRenderer.js";
10
- import { type Camera } from "../../Cameras/camera.js";
11
- /**
12
- * A CSM implementation allowing casting shadows on large scenes.
13
- * Documentation : https://doc.babylonjs.com/babylon101/cascadedShadows
14
- * Based on: https://github.com/TheRealMJP/Shadows and https://johanmedestrom.wordpress.com/2016/03/18/opengl-cascaded-shadow-maps/
15
- */
16
- export declare class CascadedShadowGenerator extends ShadowGenerator {
17
- private static readonly _FrustumCornersNdcSpace;
18
- /**
19
- * Name of the CSM class
20
- */
21
- static CLASSNAME: string;
22
- /**
23
- * Defines the default number of cascades used by the CSM.
24
- */
25
- static readonly DEFAULT_CASCADES_COUNT = 4;
26
- /**
27
- * Defines the minimum number of cascades used by the CSM.
28
- */
29
- static MIN_CASCADES_COUNT: number;
30
- /**
31
- * Defines the maximum number of cascades used by the CSM.
32
- */
33
- static MAX_CASCADES_COUNT: number;
34
- protected _validateFilter(filter: number): number;
35
- /**
36
- * Gets or sets the actual darkness of the soft shadows while using PCSS filtering (value between 0. and 1.)
37
- */
38
- penumbraDarkness: number;
39
- private _numCascades;
40
- /**
41
- * Gets or set the number of cascades used by the CSM.
42
- */
43
- get numCascades(): number;
44
- set numCascades(value: number);
45
- /**
46
- * Sets this to true if you want that the edges of the shadows don't "swimm" / "shimmer" when rotating the camera.
47
- * The trade off is that you lose some precision in the shadow rendering when enabling this setting.
48
- */
49
- stabilizeCascades: boolean;
50
- private _freezeShadowCastersBoundingInfo;
51
- private _freezeShadowCastersBoundingInfoObservable;
52
- /**
53
- * Enables or disables the shadow casters bounding info computation.
54
- * If your shadow casters don't move, you can disable this feature.
55
- * If it is enabled, the bounding box computation is done every frame.
56
- */
57
- get freezeShadowCastersBoundingInfo(): boolean;
58
- set freezeShadowCastersBoundingInfo(freeze: boolean);
59
- private _scbiMin;
60
- private _scbiMax;
61
- protected _computeShadowCastersBoundingInfo(): void;
62
- protected _shadowCastersBoundingInfo: BoundingInfo;
63
- /**
64
- * Gets or sets the shadow casters bounding info.
65
- * If you provide your own shadow casters bounding info, first enable freezeShadowCastersBoundingInfo
66
- * so that the system won't overwrite the bounds you provide
67
- */
68
- get shadowCastersBoundingInfo(): BoundingInfo;
69
- set shadowCastersBoundingInfo(boundingInfo: BoundingInfo);
70
- protected _breaksAreDirty: boolean;
71
- protected _minDistance: number;
72
- protected _maxDistance: number;
73
- /**
74
- * Sets the minimal and maximal distances to use when computing the cascade breaks.
75
- *
76
- * The values of min / max are typically the depth zmin and zmax values of your scene, for a given frame.
77
- * If you don't know these values, simply leave them to their defaults and don't call this function.
78
- * @param min minimal distance for the breaks (default to 0.)
79
- * @param max maximal distance for the breaks (default to 1.)
80
- */
81
- setMinMaxDistance(min: number, max: number): void;
82
- /** Gets the minimal distance used in the cascade break computation */
83
- get minDistance(): number;
84
- /** Gets the maximal distance used in the cascade break computation */
85
- get maxDistance(): number;
86
- /**
87
- * Gets the class name of that object
88
- * @returns "CascadedShadowGenerator"
89
- */
90
- getClassName(): string;
91
- private _cascadeMinExtents;
92
- private _cascadeMaxExtents;
93
- /**
94
- * Gets a cascade minimum extents
95
- * @param cascadeIndex index of the cascade
96
- * @returns the minimum cascade extents
97
- */
98
- getCascadeMinExtents(cascadeIndex: number): Nullable<Vector3>;
99
- /**
100
- * Gets a cascade maximum extents
101
- * @param cascadeIndex index of the cascade
102
- * @returns the maximum cascade extents
103
- */
104
- getCascadeMaxExtents(cascadeIndex: number): Nullable<Vector3>;
105
- private _cascades;
106
- private _currentLayer;
107
- private _viewSpaceFrustumsZ;
108
- private _viewMatrices;
109
- private _projectionMatrices;
110
- private _transformMatrices;
111
- private _transformMatricesAsArray;
112
- private _tempTransformMatricesAsArray;
113
- private _frustumLengths;
114
- private _lightSizeUVCorrection;
115
- private _depthCorrection;
116
- private _frustumCornersWorldSpace;
117
- private _frustumCenter;
118
- private _shadowCameraPos;
119
- private _shadowMaxZ;
120
- /**
121
- * Gets the shadow max z distance. It's the limit beyond which shadows are not displayed.
122
- * It defaults to camera.maxZ
123
- */
124
- get shadowMaxZ(): number;
125
- /**
126
- * Sets the shadow max z distance.
127
- */
128
- set shadowMaxZ(value: number);
129
- protected _debug: boolean;
130
- /**
131
- * Gets or sets the debug flag.
132
- * When enabled, the cascades are materialized by different colors on the screen.
133
- */
134
- get debug(): boolean;
135
- set debug(dbg: boolean);
136
- private _depthClamp;
137
- /**
138
- * Gets or sets the depth clamping value.
139
- *
140
- * When enabled, it improves the shadow quality because the near z plane of the light frustum don't need to be adjusted
141
- * to account for the shadow casters far away.
142
- *
143
- * Note that this property is incompatible with PCSS filtering, so it won't be used in that case.
144
- */
145
- get depthClamp(): boolean;
146
- set depthClamp(value: boolean);
147
- private _cascadeBlendPercentage;
148
- /**
149
- * Gets or sets the percentage of blending between two cascades (value between 0. and 1.).
150
- * It defaults to 0.1 (10% blending).
151
- */
152
- get cascadeBlendPercentage(): number;
153
- set cascadeBlendPercentage(value: number);
154
- private _lambda;
155
- /**
156
- * Gets or set the lambda parameter.
157
- * This parameter is used to split the camera frustum and create the cascades.
158
- * It's a value between 0. and 1.: If 0, the split is a uniform split of the frustum, if 1 it is a logarithmic split.
159
- * For all values in-between, it's a linear combination of the uniform and logarithm split algorithm.
160
- */
161
- get lambda(): number;
162
- set lambda(value: number);
163
- /**
164
- * Gets the view matrix corresponding to a given cascade
165
- * @param cascadeNum cascade to retrieve the view matrix from
166
- * @returns the cascade view matrix
167
- */
168
- getCascadeViewMatrix(cascadeNum: number): Nullable<Matrix>;
169
- /**
170
- * Gets the projection matrix corresponding to a given cascade
171
- * @param cascadeNum cascade to retrieve the projection matrix from
172
- * @returns the cascade projection matrix
173
- */
174
- getCascadeProjectionMatrix(cascadeNum: number): Nullable<Matrix>;
175
- /**
176
- * Gets the transformation matrix corresponding to a given cascade
177
- * @param cascadeNum cascade to retrieve the transformation matrix from
178
- * @returns the cascade transformation matrix
179
- */
180
- getCascadeTransformMatrix(cascadeNum: number): Nullable<Matrix>;
181
- private _depthRenderer;
182
- /**
183
- * Sets the depth renderer to use when autoCalcDepthBounds is enabled.
184
- *
185
- * Note that if no depth renderer is set, a new one will be automatically created internally when necessary.
186
- *
187
- * You should call this function if you already have a depth renderer enabled in your scene, to avoid
188
- * doing multiple depth rendering each frame. If you provide your own depth renderer, make sure it stores linear depth!
189
- * @param depthRenderer The depth renderer to use when autoCalcDepthBounds is enabled. If you pass null or don't call this function at all, a depth renderer will be automatically created
190
- */
191
- setDepthRenderer(depthRenderer: Nullable<DepthRenderer>): void;
192
- private _depthReducer;
193
- private _autoCalcDepthBounds;
194
- /**
195
- * Gets or sets the autoCalcDepthBounds property.
196
- *
197
- * When enabled, a depth rendering pass is first performed (with an internally created depth renderer or with the one
198
- * you provide by calling setDepthRenderer). Then, a min/max reducing is applied on the depth map to compute the
199
- * minimal and maximal depth of the map and those values are used as inputs for the setMinMaxDistance() function.
200
- * It can greatly enhance the shadow quality, at the expense of more GPU works.
201
- * When using this option, you should increase the value of the lambda parameter, and even set it to 1 for best results.
202
- */
203
- get autoCalcDepthBounds(): boolean;
204
- set autoCalcDepthBounds(value: boolean);
205
- /**
206
- * Defines the refresh rate of the min/max computation used when autoCalcDepthBounds is set to true
207
- * Use 0 to compute just once, 1 to compute on every frame, 2 to compute every two frames and so on...
208
- * Note that if you provided your own depth renderer through a call to setDepthRenderer, you are responsible
209
- * for setting the refresh rate on the renderer yourself!
210
- */
211
- get autoCalcDepthBoundsRefreshRate(): number;
212
- set autoCalcDepthBoundsRefreshRate(value: number);
213
- /**
214
- * Create the cascade breaks according to the lambda, shadowMaxZ and min/max distance properties, as well as the camera near and far planes.
215
- * This function is automatically called when updating lambda, shadowMaxZ and min/max distances, however you should call it yourself if
216
- * you change the camera near/far planes!
217
- */
218
- splitFrustum(): void;
219
- private _splitFrustum;
220
- private _computeMatrices;
221
- private _computeFrustumInWorldSpace;
222
- private _computeCascadeFrustum;
223
- protected _recreateSceneUBOs(): void;
224
- /**
225
- * Support test.
226
- */
227
- static get IsSupported(): boolean;
228
- /**
229
- * @internal
230
- */
231
- static _SceneComponentInitialization: (scene: Scene) => void;
232
- /**
233
- * Creates a Cascaded Shadow Generator object.
234
- * A ShadowGenerator is the required tool to use the shadows.
235
- * Each directional light casting shadows needs to use its own ShadowGenerator.
236
- * Documentation : https://doc.babylonjs.com/babylon101/cascadedShadows
237
- * @param mapSize The size of the texture what stores the shadows. Example : 1024.
238
- * @param light The directional light object generating the shadows.
239
- * @param usefulFloatFirst By default the generator will try to use half float textures but if you need precision (for self shadowing for instance), you can use this option to enforce full float texture.
240
- * @param camera Camera associated with this shadow generator (default: null). If null, takes the scene active camera at the time we need to access it
241
- * @param useRedTextureType Forces the generator to use a Red instead of a RGBA type for the shadow map texture format (default: true)
242
- */
243
- constructor(mapSize: number, light: DirectionalLight, usefulFloatFirst?: boolean, camera?: Nullable<Camera>, useRedTextureType?: boolean);
244
- protected _initializeGenerator(): void;
245
- protected _createTargetRenderTexture(): void;
246
- protected _initializeShadowMap(): void;
247
- protected _bindCustomEffectForRenderSubMeshForShadowMap(subMesh: SubMesh, effect: Effect): void;
248
- protected _isReadyCustomDefines(defines: any): void;
249
- /**
250
- * Prepare all the defines in a material relying on a shadow map at the specified light index.
251
- * @param defines Defines of the material we want to update
252
- * @param lightIndex Index of the light in the enabled light list of the material
253
- */
254
- prepareDefines(defines: any, lightIndex: number): void;
255
- /**
256
- * Binds the shadow related information inside of an effect (information like near, far, darkness...
257
- * defined in the generator but impacting the effect).
258
- * @param lightIndex Index of the light in the enabled light list of the material owning the effect
259
- * @param effect The effect we are binfing the information for
260
- */
261
- bindShadowLight(lightIndex: string, effect: Effect): void;
262
- /**
263
- * Gets the transformation matrix of the first cascade used to project the meshes into the map from the light point of view.
264
- * (eq to view projection * shadow projection matrices)
265
- * @returns The transform matrix used to create the shadow map
266
- */
267
- getTransformMatrix(): Matrix;
268
- /**
269
- * Disposes the ShadowGenerator.
270
- * Returns nothing.
271
- */
272
- dispose(): void;
273
- /**
274
- * Serializes the shadow generator setup to a json object.
275
- * @returns The serialized JSON object
276
- */
277
- serialize(): any;
278
- /**
279
- * Parses a serialized ShadowGenerator and returns a new ShadowGenerator.
280
- * @param parsedShadowGenerator The JSON object to parse
281
- * @param scene The scene to create the shadow map for
282
- * @returns The parsed shadow generator
283
- */
284
- static Parse(parsedShadowGenerator: any, scene: Scene): ShadowGenerator;
285
- }
1
+ export * from "./cascadedShadowGenerator.pure.js";