@babylonjs/core 9.11.0 → 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 (1012) 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/subProperties/abstractSpatialAudio.d.ts +1 -1
  23. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js +1 -1
  24. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js.map +1 -1
  25. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.d.ts +1 -1
  26. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.js +1 -1
  27. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.js.map +1 -1
  28. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +1 -1
  29. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +1 -1
  30. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
  31. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +1 -1
  32. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
  33. package/AudioV2/webAudio/webAudioStreamingSound.js +1 -1
  34. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  35. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  36. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  37. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  38. package/BakedVertexAnimation/vertexAnimationBaker.js +1 -1
  39. package/BakedVertexAnimation/vertexAnimationBaker.js.map +1 -1
  40. package/Behaviors/Cameras/bouncingBehavior.js +1 -1
  41. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  42. package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
  43. package/Behaviors/Cameras/framingBehavior.js +2 -2
  44. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  45. package/Behaviors/Cameras/interpolatingBehavior.d.ts +13 -1
  46. package/Behaviors/Cameras/interpolatingBehavior.js +13 -1
  47. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  48. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  49. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  50. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +3 -3
  51. package/Behaviors/Meshes/baseSixDofDragBehavior.js +4 -4
  52. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  53. package/Behaviors/Meshes/followBehavior.js +1 -1
  54. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  55. package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
  56. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  57. package/Behaviors/Meshes/multiPointerScaleBehavior.js +1 -1
  58. package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
  59. package/Behaviors/Meshes/pointerDragBehavior.d.ts +3 -3
  60. package/Behaviors/Meshes/pointerDragBehavior.js +5 -5
  61. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  62. package/Behaviors/Meshes/sixDofDragBehavior.d.ts +1 -1
  63. package/Behaviors/Meshes/sixDofDragBehavior.js +2 -2
  64. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  65. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +1 -1
  66. package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
  67. package/Bones/boneIKController.d.ts +1 -1
  68. package/Bones/boneIKController.js +1 -1
  69. package/Bones/boneIKController.js.map +1 -1
  70. package/Bones/boneLookController.d.ts +1 -1
  71. package/Bones/boneLookController.js +1 -1
  72. package/Bones/boneLookController.js.map +1 -1
  73. package/Bones/skeleton.d.ts +2 -2
  74. package/Bones/skeleton.functions.d.ts +1 -1
  75. package/Bones/skeleton.functions.js +3 -3
  76. package/Bones/skeleton.functions.js.map +1 -1
  77. package/Bones/skeleton.js +3 -4
  78. package/Bones/skeleton.js.map +1 -1
  79. package/Buffers/buffer.align.pure.js +6 -0
  80. package/Buffers/buffer.align.pure.js.map +1 -1
  81. package/Buffers/buffer.nonFloatVertexBuffers.js +2 -1
  82. package/Buffers/buffer.nonFloatVertexBuffers.js.map +1 -1
  83. package/Buffers/buffer.pure.d.ts +8 -0
  84. package/Buffers/buffer.pure.js +31 -2
  85. package/Buffers/buffer.pure.js.map +1 -1
  86. package/Buffers/bufferUtils.js +17 -5
  87. package/Buffers/bufferUtils.js.map +1 -1
  88. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +1 -1
  89. package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
  90. package/Cameras/Inputs/BaseCameraPointersInput.js +1 -1
  91. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  92. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +1 -1
  93. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  94. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +2 -2
  95. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  96. package/Cameras/Inputs/flyCameraKeyboardInput.js +2 -2
  97. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  98. package/Cameras/Inputs/flyCameraMouseInput.js +2 -2
  99. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  100. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +1 -1
  101. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  102. package/Cameras/Inputs/followCameraMouseWheelInput.js +1 -1
  103. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  104. package/Cameras/Inputs/freeCameraGamepadInput.js +1 -1
  105. package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
  106. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +2 -2
  107. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  108. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  109. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  110. package/Cameras/Inputs/freeCameraMouseWheelInput.js +1 -1
  111. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  112. package/Cameras/Inputs/freeCameraTouchInput.js +2 -2
  113. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  114. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +1 -1
  115. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  116. package/Cameras/Limits/geospatialLimits.d.ts +1 -1
  117. package/Cameras/Limits/geospatialLimits.js +1 -1
  118. package/Cameras/Limits/geospatialLimits.js.map +1 -1
  119. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +2 -2
  120. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  121. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -1
  122. package/Cameras/RigModes/stereoscopicRigMode.js +3 -3
  123. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  124. package/Cameras/RigModes/vrRigMode.js +2 -2
  125. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  126. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +3 -3
  127. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +5 -5
  128. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  129. package/Cameras/VR/vrCameraMetrics.d.ts +1 -1
  130. package/Cameras/VR/vrCameraMetrics.js +1 -1
  131. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  132. package/Cameras/cameraInputsManager.d.ts +1 -1
  133. package/Cameras/cameraInputsManager.js +1 -1
  134. package/Cameras/cameraInputsManager.js.map +1 -1
  135. package/Collisions/collider.d.ts +1 -1
  136. package/Collisions/collider.js +1 -1
  137. package/Collisions/collider.js.map +1 -1
  138. package/Collisions/gpuPicker.d.ts +1 -1
  139. package/Collisions/gpuPicker.js +5 -5
  140. package/Collisions/gpuPicker.js.map +1 -1
  141. package/Collisions/meshCollisionData.d.ts +1 -1
  142. package/Collisions/meshCollisionData.js +1 -1
  143. package/Collisions/meshCollisionData.js.map +1 -1
  144. package/Collisions/pickingInfo.d.ts +1 -1
  145. package/Collisions/pickingInfo.js +2 -2
  146. package/Collisions/pickingInfo.js.map +1 -1
  147. package/Culling/Octrees/octreeBlock.d.ts +1 -1
  148. package/Culling/Octrees/octreeBlock.js +1 -1
  149. package/Culling/Octrees/octreeBlock.js.map +1 -1
  150. package/Culling/boundingBox.d.ts +1 -1
  151. package/Culling/boundingBox.js +1 -1
  152. package/Culling/boundingBox.js.map +1 -1
  153. package/Culling/boundingInfo.d.ts +1 -1
  154. package/Culling/boundingInfo.js +1 -1
  155. package/Culling/boundingInfo.js.map +1 -1
  156. package/Culling/boundingSphere.d.ts +1 -1
  157. package/Culling/boundingSphere.js +1 -1
  158. package/Culling/boundingSphere.js.map +1 -1
  159. package/Culling/ray.core.d.ts +1 -1
  160. package/Culling/ray.core.js +1 -1
  161. package/Culling/ray.core.js.map +1 -1
  162. package/Debug/axesViewer.d.ts +1 -1
  163. package/Debug/axesViewer.js +3 -3
  164. package/Debug/axesViewer.js.map +1 -1
  165. package/Debug/boneAxesViewer.d.ts +1 -1
  166. package/Debug/boneAxesViewer.js +1 -1
  167. package/Debug/boneAxesViewer.js.map +1 -1
  168. package/Debug/directionalLightFrustumViewer.d.ts +1 -1
  169. package/Debug/directionalLightFrustumViewer.js +6 -6
  170. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  171. package/Debug/rayHelper.d.ts +1 -1
  172. package/Debug/rayHelper.js +2 -2
  173. package/Debug/rayHelper.js.map +1 -1
  174. package/Debug/skeletonViewer.d.ts +2 -2
  175. package/Debug/skeletonViewer.js +10 -10
  176. package/Debug/skeletonViewer.js.map +1 -1
  177. package/DeviceInput/internalDeviceSourceManager.d.ts +1 -1
  178. package/DeviceInput/internalDeviceSourceManager.js +0 -1
  179. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  180. package/DeviceInput/webDeviceInputSystem.js +1 -1
  181. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  182. package/Engines/Extensions/engine.views.d.ts +1 -1
  183. package/Engines/Extensions/engine.views.js +1 -1
  184. package/Engines/Extensions/engine.views.js.map +1 -1
  185. package/Engines/Native/nativeHelpers.js +4 -1
  186. package/Engines/Native/nativeHelpers.js.map +1 -1
  187. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  188. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +11 -1
  189. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  190. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  191. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  192. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  193. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  194. package/Engines/abstractEngine.pure.js +2 -2
  195. package/Engines/abstractEngine.pure.js.map +1 -1
  196. package/Engines/constants.d.ts +4 -0
  197. package/Engines/constants.js +4 -0
  198. package/Engines/constants.js.map +1 -1
  199. package/Engines/engineFactory.d.ts +2 -2
  200. package/Engines/engineFactory.js +3 -3
  201. package/Engines/engineFactory.js.map +1 -1
  202. package/Events/pointerEvents.d.ts +1 -1
  203. package/Events/pointerEvents.js +1 -1
  204. package/Events/pointerEvents.js.map +1 -1
  205. package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js +1 -1
  206. package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js.map +1 -1
  207. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
  208. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +1 -1
  209. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
  210. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js +1 -1
  211. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js.map +1 -1
  212. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.d.ts +1 -1
  213. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js +3 -3
  214. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js.map +1 -1
  215. package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +1 -1
  216. package/FlowGraph/CustomTypes/flowGraphMatrix.js +1 -1
  217. package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -1
  218. package/FlowGraph/flowGraphBlock.d.ts +1 -1
  219. package/FlowGraph/flowGraphBlock.js +1 -1
  220. package/FlowGraph/flowGraphBlock.js.map +1 -1
  221. package/FlowGraph/flowGraphExecutionBlock.d.ts +1 -1
  222. package/FlowGraph/flowGraphExecutionBlock.js +1 -1
  223. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  224. package/FlowGraph/flowGraphMath.d.ts +1 -1
  225. package/FlowGraph/flowGraphMath.js +1 -1
  226. package/FlowGraph/flowGraphMath.js.map +1 -1
  227. package/FlowGraph/flowGraphParser.js +1 -1
  228. package/FlowGraph/flowGraphParser.js.map +1 -1
  229. package/FlowGraph/flowGraphPathConverterComponent.d.ts +1 -1
  230. package/FlowGraph/flowGraphPathConverterComponent.js +2 -2
  231. package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
  232. package/FlowGraph/flowGraphValidator.js.map +1 -1
  233. package/FlowGraph/serialization.js +4 -4
  234. package/FlowGraph/serialization.js.map +1 -1
  235. package/FlowGraph/utils.js.map +1 -1
  236. package/FrameGraph/Node/nodeRenderGraph.d.ts +2 -2
  237. package/FrameGraph/Node/nodeRenderGraph.js +7 -7
  238. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  239. package/FrameGraph/Tasks/Layers/baseLayerTask.d.ts +30 -0
  240. package/FrameGraph/Tasks/Layers/baseLayerTask.js +28 -1
  241. package/FrameGraph/Tasks/Layers/baseLayerTask.js.map +1 -1
  242. package/FrameGraph/Tasks/Misc/computeShaderTask.d.ts +2 -2
  243. package/FrameGraph/Tasks/Misc/computeShaderTask.js +2 -2
  244. package/FrameGraph/Tasks/Misc/computeShaderTask.js.map +1 -1
  245. package/FrameGraph/Tasks/Misc/lightingVolumeTask.d.ts +1 -1
  246. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js +2 -2
  247. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js.map +1 -1
  248. package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +7 -0
  249. package/FrameGraph/Tasks/PostProcesses/blurTask.js +8 -1
  250. package/FrameGraph/Tasks/PostProcesses/blurTask.js.map +1 -1
  251. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +1 -1
  252. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -1
  253. package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js +1 -1
  254. package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js.map +1 -1
  255. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.d.ts +1 -1
  256. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js +1 -1
  257. package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js.map +1 -1
  258. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.d.ts +2 -2
  259. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js +3 -3
  260. package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js.map +1 -1
  261. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +1 -1
  262. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +2 -2
  263. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
  264. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +6 -0
  265. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +14 -5
  266. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  267. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +1 -1
  268. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +1 -1
  269. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
  270. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.d.ts +1 -1
  271. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js +1 -1
  272. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js.map +1 -1
  273. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.d.ts +1 -1
  274. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js +2 -2
  275. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js.map +1 -1
  276. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.d.ts +1 -1
  277. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js +2 -2
  278. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js.map +1 -1
  279. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +7 -1
  280. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +7 -1
  281. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  282. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
  283. package/FrameGraph/Tasks/Texture/clearTextureTask.js +1 -1
  284. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  285. package/FrameGraph/frameGraphRenderContext.js +1 -1
  286. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  287. package/FrameGraph/frameGraphTextureManager.d.ts +1 -1
  288. package/FrameGraph/frameGraphTextureManager.js +1 -1
  289. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  290. package/Gamepads/gamepadManager.js +1 -1
  291. package/Gamepads/gamepadManager.js.map +1 -1
  292. package/Gizmos/axisDragGizmo.d.ts +5 -5
  293. package/Gizmos/axisDragGizmo.js +6 -6
  294. package/Gizmos/axisDragGizmo.js.map +1 -1
  295. package/Gizmos/axisScaleGizmo.d.ts +4 -4
  296. package/Gizmos/axisScaleGizmo.js +6 -6
  297. package/Gizmos/axisScaleGizmo.js.map +1 -1
  298. package/Gizmos/boundingBoxGizmo.d.ts +5 -5
  299. package/Gizmos/boundingBoxGizmo.js +7 -7
  300. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  301. package/Gizmos/cameraGizmo.d.ts +3 -3
  302. package/Gizmos/cameraGizmo.js +7 -7
  303. package/Gizmos/cameraGizmo.js.map +1 -1
  304. package/Gizmos/gizmo.d.ts +2 -2
  305. package/Gizmos/gizmo.js +3 -3
  306. package/Gizmos/gizmo.js.map +1 -1
  307. package/Gizmos/gizmoManager.d.ts +2 -2
  308. package/Gizmos/gizmoManager.js +2 -2
  309. package/Gizmos/gizmoManager.js.map +1 -1
  310. package/Gizmos/lightGizmo.d.ts +4 -4
  311. package/Gizmos/lightGizmo.js +11 -11
  312. package/Gizmos/lightGizmo.js.map +1 -1
  313. package/Gizmos/planeDragGizmo.d.ts +4 -4
  314. package/Gizmos/planeDragGizmo.js +5 -5
  315. package/Gizmos/planeDragGizmo.js.map +1 -1
  316. package/Gizmos/positionGizmo.d.ts +1 -1
  317. package/Gizmos/positionGizmo.js +2 -2
  318. package/Gizmos/positionGizmo.js.map +1 -1
  319. package/Gizmos/rotationGizmo.d.ts +3 -3
  320. package/Gizmos/rotationGizmo.js +3 -3
  321. package/Gizmos/rotationGizmo.js.map +1 -1
  322. package/Gizmos/scaleGizmo.d.ts +2 -2
  323. package/Gizmos/scaleGizmo.js +4 -4
  324. package/Gizmos/scaleGizmo.js.map +1 -1
  325. package/Gizmos/spatialAudioGizmo.d.ts +2 -2
  326. package/Gizmos/spatialAudioGizmo.js +6 -6
  327. package/Gizmos/spatialAudioGizmo.js.map +1 -1
  328. package/Helpers/environmentHelper.d.ts +6 -6
  329. package/Helpers/environmentHelper.js +12 -12
  330. package/Helpers/environmentHelper.js.map +1 -1
  331. package/Helpers/materialConversionHelper.d.ts +1 -1
  332. package/Helpers/materialConversionHelper.js +1 -1
  333. package/Helpers/materialConversionHelper.js.map +1 -1
  334. package/Helpers/photoDome.d.ts +1 -1
  335. package/Helpers/photoDome.js +1 -1
  336. package/Helpers/photoDome.js.map +1 -1
  337. package/Helpers/textureDome.d.ts +4 -4
  338. package/Helpers/textureDome.js +6 -6
  339. package/Helpers/textureDome.js.map +1 -1
  340. package/Helpers/videoDome.d.ts +1 -1
  341. package/Helpers/videoDome.js +2 -2
  342. package/Helpers/videoDome.js.map +1 -1
  343. package/Inputs/scene.inputManager.d.ts +1 -1
  344. package/Inputs/scene.inputManager.js +1 -1
  345. package/Inputs/scene.inputManager.js.map +1 -1
  346. package/Instrumentation/sceneInstrumentation.js +1 -1
  347. package/Instrumentation/sceneInstrumentation.js.map +1 -1
  348. package/Layers/effectLayer.d.ts +1 -1
  349. package/Layers/effectLayer.js +3 -3
  350. package/Layers/effectLayer.js.map +1 -1
  351. package/Layers/layer.d.ts +2 -2
  352. package/Layers/layer.js +4 -4
  353. package/Layers/layer.js.map +1 -1
  354. package/Layers/thinEffectLayer.d.ts +2 -2
  355. package/Layers/thinEffectLayer.js +3 -3
  356. package/Layers/thinEffectLayer.js.map +1 -1
  357. package/Layers/thinGlowLayer.d.ts +1 -1
  358. package/Layers/thinGlowLayer.js +3 -3
  359. package/Layers/thinGlowLayer.js.map +1 -1
  360. package/Layers/thinHighlightLayer.d.ts +1 -1
  361. package/Layers/thinHighlightLayer.js +3 -3
  362. package/Layers/thinHighlightLayer.js.map +1 -1
  363. package/Layers/thinSelectionOutlineLayer.d.ts +1 -1
  364. package/Layers/thinSelectionOutlineLayer.js +3 -3
  365. package/Layers/thinSelectionOutlineLayer.js.map +1 -1
  366. package/Legacy/legacy.js +12 -1
  367. package/Legacy/legacy.js.map +1 -1
  368. package/LensFlares/lensFlare.d.ts +2 -2
  369. package/LensFlares/lensFlare.js +3 -3
  370. package/LensFlares/lensFlare.js.map +1 -1
  371. package/LensFlares/lensFlareSystem.d.ts +1 -1
  372. package/LensFlares/lensFlareSystem.js +6 -6
  373. package/LensFlares/lensFlareSystem.js.map +1 -1
  374. package/Lights/LTC/ltcTextureTool.js +1 -1
  375. package/Lights/LTC/ltcTextureTool.js.map +1 -1
  376. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -285
  377. package/Lights/Shadows/cascadedShadowGenerator.js +3 -857
  378. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  379. package/Lights/Shadows/cascadedShadowGenerator.pure.d.ts +290 -0
  380. package/Lights/Shadows/cascadedShadowGenerator.pure.js +868 -0
  381. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -0
  382. package/Lights/Shadows/pure.d.ts +1 -0
  383. package/Lights/Shadows/pure.js +1 -0
  384. package/Lights/Shadows/pure.js.map +1 -1
  385. package/Lights/Shadows/shadowGenerator.d.ts +3 -3
  386. package/Lights/Shadows/shadowGenerator.js +7 -7
  387. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  388. package/Lights/areaLight.d.ts +1 -1
  389. package/Lights/areaLight.js +0 -1
  390. package/Lights/areaLight.js.map +1 -1
  391. package/Lights/light.d.ts +2 -2
  392. package/Lights/light.js +2 -2
  393. package/Lights/light.js.map +1 -1
  394. package/Lights/shadowLight.d.ts +1 -1
  395. package/Lights/shadowLight.js +1 -1
  396. package/Lights/shadowLight.js.map +1 -1
  397. package/Loading/sceneLoader.d.ts +2 -2
  398. package/Loading/sceneLoader.js +3 -3
  399. package/Loading/sceneLoader.js.map +1 -1
  400. package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +1 -1
  401. package/Materials/GreasedLine/greasedLineMaterialDefaults.js +1 -1
  402. package/Materials/GreasedLine/greasedLineMaterialDefaults.js.map +1 -1
  403. package/Materials/GreasedLine/greasedLineSimpleMaterial.d.ts +3 -3
  404. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +3 -3
  405. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  406. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js +6 -6
  407. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js.map +1 -1
  408. package/Materials/Node/nodeMaterial.pure.d.ts +12 -0
  409. package/Materials/Node/nodeMaterial.pure.js +68 -13
  410. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  411. package/Materials/Node/nodeMaterialDefault.js +14 -14
  412. package/Materials/Node/nodeMaterialDefault.js.map +1 -1
  413. package/Materials/PBR/openpbrMaterial.pure.js +19 -4
  414. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  415. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +40 -2
  416. package/Materials/PBR/pbrAnisotropicConfiguration.js +41 -3
  417. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  418. package/Materials/PBR/pbrBRDFConfiguration.d.ts +5 -1
  419. package/Materials/PBR/pbrBRDFConfiguration.js +5 -1
  420. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  421. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +2 -2
  422. package/Materials/PBR/pbrBaseSimpleMaterial.js +2 -2
  423. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  424. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +42 -2
  425. package/Materials/PBR/pbrClearCoatConfiguration.js +42 -2
  426. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  427. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +38 -1
  428. package/Materials/PBR/pbrIridescenceConfiguration.js +38 -1
  429. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  430. package/Materials/PBR/pbrSheenConfiguration.d.ts +41 -2
  431. package/Materials/PBR/pbrSheenConfiguration.js +41 -2
  432. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  433. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +41 -2
  434. package/Materials/PBR/pbrSubSurfaceConfiguration.js +42 -3
  435. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  436. package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
  437. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  438. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +1 -1
  439. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js +2 -2
  440. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js.map +1 -1
  441. package/Materials/Textures/Loaders/EXR/exrLoader.core.d.ts +1 -1
  442. package/Materials/Textures/Loaders/EXR/exrLoader.core.js +5 -109
  443. package/Materials/Textures/Loaders/EXR/exrLoader.core.js.map +1 -1
  444. package/Materials/Textures/Loaders/EXR/exrLoader.decoder.js +1 -1
  445. package/Materials/Textures/Loaders/EXR/exrLoader.decoder.js.map +1 -1
  446. package/Materials/Textures/Loaders/basisTextureLoader.js +2 -2
  447. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  448. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  449. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  450. package/Materials/Textures/Loaders/envTextureLoader.js +3 -1
  451. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  452. package/Materials/Textures/Loaders/ktxTextureLoader.js +11 -2
  453. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  454. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  455. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  456. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  457. package/Materials/Textures/Packer/packer.d.ts +1 -1
  458. package/Materials/Textures/Packer/packer.js +6 -6
  459. package/Materials/Textures/Packer/packer.js.map +1 -1
  460. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -2
  461. package/Materials/Textures/Procedurals/customProceduralTexture.js +4 -4
  462. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  463. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +4 -1
  464. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  465. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +1 -1
  466. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js.map +1 -1
  467. package/Materials/Textures/prePassRenderTarget.d.ts +1 -1
  468. package/Materials/Textures/prePassRenderTarget.js +1 -1
  469. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  470. package/Materials/Textures/rawCubeTexture.d.ts +1 -1
  471. package/Materials/Textures/rawCubeTexture.js +2 -2
  472. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  473. package/Materials/Textures/rawTexture.d.ts +1 -1
  474. package/Materials/Textures/rawTexture.js +1 -1
  475. package/Materials/Textures/rawTexture.js.map +1 -1
  476. package/Materials/Textures/rawTexture2DArray.d.ts +1 -1
  477. package/Materials/Textures/rawTexture2DArray.js +1 -1
  478. package/Materials/Textures/rawTexture2DArray.js.map +1 -1
  479. package/Materials/Textures/rawTexture3D.d.ts +1 -1
  480. package/Materials/Textures/rawTexture3D.js +1 -1
  481. package/Materials/Textures/rawTexture3D.js.map +1 -1
  482. package/Materials/Textures/refractionTexture.d.ts +1 -1
  483. package/Materials/Textures/refractionTexture.js +1 -1
  484. package/Materials/Textures/refractionTexture.js.map +1 -1
  485. package/Materials/Textures/textureMerger.d.ts +1 -1
  486. package/Materials/Textures/textureMerger.js +1 -1
  487. package/Materials/Textures/textureMerger.js.map +1 -1
  488. package/Materials/Textures/textureProcessor.d.ts +1 -1
  489. package/Materials/Textures/textureProcessor.js +2 -2
  490. package/Materials/Textures/textureProcessor.js.map +1 -1
  491. package/Materials/Textures/thinRenderTargetTexture.d.ts +4 -4
  492. package/Materials/Textures/thinRenderTargetTexture.js +2 -2
  493. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  494. package/Materials/clipPlaneMaterialHelper.js +1 -1
  495. package/Materials/clipPlaneMaterialHelper.js.map +1 -1
  496. package/Materials/effectRenderer.pure.js +4 -2
  497. package/Materials/effectRenderer.pure.js.map +1 -1
  498. package/Materials/floatingOriginMatrixOverrides.d.ts +1 -1
  499. package/Materials/floatingOriginMatrixOverrides.js +1 -1
  500. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  501. package/Materials/material.detailMapConfiguration.d.ts +39 -1
  502. package/Materials/material.detailMapConfiguration.js +39 -1
  503. package/Materials/material.detailMapConfiguration.js.map +1 -1
  504. package/Materials/materialHelper.functions.js +45 -1
  505. package/Materials/materialHelper.functions.js.map +1 -1
  506. package/Materials/materialHelper.geometryrendering.d.ts +1 -1
  507. package/Materials/materialHelper.geometryrendering.js +1 -1
  508. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  509. package/Materials/materialPluginFactoryExport.js +2 -2
  510. package/Materials/materialPluginFactoryExport.js.map +1 -1
  511. package/Materials/pushMaterial.d.ts +7 -1
  512. package/Materials/pushMaterial.js +7 -1
  513. package/Materials/pushMaterial.js.map +1 -1
  514. package/Materials/uniformBuffer.js +1 -1
  515. package/Materials/uniformBuffer.js.map +1 -1
  516. package/Maths/math.axis.d.ts +1 -1
  517. package/Maths/math.axis.js +1 -1
  518. package/Maths/math.axis.js.map +1 -1
  519. package/Maths/math.d.ts +2 -2
  520. package/Maths/math.functions.d.ts +1 -1
  521. package/Maths/math.functions.js +1 -1
  522. package/Maths/math.functions.js.map +1 -1
  523. package/Maths/math.isovector.d.ts +1 -1
  524. package/Maths/math.isovector.js +1 -1
  525. package/Maths/math.isovector.js.map +1 -1
  526. package/Maths/math.js +2 -2
  527. package/Maths/math.js.map +1 -1
  528. package/Maths/math.path.d.ts +1 -1
  529. package/Maths/math.path.js +1 -1
  530. package/Maths/math.path.js.map +1 -1
  531. package/Maths/math.plane.d.ts +1 -1
  532. package/Maths/math.plane.js +1 -1
  533. package/Maths/math.plane.js.map +1 -1
  534. package/Maths/math.polar.d.ts +1 -1
  535. package/Maths/math.polar.js +1 -1
  536. package/Maths/math.polar.js.map +1 -1
  537. package/Maths/math.vertexFormat.d.ts +1 -1
  538. package/Maths/math.vertexFormat.js +1 -1
  539. package/Maths/math.vertexFormat.js.map +1 -1
  540. package/Maths/pure.d.ts +1 -0
  541. package/Maths/pure.js +1 -0
  542. package/Maths/pure.js.map +1 -1
  543. package/Meshes/Builders/geodesicBuilder.js +1 -1
  544. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  545. package/Meshes/Builders/goldbergBuilder.d.ts +1 -1
  546. package/Meshes/Builders/goldbergBuilder.js +4 -4
  547. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  548. package/Meshes/Builders/greasedLineBuilder.d.ts +4 -4
  549. package/Meshes/Builders/greasedLineBuilder.js +5 -5
  550. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  551. package/Meshes/Builders/textBuilder.d.ts +2 -2
  552. package/Meshes/Builders/textBuilder.js +4 -4
  553. package/Meshes/Builders/textBuilder.js.map +1 -1
  554. package/Meshes/Builders/tiledBoxBuilder.d.ts +3 -3
  555. package/Meshes/Builders/tiledBoxBuilder.js +3 -3
  556. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  557. package/Meshes/Builders/tiledPlaneBuilder.d.ts +1 -1
  558. package/Meshes/Builders/tiledPlaneBuilder.js +1 -1
  559. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  560. package/Meshes/Compression/dracoCodec.js +1 -1
  561. package/Meshes/Compression/dracoCodec.js.map +1 -1
  562. package/Meshes/Compression/dracoDecoder.js +1 -1
  563. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  564. package/Meshes/Compression/dracoEncoder.d.ts +1 -1
  565. package/Meshes/Compression/dracoEncoder.js +2 -2
  566. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  567. package/Meshes/Compression/meshoptCompression.js +1 -1
  568. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  569. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +64 -3
  570. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  571. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +2 -2
  572. package/Meshes/GreasedLine/greasedLineBaseMesh.js +3 -3
  573. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  574. package/Meshes/Node/nodeGeometry.d.ts +2 -2
  575. package/Meshes/Node/nodeGeometry.js +4 -4
  576. package/Meshes/Node/nodeGeometry.js.map +1 -1
  577. package/Meshes/Node/nodeGeometryBuildState.d.ts +1 -1
  578. package/Meshes/Node/nodeGeometryBuildState.js +1 -1
  579. package/Meshes/Node/nodeGeometryBuildState.js.map +1 -1
  580. package/Meshes/abstractMesh.hotSpot.d.ts +1 -1
  581. package/Meshes/abstractMesh.hotSpot.js +2 -2
  582. package/Meshes/abstractMesh.hotSpot.js.map +1 -1
  583. package/Meshes/abstractMesh.pure.js +2 -13
  584. package/Meshes/abstractMesh.pure.js.map +1 -1
  585. package/Meshes/buffer.d.ts +1 -1
  586. package/Meshes/buffer.js +1 -1
  587. package/Meshes/buffer.js.map +1 -1
  588. package/Meshes/csg.d.ts +3 -3
  589. package/Meshes/csg.js +4 -4
  590. package/Meshes/csg.js.map +1 -1
  591. package/Meshes/csg2.d.ts +1 -1
  592. package/Meshes/csg2.js +38 -11
  593. package/Meshes/csg2.js.map +1 -1
  594. package/Meshes/geodesicMesh.d.ts +1 -1
  595. package/Meshes/geodesicMesh.js +1 -1
  596. package/Meshes/geodesicMesh.js.map +1 -1
  597. package/Meshes/geometry.d.ts +2 -2
  598. package/Meshes/geometry.js +4 -4
  599. package/Meshes/geometry.js.map +1 -1
  600. package/Meshes/lattice.d.ts +1 -1
  601. package/Meshes/lattice.js +1 -1
  602. package/Meshes/lattice.js.map +1 -1
  603. package/Meshes/lattice.material.d.ts +1 -1
  604. package/Meshes/lattice.material.js +1 -1
  605. package/Meshes/lattice.material.js.map +1 -1
  606. package/Meshes/mesh.vertexData.d.ts +2 -2
  607. package/Meshes/mesh.vertexData.js +3 -4
  608. package/Meshes/mesh.vertexData.js.map +1 -1
  609. package/Meshes/mesh.vertexData.subdivide.js +1 -1
  610. package/Meshes/mesh.vertexData.subdivide.js.map +1 -1
  611. package/Meshes/meshBuilder.d.ts +18 -18
  612. package/Meshes/meshBuilder.js +18 -18
  613. package/Meshes/meshBuilder.js.map +1 -1
  614. package/Meshes/meshSimplification.d.ts +1 -1
  615. package/Meshes/meshSimplification.js +4 -4
  616. package/Meshes/meshSimplification.js.map +1 -1
  617. package/Meshes/meshUVSpaceRenderer.d.ts +1 -1
  618. package/Meshes/meshUVSpaceRenderer.js +0 -1
  619. package/Meshes/meshUVSpaceRenderer.js.map +1 -1
  620. package/Meshes/meshUtils.d.ts +1 -1
  621. package/Meshes/meshUtils.js +2 -2
  622. package/Meshes/meshUtils.js.map +1 -1
  623. package/Meshes/polygonMesh.d.ts +2 -2
  624. package/Meshes/polygonMesh.js +3 -3
  625. package/Meshes/polygonMesh.js.map +1 -1
  626. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
  627. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  628. package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
  629. package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
  630. package/Misc/PerformanceViewer/performanceViewerCollector.js +1 -1
  631. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  632. package/Misc/areaLightsTextureTools.d.ts +1 -1
  633. package/Misc/areaLightsTextureTools.js +3 -3
  634. package/Misc/areaLightsTextureTools.js.map +1 -1
  635. package/Misc/assetsManager.d.ts +4 -4
  636. package/Misc/assetsManager.js +5 -5
  637. package/Misc/assetsManager.js.map +1 -1
  638. package/Misc/basisWorker.js +1 -1
  639. package/Misc/basisWorker.js.map +1 -1
  640. package/Misc/brdfTextureTools.js +1 -1
  641. package/Misc/brdfTextureTools.js.map +1 -1
  642. package/Misc/copyTextureToTexture.d.ts +1 -1
  643. package/Misc/copyTextureToTexture.js +1 -1
  644. package/Misc/copyTextureToTexture.js.map +1 -1
  645. package/Misc/decorators.serialization.js +2 -2
  646. package/Misc/decorators.serialization.js.map +1 -1
  647. package/Misc/depthReducer.d.ts +2 -2
  648. package/Misc/depthReducer.js +2 -2
  649. package/Misc/depthReducer.js.map +1 -1
  650. package/Misc/gradients.d.ts +1 -1
  651. package/Misc/gradients.js +1 -1
  652. package/Misc/gradients.js.map +1 -1
  653. package/Misc/greasedLineTools.d.ts +1 -1
  654. package/Misc/greasedLineTools.js +3 -3
  655. package/Misc/greasedLineTools.js.map +1 -1
  656. package/Misc/halfFloat.d.ts +17 -0
  657. package/Misc/halfFloat.js +131 -0
  658. package/Misc/halfFloat.js.map +1 -0
  659. package/Misc/khronosTextureContainer2.js +1 -1
  660. package/Misc/khronosTextureContainer2.js.map +1 -1
  661. package/Misc/meshExploder.js +1 -1
  662. package/Misc/meshExploder.js.map +1 -1
  663. package/Misc/pivotTools.js +1 -1
  664. package/Misc/pivotTools.js.map +1 -1
  665. package/Misc/rgbdTextureTools.js +1 -1
  666. package/Misc/rgbdTextureTools.js.map +1 -1
  667. package/Misc/sceneOptimizer.js +1 -1
  668. package/Misc/sceneOptimizer.js.map +1 -1
  669. package/Misc/sceneRecorder.js +7 -7
  670. package/Misc/sceneRecorder.js.map +1 -1
  671. package/Misc/sceneSerializer.js +3 -3
  672. package/Misc/sceneSerializer.js.map +1 -1
  673. package/Misc/snapshotRenderingHelper.js +1 -1
  674. package/Misc/snapshotRenderingHelper.js.map +1 -1
  675. package/Misc/textureTools.d.ts +3 -13
  676. package/Misc/textureTools.js +6 -64
  677. package/Misc/textureTools.js.map +1 -1
  678. package/Misc/thinMinMaxReducer.d.ts +1 -1
  679. package/Misc/thinMinMaxReducer.js +1 -1
  680. package/Misc/thinMinMaxReducer.js.map +1 -1
  681. package/Misc/tools.internals.js +1 -1
  682. package/Misc/tools.internals.js.map +1 -1
  683. package/Misc/tools.pure.js +1 -1
  684. package/Misc/tools.pure.js.map +1 -1
  685. package/Misc/trajectoryClassifier.d.ts +1 -1
  686. package/Misc/trajectoryClassifier.js +1 -1
  687. package/Misc/trajectoryClassifier.js.map +1 -1
  688. package/Misc/videoRecorder.js +1 -1
  689. package/Misc/videoRecorder.js.map +1 -1
  690. package/Misc/virtualJoystick.d.ts +1 -1
  691. package/Misc/virtualJoystick.js +1 -1
  692. package/Misc/virtualJoystick.js.map +1 -1
  693. package/Morph/morphTarget.js +1 -1
  694. package/Morph/morphTarget.js.map +1 -1
  695. package/Navigation/Plugins/recastJSPlugin.d.ts +1 -1
  696. package/Navigation/Plugins/recastJSPlugin.js +2 -2
  697. package/Navigation/Plugins/recastJSPlugin.js.map +1 -1
  698. package/Particles/EmitterTypes/boxParticleEmitter.d.ts +1 -1
  699. package/Particles/EmitterTypes/boxParticleEmitter.js +1 -1
  700. package/Particles/EmitterTypes/boxParticleEmitter.js.map +1 -1
  701. package/Particles/EmitterTypes/coneParticleEmitter.d.ts +1 -1
  702. package/Particles/EmitterTypes/coneParticleEmitter.js +1 -1
  703. package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
  704. package/Particles/EmitterTypes/customParticleEmitter.d.ts +1 -1
  705. package/Particles/EmitterTypes/customParticleEmitter.js +1 -1
  706. package/Particles/EmitterTypes/customParticleEmitter.js.map +1 -1
  707. package/Particles/EmitterTypes/cylinderParticleEmitter.d.ts +1 -1
  708. package/Particles/EmitterTypes/cylinderParticleEmitter.js +1 -1
  709. package/Particles/EmitterTypes/cylinderParticleEmitter.js.map +1 -1
  710. package/Particles/EmitterTypes/hemisphericParticleEmitter.d.ts +1 -1
  711. package/Particles/EmitterTypes/hemisphericParticleEmitter.js +1 -1
  712. package/Particles/EmitterTypes/hemisphericParticleEmitter.js.map +1 -1
  713. package/Particles/EmitterTypes/meshParticleEmitter.d.ts +1 -1
  714. package/Particles/EmitterTypes/meshParticleEmitter.js +2 -2
  715. package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
  716. package/Particles/EmitterTypes/pointParticleEmitter.d.ts +1 -1
  717. package/Particles/EmitterTypes/pointParticleEmitter.js +1 -1
  718. package/Particles/EmitterTypes/pointParticleEmitter.js.map +1 -1
  719. package/Particles/EmitterTypes/sphereParticleEmitter.d.ts +1 -1
  720. package/Particles/EmitterTypes/sphereParticleEmitter.js +1 -1
  721. package/Particles/EmitterTypes/sphereParticleEmitter.js.map +1 -1
  722. package/Particles/Node/nodeParticleBuildState.d.ts +4 -4
  723. package/Particles/Node/nodeParticleBuildState.js +2 -2
  724. package/Particles/Node/nodeParticleBuildState.js.map +1 -1
  725. package/Particles/Node/nodeParticleSystemSet.d.ts +2 -2
  726. package/Particles/Node/nodeParticleSystemSet.helper.js +31 -31
  727. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  728. package/Particles/Node/nodeParticleSystemSet.js +8 -8
  729. package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
  730. package/Particles/attractor.d.ts +1 -1
  731. package/Particles/attractor.js +1 -1
  732. package/Particles/attractor.js.map +1 -1
  733. package/Particles/flowMap.d.ts +7 -1
  734. package/Particles/flowMap.js +7 -1
  735. package/Particles/flowMap.js.map +1 -1
  736. package/Particles/particle.d.ts +2 -2
  737. package/Particles/particle.js +2 -2
  738. package/Particles/particle.js.map +1 -1
  739. package/Particles/particleHelper.js +5 -5
  740. package/Particles/particleHelper.js.map +1 -1
  741. package/Particles/particleSystem.functions.d.ts +1 -1
  742. package/Particles/particleSystem.functions.js +1 -1
  743. package/Particles/particleSystem.functions.js.map +1 -1
  744. package/Particles/particleSystemSet.d.ts +1 -1
  745. package/Particles/particleSystemSet.js +5 -5
  746. package/Particles/particleSystemSet.js.map +1 -1
  747. package/Particles/pointsCloudSystem.d.ts +1 -1
  748. package/Particles/pointsCloudSystem.js +6 -6
  749. package/Particles/pointsCloudSystem.js.map +1 -1
  750. package/Particles/solidParticle.d.ts +2 -2
  751. package/Particles/solidParticle.js +3 -3
  752. package/Particles/solidParticle.js.map +1 -1
  753. package/Particles/solidParticleSystem.d.ts +4 -4
  754. package/Particles/solidParticleSystem.js +7 -7
  755. package/Particles/solidParticleSystem.js.map +1 -1
  756. package/Particles/subEmitter.js +1 -1
  757. package/Particles/subEmitter.js.map +1 -1
  758. package/Particles/thinParticleSystem.function.js +2 -2
  759. package/Particles/thinParticleSystem.function.js.map +1 -1
  760. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  761. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  762. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  763. package/Physics/castingResult.d.ts +1 -1
  764. package/Physics/castingResult.js +1 -1
  765. package/Physics/castingResult.js.map +1 -1
  766. package/Physics/physicsHelper.d.ts +1 -1
  767. package/Physics/physicsHelper.js +4 -4
  768. package/Physics/physicsHelper.js.map +1 -1
  769. package/Physics/physicsImpostor.d.ts +1 -1
  770. package/Physics/physicsImpostor.js +1 -1
  771. package/Physics/physicsImpostor.js.map +1 -1
  772. package/Physics/physicsRaycastResult.d.ts +1 -1
  773. package/Physics/physicsRaycastResult.js +1 -1
  774. package/Physics/physicsRaycastResult.js.map +1 -1
  775. package/Physics/v1/Plugins/ammoJSPlugin.d.ts +2 -2
  776. package/Physics/v1/Plugins/ammoJSPlugin.js +5 -5
  777. package/Physics/v1/Plugins/ammoJSPlugin.js.map +1 -1
  778. package/Physics/v1/Plugins/oimoJSPlugin.d.ts +2 -2
  779. package/Physics/v1/Plugins/oimoJSPlugin.js +2 -2
  780. package/Physics/v1/Plugins/oimoJSPlugin.js.map +1 -1
  781. package/Physics/v1/physicsEngine.d.ts +1 -1
  782. package/Physics/v1/physicsEngine.js +1 -1
  783. package/Physics/v1/physicsEngine.js.map +1 -1
  784. package/Physics/v2/Plugins/havokPlugin.d.ts +14 -2
  785. package/Physics/v2/Plugins/havokPlugin.js +45 -7
  786. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  787. package/Physics/v2/characterController.d.ts +1 -1
  788. package/Physics/v2/characterController.js +2 -2
  789. package/Physics/v2/characterController.js.map +1 -1
  790. package/Physics/v2/physicsAggregate.d.ts +3 -3
  791. package/Physics/v2/physicsAggregate.js +10 -6
  792. package/Physics/v2/physicsAggregate.js.map +1 -1
  793. package/Physics/v2/physicsBody.d.ts +1 -1
  794. package/Physics/v2/physicsBody.js +1 -1
  795. package/Physics/v2/physicsBody.js.map +1 -1
  796. package/Physics/v2/physicsEngine.d.ts +1 -1
  797. package/Physics/v2/physicsEngine.js +1 -1
  798. package/Physics/v2/physicsEngine.js.map +1 -1
  799. package/Physics/v2/physicsShape.d.ts +1 -1
  800. package/Physics/v2/physicsShape.js +1 -1
  801. package/Physics/v2/physicsShape.js.map +1 -1
  802. package/Physics/v2/ragdoll.d.ts +2 -2
  803. package/Physics/v2/ragdoll.js +2 -2
  804. package/Physics/v2/ragdoll.js.map +1 -1
  805. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.d.ts +1 -0
  806. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +8 -6
  807. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
  808. package/PostProcesses/RenderPipeline/Pipelines/thinSSRRenderingPipeline.js +1 -1
  809. package/PostProcesses/RenderPipeline/Pipelines/thinSSRRenderingPipeline.js.map +1 -1
  810. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +1 -1
  811. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  812. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +3 -2
  813. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  814. package/PostProcesses/bloomEffect.d.ts +1 -1
  815. package/PostProcesses/bloomEffect.js +4 -4
  816. package/PostProcesses/bloomEffect.js.map +1 -1
  817. package/PostProcesses/depthOfFieldEffect.d.ts +1 -1
  818. package/PostProcesses/depthOfFieldEffect.js +3 -3
  819. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  820. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +1 -1
  821. package/PostProcesses/depthOfFieldMergePostProcess.js +1 -1
  822. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  823. package/PostProcesses/highlightsPostProcess.d.ts +1 -1
  824. package/PostProcesses/highlightsPostProcess.js +1 -1
  825. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  826. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  827. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  828. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  829. package/PostProcesses/postProcessManager.d.ts +3 -0
  830. package/PostProcesses/postProcessManager.js +4 -1
  831. package/PostProcesses/postProcessManager.js.map +1 -1
  832. package/PostProcesses/subSurfaceScatteringPostProcess.pure.d.ts +1 -0
  833. package/PostProcesses/subSurfaceScatteringPostProcess.pure.js +10 -0
  834. package/PostProcesses/subSurfaceScatteringPostProcess.pure.js.map +1 -1
  835. package/PostProcesses/thinAnaglyphPostProcess.d.ts +1 -1
  836. package/PostProcesses/thinAnaglyphPostProcess.js +1 -1
  837. package/PostProcesses/thinAnaglyphPostProcess.js.map +1 -1
  838. package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +1 -1
  839. package/PostProcesses/thinBlackAndWhitePostProcess.js +1 -1
  840. package/PostProcesses/thinBlackAndWhitePostProcess.js.map +1 -1
  841. package/PostProcesses/thinBloomEffect.js +1 -1
  842. package/PostProcesses/thinBloomEffect.js.map +1 -1
  843. package/PostProcesses/thinBloomMergePostProcess.d.ts +1 -1
  844. package/PostProcesses/thinBloomMergePostProcess.js +1 -1
  845. package/PostProcesses/thinBloomMergePostProcess.js.map +1 -1
  846. package/PostProcesses/thinBlurPostProcess.d.ts +1 -1
  847. package/PostProcesses/thinBlurPostProcess.js +1 -1
  848. package/PostProcesses/thinBlurPostProcess.js.map +1 -1
  849. package/PostProcesses/thinChromaticAberrationPostProcess.d.ts +2 -2
  850. package/PostProcesses/thinChromaticAberrationPostProcess.js +2 -2
  851. package/PostProcesses/thinChromaticAberrationPostProcess.js.map +1 -1
  852. package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +1 -1
  853. package/PostProcesses/thinCircleOfConfusionPostProcess.js +1 -1
  854. package/PostProcesses/thinCircleOfConfusionPostProcess.js.map +1 -1
  855. package/PostProcesses/thinColorCorrectionPostProcess.d.ts +1 -1
  856. package/PostProcesses/thinColorCorrectionPostProcess.js +2 -2
  857. package/PostProcesses/thinColorCorrectionPostProcess.js.map +1 -1
  858. package/PostProcesses/thinConvolutionPostProcess.d.ts +1 -1
  859. package/PostProcesses/thinConvolutionPostProcess.js +1 -1
  860. package/PostProcesses/thinConvolutionPostProcess.js.map +1 -1
  861. package/PostProcesses/thinCustomPostProcess.d.ts +1 -1
  862. package/PostProcesses/thinCustomPostProcess.js +1 -1
  863. package/PostProcesses/thinCustomPostProcess.js.map +1 -1
  864. package/PostProcesses/thinDepthOfFieldEffect.d.ts +3 -0
  865. package/PostProcesses/thinDepthOfFieldEffect.js +4 -1
  866. package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -1
  867. package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +1 -1
  868. package/PostProcesses/thinDepthOfFieldMergePostProcess.js +1 -1
  869. package/PostProcesses/thinDepthOfFieldMergePostProcess.js.map +1 -1
  870. package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +1 -1
  871. package/PostProcesses/thinExtractHighlightsPostProcess.js +1 -1
  872. package/PostProcesses/thinExtractHighlightsPostProcess.js.map +1 -1
  873. package/PostProcesses/thinFXAAPostProcess.d.ts +2 -2
  874. package/PostProcesses/thinFXAAPostProcess.js +2 -2
  875. package/PostProcesses/thinFXAAPostProcess.js.map +1 -1
  876. package/PostProcesses/thinFilterPostProcess.d.ts +2 -2
  877. package/PostProcesses/thinFilterPostProcess.js +2 -2
  878. package/PostProcesses/thinFilterPostProcess.js.map +1 -1
  879. package/PostProcesses/thinGrainPostProcess.d.ts +1 -1
  880. package/PostProcesses/thinGrainPostProcess.js +1 -1
  881. package/PostProcesses/thinGrainPostProcess.js.map +1 -1
  882. package/PostProcesses/thinImageProcessingPostProcess.d.ts +2 -2
  883. package/PostProcesses/thinImageProcessingPostProcess.js +2 -2
  884. package/PostProcesses/thinImageProcessingPostProcess.js.map +1 -1
  885. package/PostProcesses/thinMotionBlurPostProcess.d.ts +1 -1
  886. package/PostProcesses/thinMotionBlurPostProcess.js +2 -2
  887. package/PostProcesses/thinMotionBlurPostProcess.js.map +1 -1
  888. package/PostProcesses/thinPassPostProcess.d.ts +1 -1
  889. package/PostProcesses/thinPassPostProcess.js +1 -1
  890. package/PostProcesses/thinPassPostProcess.js.map +1 -1
  891. package/PostProcesses/thinSSAO2BlurPostProcess.d.ts +1 -1
  892. package/PostProcesses/thinSSAO2BlurPostProcess.js +1 -1
  893. package/PostProcesses/thinSSAO2BlurPostProcess.js.map +1 -1
  894. package/PostProcesses/thinSSAO2CombinePostProcess.d.ts +1 -1
  895. package/PostProcesses/thinSSAO2CombinePostProcess.js +2 -2
  896. package/PostProcesses/thinSSAO2CombinePostProcess.js.map +1 -1
  897. package/PostProcesses/thinSSAO2PostProcess.d.ts +7 -2
  898. package/PostProcesses/thinSSAO2PostProcess.js +36 -4
  899. package/PostProcesses/thinSSAO2PostProcess.js.map +1 -1
  900. package/PostProcesses/thinSSRBlurCombinerPostProcess.d.ts +1 -1
  901. package/PostProcesses/thinSSRBlurCombinerPostProcess.js +2 -2
  902. package/PostProcesses/thinSSRBlurCombinerPostProcess.js.map +1 -1
  903. package/PostProcesses/thinSSRBlurPostProcess.d.ts +2 -2
  904. package/PostProcesses/thinSSRBlurPostProcess.js +2 -2
  905. package/PostProcesses/thinSSRBlurPostProcess.js.map +1 -1
  906. package/PostProcesses/thinSSRPostProcess.d.ts +1 -1
  907. package/PostProcesses/thinSSRPostProcess.js +2 -2
  908. package/PostProcesses/thinSSRPostProcess.js.map +1 -1
  909. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.d.ts +1 -1
  910. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.js +1 -1
  911. package/PostProcesses/thinScreenSpaceCurvaturePostProcess.js.map +1 -1
  912. package/PostProcesses/thinSharpenPostProcess.d.ts +1 -1
  913. package/PostProcesses/thinSharpenPostProcess.js +1 -1
  914. package/PostProcesses/thinSharpenPostProcess.js.map +1 -1
  915. package/PostProcesses/thinTAAPostProcess.d.ts +3 -3
  916. package/PostProcesses/thinTAAPostProcess.js +4 -4
  917. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  918. package/PostProcesses/thinTonemapPostProcess.d.ts +1 -1
  919. package/PostProcesses/thinTonemapPostProcess.js +1 -1
  920. package/PostProcesses/thinTonemapPostProcess.js.map +1 -1
  921. package/PostProcesses/vrDistortionCorrectionPostProcess.d.ts +1 -1
  922. package/PostProcesses/vrDistortionCorrectionPostProcess.js +3 -3
  923. package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
  924. package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +2 -2
  925. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +4 -4
  926. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
  927. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +2 -2
  928. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js +4 -4
  929. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -1
  930. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +3 -3
  931. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +4 -4
  932. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
  933. package/Rendering/depthPeelingRenderer.d.ts +1 -1
  934. package/Rendering/depthPeelingRenderer.js +2 -2
  935. package/Rendering/depthPeelingRenderer.js.map +1 -1
  936. package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +1 -1
  937. package/Rendering/fluidRenderer/fluidRenderingObject.js +1 -1
  938. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  939. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.d.ts +1 -1
  940. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +2 -2
  941. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  942. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +3 -3
  943. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +3 -3
  944. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  945. package/Rendering/fluidRenderer/fluidRenderingTextures.d.ts +2 -2
  946. package/Rendering/fluidRenderer/fluidRenderingTextures.js +3 -3
  947. package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
  948. package/Rendering/iblCdfGenerator.d.ts +3 -3
  949. package/Rendering/iblCdfGenerator.js +5 -5
  950. package/Rendering/iblCdfGenerator.js.map +1 -1
  951. package/Rendering/renderingGroup.js +1 -1
  952. package/Rendering/renderingGroup.js.map +1 -1
  953. package/Rendering/subSurfaceConfiguration.d.ts +2 -2
  954. package/Rendering/subSurfaceConfiguration.js +2 -2
  955. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  956. package/Rendering/utilityLayerRenderer.d.ts +2 -2
  957. package/Rendering/utilityLayerRenderer.js +4 -4
  958. package/Rendering/utilityLayerRenderer.js.map +1 -1
  959. package/Shaders/ssao2.fragment.js +10 -2
  960. package/Shaders/ssao2.fragment.js.map +1 -1
  961. package/ShadersWGSL/ssao2.fragment.js +10 -2
  962. package/ShadersWGSL/ssao2.fragment.js.map +1 -1
  963. package/SmartAssets/smartAssetSerializer.js +1 -1
  964. package/SmartAssets/smartAssetSerializer.js.map +1 -1
  965. package/Sprites/sprite.d.ts +2 -2
  966. package/Sprites/sprite.js +2 -2
  967. package/Sprites/sprite.js.map +1 -1
  968. package/Sprites/spriteManager.d.ts +2 -2
  969. package/Sprites/spriteManager.js +4 -5
  970. package/Sprites/spriteManager.js.map +1 -1
  971. package/Sprites/spritePackedManager.js +1 -1
  972. package/Sprites/spritePackedManager.js.map +1 -1
  973. package/Sprites/spriteRenderer.js +2 -2
  974. package/Sprites/spriteRenderer.js.map +1 -1
  975. package/XR/features/WebXRHitTestLegacy.d.ts +1 -1
  976. package/XR/features/WebXRHitTestLegacy.js +2 -2
  977. package/XR/features/WebXRHitTestLegacy.js.map +1 -1
  978. package/XR/motionController/webXRAbstractMotionController.js +2 -2
  979. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  980. package/XR/motionController/webXRGenericMotionController.js +2 -2
  981. package/XR/motionController/webXRGenericMotionController.js.map +1 -1
  982. package/XR/motionController/webXRProfiledMotionController.js +4 -4
  983. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  984. package/XR/webXRCamera.d.ts +3 -3
  985. package/XR/webXRCamera.js +4 -4
  986. package/XR/webXRCamera.js.map +1 -1
  987. package/XR/webXRDefaultExperience.d.ts +4 -4
  988. package/XR/webXRDefaultExperience.js +4 -4
  989. package/XR/webXRDefaultExperience.js.map +1 -1
  990. package/XR/webXREnterExitUI.js +1 -1
  991. package/XR/webXREnterExitUI.js.map +1 -1
  992. package/XR/webXRExperienceHelper.js +2 -2
  993. package/XR/webXRExperienceHelper.js.map +1 -1
  994. package/XR/webXRFeaturesManager.d.ts +47 -0
  995. package/XR/webXRFeaturesManager.js +1 -1
  996. package/XR/webXRFeaturesManager.js.map +1 -1
  997. package/XR/webXRInput.js +1 -1
  998. package/XR/webXRInput.js.map +1 -1
  999. package/XR/webXRInputSource.js +4 -4
  1000. package/XR/webXRInputSource.js.map +1 -1
  1001. package/XR/webXRManagedOutputCanvas.js +1 -1
  1002. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  1003. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1004. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1005. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1006. package/assetContainer.d.ts +4 -4
  1007. package/assetContainer.js +6 -6
  1008. package/assetContainer.js.map +1 -1
  1009. package/node.d.ts +1 -1
  1010. package/node.js +6 -2
  1011. package/node.js.map +1 -1
  1012. package/package.json +44 -174
@@ -1,858 +1,4 @@
1
- import { Matrix, Vector3 } from "../../Maths/math.vector.js";
2
- import { RenderTargetTexture } from "../../Materials/Textures/renderTargetTexture.js";
3
-
4
- import { _WarnImport } from "../../Misc/devTools.js";
5
- import { ShadowGenerator } from "./shadowGenerator.js";
6
- import { BoundingInfo } from "../../Culling/boundingInfo.js";
7
- import { DepthReducer } from "../../Misc/depthReducer.js";
8
- import { Logger } from "../../Misc/logger.js";
9
- import { EngineStore } from "../../Engines/engineStore.js";
10
- import { FloatingOriginCurrentScene, GetOffsetTransformMatrices } from "../../Materials/floatingOriginMatrixOverrides.js";
11
- // eslint-disable-next-line @typescript-eslint/naming-convention
12
- const UpDir = Vector3.Up();
13
- // eslint-disable-next-line @typescript-eslint/naming-convention
14
- const ZeroVec = Vector3.Zero();
15
- const Tmpv1 = new Vector3();
16
- const Tmpv2 = new Vector3();
17
- const TmpMatrix = new Matrix();
18
- /**
19
- * A CSM implementation allowing casting shadows on large scenes.
20
- * Documentation : https://doc.babylonjs.com/babylon101/cascadedShadows
21
- * Based on: https://github.com/TheRealMJP/Shadows and https://johanmedestrom.wordpress.com/2016/03/18/opengl-cascaded-shadow-maps/
22
- */
23
- export class CascadedShadowGenerator extends ShadowGenerator {
24
- _validateFilter(filter) {
25
- if (filter === ShadowGenerator.FILTER_NONE || filter === ShadowGenerator.FILTER_PCF || filter === ShadowGenerator.FILTER_PCSS) {
26
- return filter;
27
- }
28
- Logger.Error('Unsupported filter "' + filter + '"!');
29
- return ShadowGenerator.FILTER_NONE;
30
- }
31
- /**
32
- * Gets or set the number of cascades used by the CSM.
33
- */
34
- get numCascades() {
35
- return this._numCascades;
36
- }
37
- set numCascades(value) {
38
- value = Math.min(Math.max(value, CascadedShadowGenerator.MIN_CASCADES_COUNT), CascadedShadowGenerator.MAX_CASCADES_COUNT);
39
- if (value === this._numCascades) {
40
- return;
41
- }
42
- this._numCascades = value;
43
- this.recreateShadowMap();
44
- this._recreateSceneUBOs();
45
- }
46
- /**
47
- * Enables or disables the shadow casters bounding info computation.
48
- * If your shadow casters don't move, you can disable this feature.
49
- * If it is enabled, the bounding box computation is done every frame.
50
- */
51
- get freezeShadowCastersBoundingInfo() {
52
- return this._freezeShadowCastersBoundingInfo;
53
- }
54
- set freezeShadowCastersBoundingInfo(freeze) {
55
- if (this._freezeShadowCastersBoundingInfoObservable && freeze) {
56
- this._scene.onBeforeRenderObservable.remove(this._freezeShadowCastersBoundingInfoObservable);
57
- this._freezeShadowCastersBoundingInfoObservable = null;
58
- }
59
- if (!this._freezeShadowCastersBoundingInfoObservable && !freeze) {
60
- this._freezeShadowCastersBoundingInfoObservable = this._scene.onBeforeRenderObservable.add(() => this._computeShadowCastersBoundingInfo());
61
- }
62
- this._freezeShadowCastersBoundingInfo = freeze;
63
- if (freeze) {
64
- this._computeShadowCastersBoundingInfo();
65
- }
66
- }
67
- _computeShadowCastersBoundingInfo() {
68
- this._scbiMin.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
69
- this._scbiMax.copyFromFloats(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
70
- if (this._shadowMap && this._shadowMap.renderList) {
71
- const renderList = this._shadowMap.renderList;
72
- for (let meshIndex = 0; meshIndex < renderList.length; meshIndex++) {
73
- const mesh = renderList[meshIndex];
74
- if (!mesh) {
75
- continue;
76
- }
77
- const boundingInfo = mesh.getBoundingInfo(), boundingBox = boundingInfo.boundingBox;
78
- this._scbiMin.minimizeInPlace(boundingBox.minimumWorld);
79
- this._scbiMax.maximizeInPlace(boundingBox.maximumWorld);
80
- }
81
- }
82
- this._shadowCastersBoundingInfo.reConstruct(this._scbiMin, this._scbiMax);
83
- }
84
- /**
85
- * Gets or sets the shadow casters bounding info.
86
- * If you provide your own shadow casters bounding info, first enable freezeShadowCastersBoundingInfo
87
- * so that the system won't overwrite the bounds you provide
88
- */
89
- get shadowCastersBoundingInfo() {
90
- return this._shadowCastersBoundingInfo;
91
- }
92
- set shadowCastersBoundingInfo(boundingInfo) {
93
- this._shadowCastersBoundingInfo = boundingInfo;
94
- }
95
- /**
96
- * Sets the minimal and maximal distances to use when computing the cascade breaks.
97
- *
98
- * The values of min / max are typically the depth zmin and zmax values of your scene, for a given frame.
99
- * If you don't know these values, simply leave them to their defaults and don't call this function.
100
- * @param min minimal distance for the breaks (default to 0.)
101
- * @param max maximal distance for the breaks (default to 1.)
102
- */
103
- setMinMaxDistance(min, max) {
104
- if (this._minDistance === min && this._maxDistance === max) {
105
- return;
106
- }
107
- if (min > max) {
108
- min = 0;
109
- max = 1;
110
- }
111
- if (min < 0) {
112
- min = 0;
113
- }
114
- if (max > 1) {
115
- max = 1;
116
- }
117
- this._minDistance = min;
118
- this._maxDistance = max;
119
- this._breaksAreDirty = true;
120
- }
121
- /** Gets the minimal distance used in the cascade break computation */
122
- get minDistance() {
123
- return this._minDistance;
124
- }
125
- /** Gets the maximal distance used in the cascade break computation */
126
- get maxDistance() {
127
- return this._maxDistance;
128
- }
129
- /**
130
- * Gets the class name of that object
131
- * @returns "CascadedShadowGenerator"
132
- */
133
- getClassName() {
134
- return CascadedShadowGenerator.CLASSNAME;
135
- }
136
- /**
137
- * Gets a cascade minimum extents
138
- * @param cascadeIndex index of the cascade
139
- * @returns the minimum cascade extents
140
- */
141
- getCascadeMinExtents(cascadeIndex) {
142
- return cascadeIndex >= 0 && cascadeIndex < this._numCascades ? this._cascadeMinExtents[cascadeIndex] : null;
143
- }
144
- /**
145
- * Gets a cascade maximum extents
146
- * @param cascadeIndex index of the cascade
147
- * @returns the maximum cascade extents
148
- */
149
- getCascadeMaxExtents(cascadeIndex) {
150
- return cascadeIndex >= 0 && cascadeIndex < this._numCascades ? this._cascadeMaxExtents[cascadeIndex] : null;
151
- }
152
- /**
153
- * Gets the shadow max z distance. It's the limit beyond which shadows are not displayed.
154
- * It defaults to camera.maxZ
155
- */
156
- get shadowMaxZ() {
157
- if (!this._getCamera()) {
158
- return 0;
159
- }
160
- return this._shadowMaxZ;
161
- }
162
- /**
163
- * Sets the shadow max z distance.
164
- */
165
- set shadowMaxZ(value) {
166
- const camera = this._getCamera();
167
- if (!camera) {
168
- this._shadowMaxZ = value;
169
- return;
170
- }
171
- if (this._shadowMaxZ === value || value < camera.minZ || (value > camera.maxZ && camera.maxZ !== 0)) {
172
- return;
173
- }
174
- this._shadowMaxZ = value;
175
- this._light._markMeshesAsLightDirty();
176
- this._breaksAreDirty = true;
177
- }
178
- /**
179
- * Gets or sets the debug flag.
180
- * When enabled, the cascades are materialized by different colors on the screen.
181
- */
182
- get debug() {
183
- return this._debug;
184
- }
185
- set debug(dbg) {
186
- this._debug = dbg;
187
- this._light._markMeshesAsLightDirty();
188
- }
189
- /**
190
- * Gets or sets the depth clamping value.
191
- *
192
- * When enabled, it improves the shadow quality because the near z plane of the light frustum don't need to be adjusted
193
- * to account for the shadow casters far away.
194
- *
195
- * Note that this property is incompatible with PCSS filtering, so it won't be used in that case.
196
- */
197
- get depthClamp() {
198
- return this._depthClamp;
199
- }
200
- set depthClamp(value) {
201
- this._depthClamp = value;
202
- }
203
- /**
204
- * Gets or sets the percentage of blending between two cascades (value between 0. and 1.).
205
- * It defaults to 0.1 (10% blending).
206
- */
207
- get cascadeBlendPercentage() {
208
- return this._cascadeBlendPercentage;
209
- }
210
- set cascadeBlendPercentage(value) {
211
- this._cascadeBlendPercentage = value;
212
- this._light._markMeshesAsLightDirty();
213
- }
214
- /**
215
- * Gets or set the lambda parameter.
216
- * This parameter is used to split the camera frustum and create the cascades.
217
- * 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.
218
- * For all values in-between, it's a linear combination of the uniform and logarithm split algorithm.
219
- */
220
- get lambda() {
221
- return this._lambda;
222
- }
223
- set lambda(value) {
224
- const lambda = Math.min(Math.max(value, 0), 1);
225
- if (this._lambda == lambda) {
226
- return;
227
- }
228
- this._lambda = lambda;
229
- this._breaksAreDirty = true;
230
- }
231
- /**
232
- * Gets the view matrix corresponding to a given cascade
233
- * @param cascadeNum cascade to retrieve the view matrix from
234
- * @returns the cascade view matrix
235
- */
236
- getCascadeViewMatrix(cascadeNum) {
237
- return cascadeNum >= 0 && cascadeNum < this._numCascades ? this._viewMatrices[cascadeNum] : null;
238
- }
239
- /**
240
- * Gets the projection matrix corresponding to a given cascade
241
- * @param cascadeNum cascade to retrieve the projection matrix from
242
- * @returns the cascade projection matrix
243
- */
244
- getCascadeProjectionMatrix(cascadeNum) {
245
- return cascadeNum >= 0 && cascadeNum < this._numCascades ? this._projectionMatrices[cascadeNum] : null;
246
- }
247
- /**
248
- * Gets the transformation matrix corresponding to a given cascade
249
- * @param cascadeNum cascade to retrieve the transformation matrix from
250
- * @returns the cascade transformation matrix
251
- */
252
- getCascadeTransformMatrix(cascadeNum) {
253
- return cascadeNum >= 0 && cascadeNum < this._numCascades ? this._transformMatrices[cascadeNum] : null;
254
- }
255
- /**
256
- * Sets the depth renderer to use when autoCalcDepthBounds is enabled.
257
- *
258
- * Note that if no depth renderer is set, a new one will be automatically created internally when necessary.
259
- *
260
- * You should call this function if you already have a depth renderer enabled in your scene, to avoid
261
- * doing multiple depth rendering each frame. If you provide your own depth renderer, make sure it stores linear depth!
262
- * @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
263
- */
264
- setDepthRenderer(depthRenderer) {
265
- this._depthRenderer = depthRenderer;
266
- if (this._depthReducer) {
267
- this._depthReducer.setDepthRenderer(this._depthRenderer);
268
- }
269
- }
270
- /**
271
- * Gets or sets the autoCalcDepthBounds property.
272
- *
273
- * When enabled, a depth rendering pass is first performed (with an internally created depth renderer or with the one
274
- * you provide by calling setDepthRenderer). Then, a min/max reducing is applied on the depth map to compute the
275
- * minimal and maximal depth of the map and those values are used as inputs for the setMinMaxDistance() function.
276
- * It can greatly enhance the shadow quality, at the expense of more GPU works.
277
- * When using this option, you should increase the value of the lambda parameter, and even set it to 1 for best results.
278
- */
279
- get autoCalcDepthBounds() {
280
- return this._autoCalcDepthBounds;
281
- }
282
- set autoCalcDepthBounds(value) {
283
- const camera = this._getCamera();
284
- if (!camera) {
285
- return;
286
- }
287
- this._autoCalcDepthBounds = value;
288
- if (!value) {
289
- if (this._depthReducer) {
290
- this._depthReducer.deactivate();
291
- }
292
- this.setMinMaxDistance(0, 1);
293
- return;
294
- }
295
- if (!this._depthReducer) {
296
- this._depthReducer = new DepthReducer(camera);
297
- this._depthReducer.onAfterReductionPerformed.add((minmax) => {
298
- let min = minmax.min, max = minmax.max;
299
- if (min >= max) {
300
- min = 0;
301
- max = 1;
302
- }
303
- if (min != this._minDistance || max != this._maxDistance) {
304
- this.setMinMaxDistance(min, max);
305
- }
306
- });
307
- this._depthReducer.setDepthRenderer(this._depthRenderer);
308
- }
309
- this._depthReducer.activate();
310
- }
311
- /**
312
- * Defines the refresh rate of the min/max computation used when autoCalcDepthBounds is set to true
313
- * Use 0 to compute just once, 1 to compute on every frame, 2 to compute every two frames and so on...
314
- * Note that if you provided your own depth renderer through a call to setDepthRenderer, you are responsible
315
- * for setting the refresh rate on the renderer yourself!
316
- */
317
- get autoCalcDepthBoundsRefreshRate() {
318
- return this._depthReducer?.depthRenderer?.getDepthMap().refreshRate ?? -1;
319
- }
320
- set autoCalcDepthBoundsRefreshRate(value) {
321
- if (this._depthReducer?.depthRenderer) {
322
- this._depthReducer.depthRenderer.getDepthMap().refreshRate = value;
323
- }
324
- }
325
- /**
326
- * Create the cascade breaks according to the lambda, shadowMaxZ and min/max distance properties, as well as the camera near and far planes.
327
- * This function is automatically called when updating lambda, shadowMaxZ and min/max distances, however you should call it yourself if
328
- * you change the camera near/far planes!
329
- */
330
- splitFrustum() {
331
- this._breaksAreDirty = true;
332
- }
333
- _splitFrustum() {
334
- const camera = this._getCamera();
335
- if (!camera) {
336
- return;
337
- }
338
- const near = camera.minZ, far = camera.maxZ || this._shadowMaxZ, // account for infinite far plane (ie. maxZ = 0)
339
- cameraRange = far - near, minDistance = this._minDistance, maxDistance = this._shadowMaxZ < far && this._shadowMaxZ >= near ? Math.min((this._shadowMaxZ - near) / (far - near), this._maxDistance) : this._maxDistance;
340
- const minZ = near + minDistance * cameraRange, maxZ = near + maxDistance * cameraRange;
341
- const range = maxZ - minZ, ratio = maxZ / minZ;
342
- for (let cascadeIndex = 0; cascadeIndex < this._cascades.length; ++cascadeIndex) {
343
- const p = (cascadeIndex + 1) / this._numCascades, log = minZ * ratio ** p, uniform = minZ + range * p;
344
- const d = this._lambda * (log - uniform) + uniform;
345
- this._cascades[cascadeIndex].prevBreakDistance = cascadeIndex === 0 ? minDistance : this._cascades[cascadeIndex - 1].breakDistance;
346
- this._cascades[cascadeIndex].breakDistance = (d - near) / cameraRange;
347
- this._viewSpaceFrustumsZ[cascadeIndex] = d;
348
- this._frustumLengths[cascadeIndex] = (this._cascades[cascadeIndex].breakDistance - this._cascades[cascadeIndex].prevBreakDistance) * cameraRange;
349
- }
350
- this._breaksAreDirty = false;
351
- }
352
- _computeMatrices() {
353
- const scene = this._scene;
354
- const camera = this._getCamera();
355
- if (!camera) {
356
- return;
357
- }
358
- Vector3.NormalizeToRef(this._light.getShadowDirection(0), this._lightDirection);
359
- if (Math.abs(Vector3.Dot(this._lightDirection, Vector3.Up())) === 1.0) {
360
- this._lightDirection.z = 0.0000000000001; // Required to avoid perfectly perpendicular light
361
- }
362
- this._cachedDirection.copyFrom(this._lightDirection);
363
- const useReverseDepthBuffer = scene.getEngine().useReverseDepthBuffer;
364
- for (let cascadeIndex = 0; cascadeIndex < this._numCascades; ++cascadeIndex) {
365
- this._computeFrustumInWorldSpace(cascadeIndex);
366
- this._computeCascadeFrustum(cascadeIndex);
367
- this._cascadeMaxExtents[cascadeIndex].subtractToRef(this._cascadeMinExtents[cascadeIndex], Tmpv1); // tmpv1 = cascadeExtents
368
- // Get position of the shadow camera
369
- this._frustumCenter[cascadeIndex].addToRef(this._lightDirection.scale(this._cascadeMinExtents[cascadeIndex].z), this._shadowCameraPos[cascadeIndex]);
370
- // Come up with a new orthographic camera for the shadow caster
371
- Matrix.LookAtLHToRef(this._shadowCameraPos[cascadeIndex], this._frustumCenter[cascadeIndex], UpDir, this._viewMatrices[cascadeIndex]);
372
- // Z extents of the current cascade, in cascade view coordinate system
373
- let viewMinZ = 0, viewMaxZ = Tmpv1.z;
374
- // Try to tighten minZ and maxZ based on the bounding box of the shadow casters
375
- const boundingInfo = this._shadowCastersBoundingInfo;
376
- boundingInfo.update(this._viewMatrices[cascadeIndex]);
377
- // Note that after the call to update, the boundingInfo properties that are identified as "world" coordinates are in fact view coordinates for the current cascade!
378
- // This is because the boundingInfo properties that are identifed as "local" are in fact world coordinates (see _computeShadowCastersBoundingInfo()), and we multiply them by the current cascade view matrix when we call update.
379
- const castersViewMinZ = boundingInfo.boundingBox.minimumWorld.z;
380
- const castersViewMaxZ = boundingInfo.boundingBox.maximumWorld.z;
381
- if (castersViewMinZ > viewMaxZ) {
382
- // Do nothing, keep the current z extents.
383
- // All the casters are too far from the light to have an impact on the current cascade.
384
- // Possible optimization: skip the rendering of the shadow map for this cascade, as all the casters will be clipped by the GPU anyway.
385
- }
386
- else {
387
- if (!this._depthClamp || this.filter === ShadowGenerator.FILTER_PCSS) {
388
- // If we don't use depth clamping, we must define minZ so that all shadow casters are in the cascade frustum
389
- viewMinZ = Math.min(viewMinZ, castersViewMinZ);
390
- if (this.filter !== ShadowGenerator.FILTER_PCSS) {
391
- // We do not need the actual distance between the currently shaded pixel and the occluder when generating shadows, so we can lower the far plane to increase the accuracy of the shadow map.
392
- viewMaxZ = Math.min(viewMaxZ, castersViewMaxZ);
393
- }
394
- }
395
- else {
396
- // If we use depth clamping (but not PCSS!), we can adjust minZ/maxZ to reduce the range [minZ, maxZ] (and obtain additional precision in the shadow map)
397
- viewMaxZ = Math.min(viewMaxZ, castersViewMaxZ);
398
- // Thanks to depth clamping, casters won't be Z clipped even if they fall outside the [-1,1] range, so we can move the near plane to 0 if castersViewMinZ < 0.
399
- // We will generate negative Z values in the shadow map, but that's okay (they will be clamped to the 0..1 range anyway), except in PCSS case
400
- // where we need the actual distance between the currently shader pixel and the occluder: that's why we don't use depth clamping in PCSS case.
401
- viewMinZ = Math.max(viewMinZ, castersViewMinZ);
402
- // If all the casters are behind the near plane of the cascade, minZ = 0 due to the previous line, and maxZ < 0 at this point.
403
- // We need to make sure that maxZ > minZ, so in this case we set maxZ a little higher than minZ. As we are using depth clamping, the casters won't be Z clipped, so we just need to make sure that we have a valid Z range for the cascade.
404
- // Having a 0 range is not ok, due to undefined behavior in the calculation in this case.
405
- viewMaxZ = Math.max(viewMinZ + 1.0, viewMaxZ);
406
- }
407
- }
408
- Matrix.OrthoOffCenterLHToRef(this._cascadeMinExtents[cascadeIndex].x, this._cascadeMaxExtents[cascadeIndex].x, this._cascadeMinExtents[cascadeIndex].y, this._cascadeMaxExtents[cascadeIndex].y, useReverseDepthBuffer ? viewMaxZ : viewMinZ, useReverseDepthBuffer ? viewMinZ : viewMaxZ, this._projectionMatrices[cascadeIndex], scene.getEngine().isNDCHalfZRange);
409
- this._cascadeMinExtents[cascadeIndex].z = viewMinZ;
410
- this._cascadeMaxExtents[cascadeIndex].z = viewMaxZ;
411
- this._viewMatrices[cascadeIndex].multiplyToRef(this._projectionMatrices[cascadeIndex], this._transformMatrices[cascadeIndex]);
412
- // Create the rounding matrix, by projecting the world-space origin and determining
413
- // the fractional offset in texel space
414
- Vector3.TransformCoordinatesToRef(ZeroVec, this._transformMatrices[cascadeIndex], Tmpv1); // tmpv1 = shadowOrigin
415
- Tmpv1.scaleInPlace(this._mapSize / 2);
416
- Tmpv2.copyFromFloats(Math.round(Tmpv1.x), Math.round(Tmpv1.y), Math.round(Tmpv1.z)); // tmpv2 = roundedOrigin
417
- Tmpv2.subtractInPlace(Tmpv1).scaleInPlace(2 / this._mapSize); // tmpv2 = roundOffset
418
- Matrix.TranslationToRef(Tmpv2.x, Tmpv2.y, 0.0, TmpMatrix);
419
- this._projectionMatrices[cascadeIndex].multiplyToRef(TmpMatrix, this._projectionMatrices[cascadeIndex]);
420
- this._viewMatrices[cascadeIndex].multiplyToRef(this._projectionMatrices[cascadeIndex], this._transformMatrices[cascadeIndex]);
421
- this._transformMatrices[cascadeIndex].copyToArray(this._transformMatricesAsArray, cascadeIndex * 16);
422
- }
423
- }
424
- // Get the 8 points of the view frustum in world space
425
- _computeFrustumInWorldSpace(cascadeIndex) {
426
- const camera = this._getCamera();
427
- if (!camera) {
428
- return;
429
- }
430
- const prevSplitDist = this._cascades[cascadeIndex].prevBreakDistance, splitDist = this._cascades[cascadeIndex].breakDistance;
431
- const isNDCHalfZRange = this._scene.getEngine().isNDCHalfZRange;
432
- camera.getViewMatrix(); // make sure the transformation matrix we get when calling 'getTransformationMatrix()' is calculated with an up to date view matrix
433
- const cameraInfiniteFarPlane = camera.maxZ === 0;
434
- const saveCameraMaxZ = camera.maxZ;
435
- if (cameraInfiniteFarPlane) {
436
- camera.maxZ = this._shadowMaxZ;
437
- camera.getProjectionMatrix(true);
438
- }
439
- const invViewProj = Matrix.Invert(camera.getTransformationMatrix());
440
- if (cameraInfiniteFarPlane) {
441
- camera.maxZ = saveCameraMaxZ;
442
- camera.getProjectionMatrix(true);
443
- }
444
- const cornerIndexOffset = this._scene.getEngine().useReverseDepthBuffer ? 4 : 0;
445
- for (let cornerIndex = 0; cornerIndex < CascadedShadowGenerator._FrustumCornersNdcSpace.length; ++cornerIndex) {
446
- Tmpv1.copyFrom(CascadedShadowGenerator._FrustumCornersNdcSpace[(cornerIndex + cornerIndexOffset) % CascadedShadowGenerator._FrustumCornersNdcSpace.length]);
447
- if (isNDCHalfZRange && Tmpv1.z === -1) {
448
- Tmpv1.z = 0;
449
- }
450
- Vector3.TransformCoordinatesToRef(Tmpv1, invViewProj, this._frustumCornersWorldSpace[cascadeIndex][cornerIndex]);
451
- }
452
- // Get the corners of the current cascade slice of the view frustum
453
- for (let cornerIndex = 0; cornerIndex < CascadedShadowGenerator._FrustumCornersNdcSpace.length / 2; ++cornerIndex) {
454
- Tmpv1.copyFrom(this._frustumCornersWorldSpace[cascadeIndex][cornerIndex + 4]).subtractInPlace(this._frustumCornersWorldSpace[cascadeIndex][cornerIndex]);
455
- Tmpv2.copyFrom(Tmpv1).scaleInPlace(prevSplitDist); // near corner ray
456
- Tmpv1.scaleInPlace(splitDist); // far corner ray
457
- Tmpv1.addInPlace(this._frustumCornersWorldSpace[cascadeIndex][cornerIndex]);
458
- this._frustumCornersWorldSpace[cascadeIndex][cornerIndex + 4].copyFrom(Tmpv1);
459
- this._frustumCornersWorldSpace[cascadeIndex][cornerIndex].addInPlace(Tmpv2);
460
- }
461
- }
462
- _computeCascadeFrustum(cascadeIndex) {
463
- this._cascadeMinExtents[cascadeIndex].copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
464
- this._cascadeMaxExtents[cascadeIndex].copyFromFloats(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
465
- this._frustumCenter[cascadeIndex].copyFromFloats(0, 0, 0);
466
- const camera = this._getCamera();
467
- if (!camera) {
468
- return;
469
- }
470
- // Calculate the centroid of the view frustum slice
471
- for (let cornerIndex = 0; cornerIndex < this._frustumCornersWorldSpace[cascadeIndex].length; ++cornerIndex) {
472
- this._frustumCenter[cascadeIndex].addInPlace(this._frustumCornersWorldSpace[cascadeIndex][cornerIndex]);
473
- }
474
- this._frustumCenter[cascadeIndex].scaleInPlace(1 / this._frustumCornersWorldSpace[cascadeIndex].length);
475
- if (this.stabilizeCascades) {
476
- // Calculate the radius of a bounding sphere surrounding the frustum corners
477
- let sphereRadius = 0;
478
- for (let cornerIndex = 0; cornerIndex < this._frustumCornersWorldSpace[cascadeIndex].length; ++cornerIndex) {
479
- const dist = this._frustumCornersWorldSpace[cascadeIndex][cornerIndex].subtractToRef(this._frustumCenter[cascadeIndex], Tmpv1).length();
480
- sphereRadius = Math.max(sphereRadius, dist);
481
- }
482
- sphereRadius = Math.ceil(sphereRadius * 16) / 16;
483
- this._cascadeMaxExtents[cascadeIndex].copyFromFloats(sphereRadius, sphereRadius, sphereRadius);
484
- this._cascadeMinExtents[cascadeIndex].copyFromFloats(-sphereRadius, -sphereRadius, -sphereRadius);
485
- }
486
- else {
487
- // Create a temporary view matrix for the light
488
- const lightCameraPos = this._frustumCenter[cascadeIndex];
489
- this._frustumCenter[cascadeIndex].addToRef(this._lightDirection, Tmpv1); // tmpv1 = look at
490
- Matrix.LookAtLHToRef(lightCameraPos, Tmpv1, UpDir, TmpMatrix); // matrix = lightView
491
- // Calculate an AABB around the frustum corners
492
- for (let cornerIndex = 0; cornerIndex < this._frustumCornersWorldSpace[cascadeIndex].length; ++cornerIndex) {
493
- Vector3.TransformCoordinatesToRef(this._frustumCornersWorldSpace[cascadeIndex][cornerIndex], TmpMatrix, Tmpv1);
494
- this._cascadeMinExtents[cascadeIndex].minimizeInPlace(Tmpv1);
495
- this._cascadeMaxExtents[cascadeIndex].maximizeInPlace(Tmpv1);
496
- }
497
- }
498
- }
499
- _recreateSceneUBOs() {
500
- this._disposeSceneUBOs();
501
- if (this._sceneUBOs) {
502
- for (let i = 0; i < this._numCascades; ++i) {
503
- this._sceneUBOs.push(this._scene.createSceneUniformBuffer(`Scene for CSM Shadow Generator (light "${this._light.name}" cascade #${i})`, { forceMono: true }));
504
- }
505
- }
506
- }
507
- /**
508
- * Support test.
509
- */
510
- static get IsSupported() {
511
- const engine = EngineStore.LastCreatedEngine;
512
- if (!engine) {
513
- return false;
514
- }
515
- return engine._features.supportCSM;
516
- }
517
- /**
518
- * Creates a Cascaded Shadow Generator object.
519
- * A ShadowGenerator is the required tool to use the shadows.
520
- * Each directional light casting shadows needs to use its own ShadowGenerator.
521
- * Documentation : https://doc.babylonjs.com/babylon101/cascadedShadows
522
- * @param mapSize The size of the texture what stores the shadows. Example : 1024.
523
- * @param light The directional light object generating the shadows.
524
- * @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.
525
- * @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
526
- * @param useRedTextureType Forces the generator to use a Red instead of a RGBA type for the shadow map texture format (default: true)
527
- */
528
- constructor(mapSize, light, usefulFloatFirst, camera, useRedTextureType = true) {
529
- if (!CascadedShadowGenerator.IsSupported) {
530
- Logger.Error("CascadedShadowMap is not supported by the current engine.");
531
- return;
532
- }
533
- super(mapSize, light, usefulFloatFirst, camera, useRedTextureType);
534
- this.usePercentageCloserFiltering = true;
535
- }
536
- _initializeGenerator() {
537
- this.penumbraDarkness = this.penumbraDarkness ?? 1.0;
538
- this._numCascades = this._numCascades ?? CascadedShadowGenerator.DEFAULT_CASCADES_COUNT;
539
- this.stabilizeCascades = this.stabilizeCascades ?? false;
540
- this._freezeShadowCastersBoundingInfoObservable = this._freezeShadowCastersBoundingInfoObservable ?? null;
541
- this.freezeShadowCastersBoundingInfo = this.freezeShadowCastersBoundingInfo ?? false;
542
- this._scbiMin = this._scbiMin ?? new Vector3(0, 0, 0);
543
- this._scbiMax = this._scbiMax ?? new Vector3(0, 0, 0);
544
- this._shadowCastersBoundingInfo = this._shadowCastersBoundingInfo ?? new BoundingInfo(new Vector3(0, 0, 0), new Vector3(0, 0, 0));
545
- this._breaksAreDirty = this._breaksAreDirty ?? true;
546
- this._minDistance = this._minDistance ?? 0;
547
- this._maxDistance = this._maxDistance ?? 1;
548
- this._currentLayer = this._currentLayer ?? 0;
549
- this._shadowMaxZ = this._shadowMaxZ ?? this._getCamera()?.maxZ ?? 10000;
550
- this._debug = this._debug ?? false;
551
- this._depthClamp = this._depthClamp ?? true;
552
- this._cascadeBlendPercentage = this._cascadeBlendPercentage ?? 0.1;
553
- this._lambda = this._lambda ?? 0.5;
554
- this._autoCalcDepthBounds = this._autoCalcDepthBounds ?? false;
555
- this._recreateSceneUBOs();
556
- super._initializeGenerator();
557
- }
558
- _createTargetRenderTexture() {
559
- const engine = this._scene.getEngine();
560
- this._shadowMap?.dispose();
561
- const size = { width: this._mapSize, height: this._mapSize, layers: this.numCascades };
562
- this._shadowMap = new RenderTargetTexture(this._light.name + "_CSMShadowMap", size, this._scene, false, true, this._textureType, false, undefined, false, false, undefined, this._useRedTextureType ? 6 : 5);
563
- this._shadowMap.createDepthStencilTexture(engine.useReverseDepthBuffer ? 516 : 513, true, undefined, undefined, undefined, `DepthStencilForCSMShadowGenerator-${this._light.name}`);
564
- this._shadowMap.noPrePassRenderer = true;
565
- }
566
- _initializeShadowMap() {
567
- super._initializeShadowMap();
568
- if (this._shadowMap === null) {
569
- return;
570
- }
571
- this._transformMatricesAsArray = new Float32Array(this._numCascades * 16);
572
- this._tempTransformMatricesAsArray = new Float32Array(this._numCascades * 16);
573
- this._viewSpaceFrustumsZ = new Array(this._numCascades);
574
- this._frustumLengths = new Array(this._numCascades);
575
- this._lightSizeUVCorrection = new Array(this._numCascades * 2);
576
- this._depthCorrection = new Array(this._numCascades);
577
- this._cascades = [];
578
- this._viewMatrices = [];
579
- this._projectionMatrices = [];
580
- this._transformMatrices = [];
581
- this._cascadeMinExtents = [];
582
- this._cascadeMaxExtents = [];
583
- this._frustumCenter = [];
584
- this._shadowCameraPos = [];
585
- this._frustumCornersWorldSpace = [];
586
- for (let cascadeIndex = 0; cascadeIndex < this._numCascades; ++cascadeIndex) {
587
- this._cascades[cascadeIndex] = {
588
- prevBreakDistance: 0,
589
- breakDistance: 0,
590
- };
591
- this._viewMatrices[cascadeIndex] = Matrix.Zero();
592
- this._projectionMatrices[cascadeIndex] = Matrix.Zero();
593
- this._transformMatrices[cascadeIndex] = Matrix.Zero();
594
- this._cascadeMinExtents[cascadeIndex] = new Vector3();
595
- this._cascadeMaxExtents[cascadeIndex] = new Vector3();
596
- this._frustumCenter[cascadeIndex] = new Vector3();
597
- this._shadowCameraPos[cascadeIndex] = new Vector3();
598
- this._frustumCornersWorldSpace[cascadeIndex] = new Array(CascadedShadowGenerator._FrustumCornersNdcSpace.length);
599
- for (let i = 0; i < CascadedShadowGenerator._FrustumCornersNdcSpace.length; ++i) {
600
- this._frustumCornersWorldSpace[cascadeIndex][i] = new Vector3();
601
- }
602
- }
603
- const engine = this._scene.getEngine();
604
- this._shadowMap.onBeforeBindObservable.clear();
605
- this._shadowMap.onBeforeRenderObservable.clear();
606
- this._shadowMap.onBeforeRenderObservable.add((layer) => {
607
- if (this._sceneUBOs) {
608
- this._scene.setSceneUniformBuffer(this._sceneUBOs[layer]);
609
- }
610
- this._currentLayer = layer;
611
- if (this._filter === ShadowGenerator.FILTER_PCF) {
612
- engine.setColorWrite(false);
613
- }
614
- FloatingOriginCurrentScene.eyeAtCamera = false;
615
- this._scene.setTransformMatrix(this.getCascadeViewMatrix(layer), this.getCascadeProjectionMatrix(layer));
616
- if (this._useUBO) {
617
- this._scene.getSceneUniformBuffer().unbindEffect();
618
- this._scene.finalizeSceneUbo();
619
- }
620
- });
621
- this._shadowMap.onBeforeBindObservable.add(() => {
622
- this._currentSceneUBO = this._scene.getSceneUniformBuffer();
623
- if (engine._enableGPUDebugMarkers) {
624
- engine._debugPushGroup?.(`Cascaded shadow map generation for pass id ${engine.currentRenderPassId}`);
625
- }
626
- if (this._breaksAreDirty) {
627
- this._splitFrustum();
628
- }
629
- this._computeMatrices();
630
- });
631
- this._splitFrustum();
632
- }
633
- _bindCustomEffectForRenderSubMeshForShadowMap(subMesh, effect) {
634
- effect.setMatrix("viewProjection", this.getCascadeTransformMatrix(this._currentLayer));
635
- }
636
- _isReadyCustomDefines(defines) {
637
- defines.push("#define SM_DEPTHCLAMP " + (this._depthClamp && this._filter !== ShadowGenerator.FILTER_PCSS ? "1" : "0"));
638
- }
639
- /**
640
- * Prepare all the defines in a material relying on a shadow map at the specified light index.
641
- * @param defines Defines of the material we want to update
642
- * @param lightIndex Index of the light in the enabled light list of the material
643
- */
644
- prepareDefines(defines, lightIndex) {
645
- super.prepareDefines(defines, lightIndex);
646
- const scene = this._scene;
647
- const light = this._light;
648
- if (!scene.shadowsEnabled || !light.shadowEnabled) {
649
- return;
650
- }
651
- defines["SHADOWCSM" + lightIndex] = true;
652
- defines["SHADOWCSMDEBUG" + lightIndex] = this.debug;
653
- defines["SHADOWCSMNUM_CASCADES" + lightIndex] = this.numCascades;
654
- defines["SHADOWCSM_RIGHTHANDED" + lightIndex] = scene.useRightHandedSystem;
655
- const camera = this._getCamera();
656
- if (camera && this._shadowMaxZ <= (camera.maxZ || this._shadowMaxZ)) {
657
- defines["SHADOWCSMUSESHADOWMAXZ" + lightIndex] = true;
658
- }
659
- if (this.cascadeBlendPercentage === 0) {
660
- defines["SHADOWCSMNOBLEND" + lightIndex] = true;
661
- }
662
- }
663
- /**
664
- * Binds the shadow related information inside of an effect (information like near, far, darkness...
665
- * defined in the generator but impacting the effect).
666
- * @param lightIndex Index of the light in the enabled light list of the material owning the effect
667
- * @param effect The effect we are binfing the information for
668
- */
669
- bindShadowLight(lightIndex, effect) {
670
- const light = this._light;
671
- const scene = this._scene;
672
- if (!scene.shadowsEnabled || !light.shadowEnabled) {
673
- return;
674
- }
675
- const camera = this._getCamera();
676
- if (!camera) {
677
- return;
678
- }
679
- const shadowMap = this.getShadowMap();
680
- if (!shadowMap) {
681
- return;
682
- }
683
- const width = shadowMap.getSize().width;
684
- const transform = this._transformMatricesAsArray;
685
- // Doing the check for floatingOrigin here to avoid unnecessary matrix operations when offset is 0
686
- const lightMatrix = scene.floatingOriginMode
687
- ? GetOffsetTransformMatrices(this._scene.floatingOriginOffset, this._viewMatrices, this._projectionMatrices, this._numCascades, this._tempTransformMatricesAsArray)
688
- : transform;
689
- effect.setMatrices("lightMatrix" + lightIndex, lightMatrix);
690
- effect.setArray("viewFrustumZ" + lightIndex, this._viewSpaceFrustumsZ);
691
- effect.setFloat("cascadeBlendFactor" + lightIndex, this.cascadeBlendPercentage === 0 ? 10000 : 1 / this.cascadeBlendPercentage);
692
- effect.setArray("frustumLengths" + lightIndex, this._frustumLengths);
693
- // Only PCF uses depth stencil texture.
694
- if (this._filter === ShadowGenerator.FILTER_PCF) {
695
- effect.setDepthStencilTexture("shadowTexture" + lightIndex, shadowMap);
696
- light._uniformBuffer.updateFloat4("shadowsInfo", this.getDarkness(), width, 1 / width, this.frustumEdgeFalloff, lightIndex);
697
- }
698
- else if (this._filter === ShadowGenerator.FILTER_PCSS) {
699
- for (let cascadeIndex = 0; cascadeIndex < this._numCascades; ++cascadeIndex) {
700
- this._lightSizeUVCorrection[cascadeIndex * 2 + 0] =
701
- cascadeIndex === 0
702
- ? 1
703
- : (this._cascadeMaxExtents[0].x - this._cascadeMinExtents[0].x) / (this._cascadeMaxExtents[cascadeIndex].x - this._cascadeMinExtents[cascadeIndex].x); // x correction
704
- this._lightSizeUVCorrection[cascadeIndex * 2 + 1] =
705
- cascadeIndex === 0
706
- ? 1
707
- : (this._cascadeMaxExtents[0].y - this._cascadeMinExtents[0].y) / (this._cascadeMaxExtents[cascadeIndex].y - this._cascadeMinExtents[cascadeIndex].y); // y correction
708
- this._depthCorrection[cascadeIndex] =
709
- cascadeIndex === 0
710
- ? 1
711
- : (this._cascadeMaxExtents[cascadeIndex].z - this._cascadeMinExtents[cascadeIndex].z) / (this._cascadeMaxExtents[0].z - this._cascadeMinExtents[0].z);
712
- }
713
- effect.setDepthStencilTexture("shadowTexture" + lightIndex, shadowMap);
714
- effect.setTexture("depthTexture" + lightIndex, shadowMap);
715
- effect.setArray2("lightSizeUVCorrection" + lightIndex, this._lightSizeUVCorrection);
716
- effect.setArray("depthCorrection" + lightIndex, this._depthCorrection);
717
- effect.setFloat("penumbraDarkness" + lightIndex, this.penumbraDarkness);
718
- light._uniformBuffer.updateFloat4("shadowsInfo", this.getDarkness(), 1 / width, this._contactHardeningLightSizeUVRatio * width, this.frustumEdgeFalloff, lightIndex);
719
- }
720
- else {
721
- effect.setTexture("shadowTexture" + lightIndex, shadowMap);
722
- light._uniformBuffer.updateFloat4("shadowsInfo", this.getDarkness(), width, 1 / width, this.frustumEdgeFalloff, lightIndex);
723
- }
724
- light._uniformBuffer.updateFloat2("depthValues", this.getLight().getDepthMinZ(camera), this.getLight().getDepthMinZ(camera) + this.getLight().getDepthMaxZ(camera), lightIndex);
725
- }
726
- /**
727
- * Gets the transformation matrix of the first cascade used to project the meshes into the map from the light point of view.
728
- * (eq to view projection * shadow projection matrices)
729
- * @returns The transform matrix used to create the shadow map
730
- */
731
- getTransformMatrix() {
732
- return this.getCascadeTransformMatrix(0);
733
- }
734
- /**
735
- * Disposes the ShadowGenerator.
736
- * Returns nothing.
737
- */
738
- dispose() {
739
- super.dispose();
740
- if (this._freezeShadowCastersBoundingInfoObservable) {
741
- this._scene.onBeforeRenderObservable.remove(this._freezeShadowCastersBoundingInfoObservable);
742
- this._freezeShadowCastersBoundingInfoObservable = null;
743
- }
744
- if (this._depthReducer) {
745
- this._depthReducer.dispose();
746
- this._depthReducer = null;
747
- }
748
- }
749
- /**
750
- * Serializes the shadow generator setup to a json object.
751
- * @returns The serialized JSON object
752
- */
753
- serialize() {
754
- const serializationObject = super.serialize();
755
- const shadowMap = this.getShadowMap();
756
- if (!shadowMap) {
757
- return serializationObject;
758
- }
759
- serializationObject.numCascades = this._numCascades;
760
- serializationObject.debug = this._debug;
761
- serializationObject.stabilizeCascades = this.stabilizeCascades;
762
- serializationObject.lambda = this._lambda;
763
- serializationObject.cascadeBlendPercentage = this.cascadeBlendPercentage;
764
- serializationObject.depthClamp = this._depthClamp;
765
- serializationObject.autoCalcDepthBounds = this.autoCalcDepthBounds;
766
- serializationObject.shadowMaxZ = this._shadowMaxZ;
767
- serializationObject.penumbraDarkness = this.penumbraDarkness;
768
- serializationObject.freezeShadowCastersBoundingInfo = this._freezeShadowCastersBoundingInfo;
769
- serializationObject.minDistance = this.minDistance;
770
- serializationObject.maxDistance = this.maxDistance;
771
- serializationObject.renderList = [];
772
- if (shadowMap.renderList) {
773
- for (let meshIndex = 0; meshIndex < shadowMap.renderList.length; meshIndex++) {
774
- const mesh = shadowMap.renderList[meshIndex];
775
- serializationObject.renderList.push(mesh.id);
776
- }
777
- }
778
- return serializationObject;
779
- }
780
- /**
781
- * Parses a serialized ShadowGenerator and returns a new ShadowGenerator.
782
- * @param parsedShadowGenerator The JSON object to parse
783
- * @param scene The scene to create the shadow map for
784
- * @returns The parsed shadow generator
785
- */
786
- static Parse(parsedShadowGenerator, scene) {
787
- const shadowGenerator = ShadowGenerator.Parse(parsedShadowGenerator, scene, (mapSize, light, camera) => new CascadedShadowGenerator(mapSize, light, undefined, camera));
788
- if (parsedShadowGenerator.numCascades !== undefined) {
789
- shadowGenerator.numCascades = parsedShadowGenerator.numCascades;
790
- }
791
- if (parsedShadowGenerator.debug !== undefined) {
792
- shadowGenerator.debug = parsedShadowGenerator.debug;
793
- }
794
- if (parsedShadowGenerator.stabilizeCascades !== undefined) {
795
- shadowGenerator.stabilizeCascades = parsedShadowGenerator.stabilizeCascades;
796
- }
797
- if (parsedShadowGenerator.lambda !== undefined) {
798
- shadowGenerator.lambda = parsedShadowGenerator.lambda;
799
- }
800
- if (parsedShadowGenerator.cascadeBlendPercentage !== undefined) {
801
- shadowGenerator.cascadeBlendPercentage = parsedShadowGenerator.cascadeBlendPercentage;
802
- }
803
- if (parsedShadowGenerator.depthClamp !== undefined) {
804
- shadowGenerator.depthClamp = parsedShadowGenerator.depthClamp;
805
- }
806
- if (parsedShadowGenerator.autoCalcDepthBounds !== undefined) {
807
- shadowGenerator.autoCalcDepthBounds = parsedShadowGenerator.autoCalcDepthBounds;
808
- }
809
- if (parsedShadowGenerator.shadowMaxZ !== undefined) {
810
- shadowGenerator.shadowMaxZ = parsedShadowGenerator.shadowMaxZ;
811
- }
812
- if (parsedShadowGenerator.penumbraDarkness !== undefined) {
813
- shadowGenerator.penumbraDarkness = parsedShadowGenerator.penumbraDarkness;
814
- }
815
- if (parsedShadowGenerator.freezeShadowCastersBoundingInfo !== undefined) {
816
- shadowGenerator.freezeShadowCastersBoundingInfo = parsedShadowGenerator.freezeShadowCastersBoundingInfo;
817
- }
818
- if (parsedShadowGenerator.minDistance !== undefined && parsedShadowGenerator.maxDistance !== undefined) {
819
- shadowGenerator.setMinMaxDistance(parsedShadowGenerator.minDistance, parsedShadowGenerator.maxDistance);
820
- }
821
- return shadowGenerator;
822
- }
823
- }
824
- CascadedShadowGenerator._FrustumCornersNdcSpace = [
825
- new Vector3(-1.0, +1.0, -1.0),
826
- new Vector3(+1.0, +1.0, -1.0),
827
- new Vector3(+1.0, -1.0, -1.0),
828
- new Vector3(-1.0, -1.0, -1.0),
829
- new Vector3(-1.0, +1.0, +1.0),
830
- new Vector3(+1.0, +1.0, +1.0),
831
- new Vector3(+1.0, -1.0, +1.0),
832
- new Vector3(-1.0, -1.0, +1.0),
833
- ];
834
- /**
835
- * Name of the CSM class
836
- */
837
- CascadedShadowGenerator.CLASSNAME = "CascadedShadowGenerator";
838
- /**
839
- * Defines the default number of cascades used by the CSM.
840
- */
841
- CascadedShadowGenerator.DEFAULT_CASCADES_COUNT = 4;
842
- /**
843
- * Defines the minimum number of cascades used by the CSM.
844
- */
845
- CascadedShadowGenerator.MIN_CASCADES_COUNT = 2;
846
- /**
847
- * Defines the maximum number of cascades used by the CSM.
848
- */
849
- CascadedShadowGenerator.MAX_CASCADES_COUNT = 4;
850
- /**
851
- * @internal
852
- */
853
- CascadedShadowGenerator._SceneComponentInitialization = (_) => {
854
- throw _WarnImport("ShadowGeneratorSceneComponent");
855
- };
856
- // Register the CSG parser on ShadowGenerator so the scene component can dispatch without importing this file directly.
857
- ShadowGenerator._CascadedShadowGeneratorParser = (parsedShadowGenerator, scene) => CascadedShadowGenerator.Parse(parsedShadowGenerator, scene);
1
+ export * from "./cascadedShadowGenerator.pure.js";
2
+ import { RegisterCascadedShadowGenerator } from "./cascadedShadowGenerator.pure.js";
3
+ RegisterCascadedShadowGenerator();
858
4
  //# sourceMappingURL=cascadedShadowGenerator.js.map