@babylonjs/core 5.0.0-alpha.48 → 5.0.0-alpha.51

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 (1305) hide show
  1. package/Actions/action.js +5 -5
  2. package/Actions/action.js.map +1 -1
  3. package/Actions/actionManager.js +11 -11
  4. package/Actions/actionManager.js.map +1 -1
  5. package/Actions/condition.js +5 -5
  6. package/Actions/condition.js.map +1 -1
  7. package/Actions/directActions.js +13 -13
  8. package/Actions/directActions.js.map +1 -1
  9. package/Actions/directAudioActions.js +4 -4
  10. package/Actions/directAudioActions.js.map +1 -1
  11. package/Actions/index.js +8 -8
  12. package/Actions/interpolateValueAction.js +8 -8
  13. package/Actions/interpolateValueAction.js.map +1 -1
  14. package/Animations/animatable.js +12 -7
  15. package/Animations/animatable.js.map +1 -1
  16. package/Animations/animation.js +11 -11
  17. package/Animations/animation.js.map +1 -1
  18. package/Animations/animationGroup.js +4 -14
  19. package/Animations/animationGroup.js.map +1 -1
  20. package/Animations/animationPropertiesOverride.js +1 -1
  21. package/Animations/easing.js +1 -1
  22. package/Animations/index.js +12 -12
  23. package/Animations/pathCursor.js +1 -1
  24. package/Animations/runtimeAnimation.js +12 -7
  25. package/Animations/runtimeAnimation.js.map +1 -1
  26. package/Audio/analyser.js +2 -2
  27. package/Audio/audioEngine.js +5 -5
  28. package/Audio/audioEngine.js.map +1 -1
  29. package/Audio/audioSceneComponent.js +9 -9
  30. package/Audio/index.js +8 -8
  31. package/Audio/sound.js +7 -7
  32. package/Audio/sound.js.map +1 -1
  33. package/Audio/soundTrack.js +1 -1
  34. package/Audio/weightedsound.js +1 -1
  35. package/Behaviors/Cameras/autoRotationBehavior.js +2 -2
  36. package/Behaviors/Cameras/bouncingBehavior.js +2 -2
  37. package/Behaviors/Cameras/framingBehavior.js +5 -5
  38. package/Behaviors/Cameras/index.js +3 -3
  39. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  40. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +9 -1
  41. package/Behaviors/Meshes/baseSixDofDragBehavior.js +119 -62
  42. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  43. package/Behaviors/Meshes/followBehavior.js +3 -3
  44. package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
  45. package/Behaviors/Meshes/index.js +9 -9
  46. package/Behaviors/Meshes/multiPointerScaleBehavior.js +2 -2
  47. package/Behaviors/Meshes/pointerDragBehavior.js +10 -9
  48. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  49. package/Behaviors/Meshes/sixDofDragBehavior.d.ts +4 -0
  50. package/Behaviors/Meshes/sixDofDragBehavior.js +24 -13
  51. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  52. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +2 -2
  53. package/Behaviors/index.js +3 -3
  54. package/Bones/bone.js +4 -4
  55. package/Bones/boneIKController.js +2 -2
  56. package/Bones/boneLookController.js +3 -3
  57. package/Bones/index.js +4 -4
  58. package/Bones/skeleton.js +9 -9
  59. package/Buffers/buffer.js +2 -5
  60. package/Buffers/buffer.js.map +1 -1
  61. package/Buffers/index.js +3 -3
  62. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +5 -5
  63. package/Cameras/Inputs/BaseCameraPointersInput.js +3 -3
  64. package/Cameras/Inputs/arcRotateCameraGamepadInput.js +3 -3
  65. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +4 -4
  66. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +9 -9
  67. package/Cameras/Inputs/arcRotateCameraPointersInput.js +3 -3
  68. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +3 -3
  69. package/Cameras/Inputs/flyCameraKeyboardInput.js +5 -5
  70. package/Cameras/Inputs/flyCameraMouseInput.js +6 -6
  71. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +4 -4
  72. package/Cameras/Inputs/followCameraMouseWheelInput.js +4 -4
  73. package/Cameras/Inputs/followCameraPointersInput.js +3 -3
  74. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +5 -5
  75. package/Cameras/Inputs/freeCameraGamepadInput.js +4 -4
  76. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +5 -5
  77. package/Cameras/Inputs/freeCameraMouseInput.js +5 -5
  78. package/Cameras/Inputs/freeCameraMouseWheelInput.js +5 -5
  79. package/Cameras/Inputs/freeCameraTouchInput.js +5 -5
  80. package/Cameras/Inputs/freeCameraVirtualJoystickInput.js +4 -4
  81. package/Cameras/Inputs/index.js +19 -19
  82. package/Cameras/RigModes/index.js +4 -4
  83. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +2 -2
  84. package/Cameras/RigModes/stereoscopicRigMode.js +4 -4
  85. package/Cameras/RigModes/vrRigMode.js +6 -6
  86. package/Cameras/RigModes/webVRRigMode.js +2 -2
  87. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js +5 -5
  88. package/Cameras/Stereoscopic/anaglyphFreeCamera.js +5 -5
  89. package/Cameras/Stereoscopic/anaglyphGamepadCamera.js +5 -5
  90. package/Cameras/Stereoscopic/anaglyphUniversalCamera.js +5 -5
  91. package/Cameras/Stereoscopic/index.js +9 -9
  92. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js +5 -5
  93. package/Cameras/Stereoscopic/stereoscopicFreeCamera.js +5 -5
  94. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js +5 -5
  95. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +3 -3
  96. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +29 -16
  97. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  98. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js +5 -5
  99. package/Cameras/VR/index.js +6 -6
  100. package/Cameras/VR/vrCameraMetrics.js +1 -1
  101. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +7 -7
  102. package/Cameras/VR/vrDeviceOrientationFreeCamera.js +6 -6
  103. package/Cameras/VR/vrDeviceOrientationGamepadCamera.js +6 -6
  104. package/Cameras/VR/vrExperienceHelper.d.ts +0 -3
  105. package/Cameras/VR/vrExperienceHelper.js +52 -39
  106. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  107. package/Cameras/VR/webVRCamera.js +13 -13
  108. package/Cameras/arcRotateCamera.d.ts +10 -0
  109. package/Cameras/arcRotateCamera.js +40 -13
  110. package/Cameras/arcRotateCamera.js.map +1 -1
  111. package/Cameras/arcRotateCameraInputsManager.js +4 -4
  112. package/Cameras/camera.js +15 -15
  113. package/Cameras/camera.js.map +1 -1
  114. package/Cameras/cameraInputsManager.js +3 -3
  115. package/Cameras/deviceOrientationCamera.js +5 -5
  116. package/Cameras/flyCamera.js +6 -6
  117. package/Cameras/flyCameraInputsManager.js +3 -3
  118. package/Cameras/followCamera.js +6 -6
  119. package/Cameras/followCameraInputsManager.js +4 -4
  120. package/Cameras/freeCamera.js +6 -6
  121. package/Cameras/freeCameraInputsManager.js +5 -5
  122. package/Cameras/gamepadCamera.js +3 -3
  123. package/Cameras/index.js +20 -20
  124. package/Cameras/targetCamera.js +5 -5
  125. package/Cameras/touchCamera.js +3 -3
  126. package/Cameras/universalCamera.js +5 -5
  127. package/Cameras/virtualJoysticksCamera.js +4 -4
  128. package/Collisions/collider.js +2 -2
  129. package/Collisions/collisionCoordinator.js +4 -4
  130. package/Collisions/index.js +5 -5
  131. package/Collisions/meshCollisionData.js +1 -1
  132. package/Collisions/pickingInfo.d.ts +12 -2
  133. package/Collisions/pickingInfo.js +13 -4
  134. package/Collisions/pickingInfo.js.map +1 -1
  135. package/Compute/computeEffect.js +8 -8
  136. package/Compute/computeEffect.js.map +1 -1
  137. package/Compute/computeShader.js +8 -8
  138. package/Compute/computeShader.js.map +1 -1
  139. package/Compute/index.js +2 -2
  140. package/Culling/Octrees/index.js +3 -3
  141. package/Culling/Octrees/octree.js +2 -2
  142. package/Culling/Octrees/octreeBlock.js +2 -2
  143. package/Culling/Octrees/octreeSceneComponent.js +6 -6
  144. package/Culling/boundingBox.js +3 -3
  145. package/Culling/boundingInfo.js +4 -4
  146. package/Culling/boundingSphere.js +2 -2
  147. package/Culling/index.js +5 -5
  148. package/Culling/ray.js +6 -6
  149. package/Debug/axesViewer.js +4 -4
  150. package/Debug/boneAxesViewer.js +3 -3
  151. package/Debug/debugLayer.js +4 -4
  152. package/Debug/directionalLightFrustumViewer.js +19 -19
  153. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  154. package/Debug/index.js +8 -8
  155. package/Debug/physicsViewer.js +15 -15
  156. package/Debug/physicsViewer.js.map +1 -1
  157. package/Debug/rayHelper.js +5 -5
  158. package/Debug/rayHelper.js.map +1 -1
  159. package/Debug/skeletonViewer.js +17 -17
  160. package/Debug/skeletonViewer.js.map +1 -1
  161. package/DeviceInput/Helpers/eventFactory.js +2 -2
  162. package/DeviceInput/Implementations/nativeDeviceInputWrapper.js +3 -3
  163. package/DeviceInput/Implementations/webDeviceInputSystem.js +5 -5
  164. package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
  165. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  166. package/DeviceInput/deviceInputSystem.js +2 -2
  167. package/DeviceInput/index.js +8 -8
  168. package/Engines/Extensions/engine.alpha.js +1 -1
  169. package/Engines/Extensions/engine.computeShader.js +1 -1
  170. package/Engines/Extensions/engine.cubeTexture.js +7 -7
  171. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  172. package/Engines/Extensions/engine.debugging.js +1 -1
  173. package/Engines/Extensions/engine.dynamicBuffer.js +1 -1
  174. package/Engines/Extensions/engine.dynamicTexture.js +2 -2
  175. package/Engines/Extensions/engine.externalTexture.js +1 -1
  176. package/Engines/Extensions/engine.multiRender.js +3 -3
  177. package/Engines/Extensions/engine.multiview.js +8 -8
  178. package/Engines/Extensions/engine.query.js +4 -4
  179. package/Engines/Extensions/engine.rawTexture.js +4 -4
  180. package/Engines/Extensions/engine.readTexture.js +1 -1
  181. package/Engines/Extensions/engine.renderTarget.js +5 -5
  182. package/Engines/Extensions/engine.renderTargetCube.js +3 -3
  183. package/Engines/Extensions/engine.storageBuffer.js +1 -1
  184. package/Engines/Extensions/engine.textureSampler.js +1 -1
  185. package/Engines/Extensions/engine.textureSelector.js +1 -1
  186. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  187. package/Engines/Extensions/engine.uniformBuffer.js +2 -2
  188. package/Engines/Extensions/engine.videoTexture.js +1 -1
  189. package/Engines/Extensions/engine.views.js +1 -1
  190. package/Engines/Extensions/engine.webVR.js +7 -7
  191. package/Engines/Extensions/engine.webVR.js.map +1 -1
  192. package/Engines/Extensions/index.js +23 -23
  193. package/Engines/Processors/Expressions/Operators/index.js +4 -4
  194. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  195. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  196. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  197. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  198. package/Engines/Processors/Expressions/index.js +2 -2
  199. package/Engines/Processors/index.js +9 -9
  200. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  201. package/Engines/Processors/shaderCodeInliner.js +13 -13
  202. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  203. package/Engines/Processors/shaderCodeNode.js +4 -4
  204. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  205. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  206. package/Engines/Processors/shaderProcessor.js +12 -12
  207. package/Engines/Processors/shaderProcessor.js.map +1 -1
  208. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  209. package/Engines/WebGL/webGLRenderTargetWrapper.js +1 -1
  210. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  211. package/Engines/WebGPU/Extensions/engine.alpha.js +2 -2
  212. package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -4
  213. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +2 -2
  214. package/Engines/WebGPU/Extensions/engine.debugging.js +1 -1
  215. package/Engines/WebGPU/Extensions/engine.dynamicBuffer.js +1 -1
  216. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +1 -1
  217. package/Engines/WebGPU/Extensions/engine.externalTexture.js +3 -3
  218. package/Engines/WebGPU/Extensions/engine.multiRender.js +3 -3
  219. package/Engines/WebGPU/Extensions/engine.query.js +1 -1
  220. package/Engines/WebGPU/Extensions/engine.rawTexture.js +3 -3
  221. package/Engines/WebGPU/Extensions/engine.readTexture.js +1 -1
  222. package/Engines/WebGPU/Extensions/engine.renderTarget.js +4 -4
  223. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +2 -2
  224. package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -3
  225. package/Engines/WebGPU/Extensions/engine.textureSampler.js +2 -2
  226. package/Engines/WebGPU/Extensions/engine.uniformBuffer.js +2 -2
  227. package/Engines/WebGPU/Extensions/engine.videoTexture.js +1 -1
  228. package/Engines/WebGPU/Extensions/index.js +17 -17
  229. package/Engines/WebGPU/webgpuBufferManager.js +5 -5
  230. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  231. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  232. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +3 -3
  233. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  234. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +1 -1
  235. package/Engines/WebGPU/webgpuCacheSampler.js +2 -2
  236. package/Engines/WebGPU/webgpuClearQuad.js +4 -4
  237. package/Engines/WebGPU/webgpuComputeContext.js +3 -3
  238. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  239. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  240. package/Engines/WebGPU/webgpuHardwareTexture.js +3 -3
  241. package/Engines/WebGPU/webgpuMaterialContext.js +2 -2
  242. package/Engines/WebGPU/webgpuOcclusionQuery.js +2 -2
  243. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  244. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  245. package/Engines/WebGPU/webgpuShaderProcessor.js +2 -2
  246. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +5 -5
  247. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +17 -17
  248. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  249. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  250. package/Engines/WebGPU/webgpuTextureHelper.js +5 -5
  251. package/Engines/WebGPU/webgpuTimestampQuery.js +3 -3
  252. package/Engines/WebGPU/webgpuTintWASM.js +3 -3
  253. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  254. package/Engines/engine.js +21 -20
  255. package/Engines/engine.js.map +1 -1
  256. package/Engines/engineFactory.js +3 -3
  257. package/Engines/index.js +30 -30
  258. package/Engines/nativeEngine.d.ts +4 -12
  259. package/Engines/nativeEngine.js +32 -42
  260. package/Engines/nativeEngine.js.map +1 -1
  261. package/Engines/nullEngine.d.ts +25 -0
  262. package/Engines/nullEngine.js +62 -8
  263. package/Engines/nullEngine.js.map +1 -1
  264. package/Engines/renderTargetWrapper.js +2 -2
  265. package/Engines/shaderStore.js +1 -1
  266. package/Engines/thinEngine.js +40 -37
  267. package/Engines/thinEngine.js.map +1 -1
  268. package/Engines/webgpuEngine.js +37 -37
  269. package/Engines/webgpuEngine.js.map +1 -1
  270. package/Events/index.js +4 -4
  271. package/Events/pointerEvents.js +1 -1
  272. package/Gamepads/Controllers/daydreamController.js +4 -4
  273. package/Gamepads/Controllers/gearVRController.js +5 -5
  274. package/Gamepads/Controllers/genericController.js +3 -3
  275. package/Gamepads/Controllers/index.js +8 -8
  276. package/Gamepads/Controllers/oculusTouchController.js +5 -5
  277. package/Gamepads/Controllers/poseEnabledController.js +5 -5
  278. package/Gamepads/Controllers/viveController.js +3 -3
  279. package/Gamepads/Controllers/webVRController.js +2 -2
  280. package/Gamepads/Controllers/windowsMotionController.js +9 -9
  281. package/Gamepads/dualShockGamepad.js +2 -2
  282. package/Gamepads/gamepad.js +1 -1
  283. package/Gamepads/gamepadManager.js +9 -9
  284. package/Gamepads/gamepadManager.js.map +1 -1
  285. package/Gamepads/gamepadSceneComponent.js +7 -7
  286. package/Gamepads/index.js +6 -6
  287. package/Gamepads/xboxGamepad.js +2 -2
  288. package/Gizmos/axisDragGizmo.js +36 -22
  289. package/Gizmos/axisDragGizmo.js.map +1 -1
  290. package/Gizmos/axisScaleGizmo.js +12 -12
  291. package/Gizmos/axisScaleGizmo.js.map +1 -1
  292. package/Gizmos/boundingBoxGizmo.js +31 -32
  293. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  294. package/Gizmos/cameraGizmo.js +19 -19
  295. package/Gizmos/cameraGizmo.js.map +1 -1
  296. package/Gizmos/gizmo.js +5 -5
  297. package/Gizmos/gizmoManager.js +11 -11
  298. package/Gizmos/index.js +12 -12
  299. package/Gizmos/lightGizmo.js +45 -23
  300. package/Gizmos/lightGizmo.js.map +1 -1
  301. package/Gizmos/planeDragGizmo.js +10 -10
  302. package/Gizmos/planeDragGizmo.js.map +1 -1
  303. package/Gizmos/planeRotationGizmo.js +24 -14
  304. package/Gizmos/planeRotationGizmo.js.map +1 -1
  305. package/Gizmos/positionGizmo.js +8 -8
  306. package/Gizmos/rotationGizmo.js +7 -7
  307. package/Gizmos/scaleGizmo.js +11 -11
  308. package/Gizmos/scaleGizmo.js.map +1 -1
  309. package/Helpers/environmentHelper.js +17 -15
  310. package/Helpers/environmentHelper.js.map +1 -1
  311. package/Helpers/index.js +4 -4
  312. package/Helpers/photoDome.js +2 -2
  313. package/Helpers/sceneHelpers.js +18 -18
  314. package/Helpers/sceneHelpers.js.map +1 -1
  315. package/Helpers/textureDome.js +11 -11
  316. package/Helpers/textureDome.js.map +1 -1
  317. package/Helpers/videoDome.js +3 -3
  318. package/Inputs/scene.inputManager.js +8 -8
  319. package/Inputs/scene.inputManager.js.map +1 -1
  320. package/Instrumentation/engineInstrumentation.js +1 -1
  321. package/Instrumentation/index.js +3 -3
  322. package/Instrumentation/sceneInstrumentation.js +2 -2
  323. package/Layers/effectLayer.js +17 -17
  324. package/Layers/effectLayer.js.map +1 -1
  325. package/Layers/effectLayerSceneComponent.js +4 -4
  326. package/Layers/glowLayer.js +19 -16
  327. package/Layers/glowLayer.js.map +1 -1
  328. package/Layers/highlightLayer.js +20 -20
  329. package/Layers/highlightLayer.js.map +1 -1
  330. package/Layers/index.js +6 -6
  331. package/Layers/layer.js +12 -12
  332. package/Layers/layerSceneComponent.js +1 -1
  333. package/Legacy/legacy.js +3 -3
  334. package/LensFlares/index.js +3 -3
  335. package/LensFlares/lensFlare.js +2 -2
  336. package/LensFlares/lensFlareSystem.js +14 -14
  337. package/LensFlares/lensFlareSystem.js.map +1 -1
  338. package/LensFlares/lensFlareSystemSceneComponent.js +4 -4
  339. package/Lights/Shadows/cascadedShadowGenerator.js +12 -12
  340. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  341. package/Lights/Shadows/index.js +3 -3
  342. package/Lights/Shadows/shadowGenerator.js +19 -19
  343. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  344. package/Lights/Shadows/shadowGeneratorSceneComponent.js +4 -4
  345. package/Lights/directionalLight.js +5 -5
  346. package/Lights/hemisphericLight.js +5 -5
  347. package/Lights/index.js +7 -7
  348. package/Lights/light.js +8 -8
  349. package/Lights/light.js.map +1 -1
  350. package/Lights/pointLight.js +5 -5
  351. package/Lights/shadowLight.js +4 -4
  352. package/Lights/spotLight.js +6 -6
  353. package/Loading/Plugins/babylonFileLoader.js +30 -30
  354. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  355. package/Loading/Plugins/index.js +1 -1
  356. package/Loading/index.js +4 -4
  357. package/Loading/loadingScreen.js +1 -1
  358. package/Loading/sceneLoader.js +11 -11
  359. package/Loading/sceneLoader.js.map +1 -1
  360. package/Materials/Background/backgroundMaterial.js +17 -17
  361. package/Materials/Background/backgroundMaterial.js.map +1 -1
  362. package/Materials/Background/index.js +1 -1
  363. package/Materials/Node/Blocks/Dual/currentScreenBlock.js +6 -6
  364. package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
  365. package/Materials/Node/Blocks/Dual/fogBlock.js +9 -9
  366. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  367. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +10 -10
  368. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  369. package/Materials/Node/Blocks/Dual/index.js +7 -7
  370. package/Materials/Node/Blocks/Dual/lightBlock.js +17 -17
  371. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  372. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +10 -10
  373. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  374. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +7 -7
  375. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
  376. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +6 -6
  377. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  378. package/Materials/Node/Blocks/Dual/textureBlock.js +14 -14
  379. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  380. package/Materials/Node/Blocks/Fragment/derivativeBlock.js +5 -5
  381. package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
  382. package/Materials/Node/Blocks/Fragment/discardBlock.js +5 -5
  383. package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
  384. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +5 -5
  385. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
  386. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +6 -6
  387. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  388. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +5 -5
  389. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
  390. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +9 -9
  391. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  392. package/Materials/Node/Blocks/Fragment/index.js +8 -8
  393. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +10 -10
  394. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  395. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +5 -5
  396. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  397. package/Materials/Node/Blocks/Input/index.js +2 -2
  398. package/Materials/Node/Blocks/Input/inputBlock.js +12 -12
  399. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  400. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +7 -7
  401. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  402. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +10 -10
  403. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  404. package/Materials/Node/Blocks/PBR/index.js +7 -7
  405. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +21 -21
  406. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  407. package/Materials/Node/Blocks/PBR/reflectionBlock.js +10 -10
  408. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  409. package/Materials/Node/Blocks/PBR/refractionBlock.js +13 -13
  410. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  411. package/Materials/Node/Blocks/PBR/sheenBlock.js +8 -8
  412. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  413. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +9 -9
  414. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  415. package/Materials/Node/Blocks/Particle/index.js +3 -3
  416. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js +5 -5
  417. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
  418. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js +5 -5
  419. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js.map +1 -1
  420. package/Materials/Node/Blocks/Particle/particleTextureBlock.js +7 -7
  421. package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
  422. package/Materials/Node/Blocks/Vertex/bonesBlock.js +10 -10
  423. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  424. package/Materials/Node/Blocks/Vertex/index.js +5 -5
  425. package/Materials/Node/Blocks/Vertex/instancesBlock.js +7 -7
  426. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  427. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +6 -6
  428. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
  429. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +10 -10
  430. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  431. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +5 -5
  432. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  433. package/Materials/Node/Blocks/addBlock.js +5 -5
  434. package/Materials/Node/Blocks/addBlock.js.map +1 -1
  435. package/Materials/Node/Blocks/arcTan2Block.js +5 -5
  436. package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
  437. package/Materials/Node/Blocks/clampBlock.js +6 -6
  438. package/Materials/Node/Blocks/clampBlock.js.map +1 -1
  439. package/Materials/Node/Blocks/colorMergerBlock.js +5 -5
  440. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  441. package/Materials/Node/Blocks/colorSplitterBlock.js +5 -5
  442. package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
  443. package/Materials/Node/Blocks/conditionalBlock.js +5 -5
  444. package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
  445. package/Materials/Node/Blocks/crossBlock.js +5 -5
  446. package/Materials/Node/Blocks/crossBlock.js.map +1 -1
  447. package/Materials/Node/Blocks/desaturateBlock.js +5 -5
  448. package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
  449. package/Materials/Node/Blocks/distanceBlock.js +5 -5
  450. package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
  451. package/Materials/Node/Blocks/divideBlock.js +5 -5
  452. package/Materials/Node/Blocks/divideBlock.js.map +1 -1
  453. package/Materials/Node/Blocks/dotBlock.js +5 -5
  454. package/Materials/Node/Blocks/dotBlock.js.map +1 -1
  455. package/Materials/Node/Blocks/fresnelBlock.js +8 -8
  456. package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
  457. package/Materials/Node/Blocks/gradientBlock.js +7 -7
  458. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  459. package/Materials/Node/Blocks/index.js +52 -52
  460. package/Materials/Node/Blocks/lengthBlock.js +5 -5
  461. package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
  462. package/Materials/Node/Blocks/lerpBlock.js +5 -5
  463. package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
  464. package/Materials/Node/Blocks/matrixBuilderBlock.js +7 -7
  465. package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
  466. package/Materials/Node/Blocks/maxBlock.js +5 -5
  467. package/Materials/Node/Blocks/maxBlock.js.map +1 -1
  468. package/Materials/Node/Blocks/minBlock.js +5 -5
  469. package/Materials/Node/Blocks/minBlock.js.map +1 -1
  470. package/Materials/Node/Blocks/modBlock.js +5 -5
  471. package/Materials/Node/Blocks/modBlock.js.map +1 -1
  472. package/Materials/Node/Blocks/multiplyBlock.js +5 -5
  473. package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
  474. package/Materials/Node/Blocks/nLerpBlock.js +5 -5
  475. package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
  476. package/Materials/Node/Blocks/negateBlock.js +5 -5
  477. package/Materials/Node/Blocks/negateBlock.js.map +1 -1
  478. package/Materials/Node/Blocks/normalBlendBlock.js +5 -5
  479. package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
  480. package/Materials/Node/Blocks/normalizeBlock.js +5 -5
  481. package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
  482. package/Materials/Node/Blocks/oneMinusBlock.js +6 -6
  483. package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
  484. package/Materials/Node/Blocks/posterizeBlock.js +5 -5
  485. package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
  486. package/Materials/Node/Blocks/powBlock.js +5 -5
  487. package/Materials/Node/Blocks/powBlock.js.map +1 -1
  488. package/Materials/Node/Blocks/randomNumberBlock.js +6 -6
  489. package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
  490. package/Materials/Node/Blocks/reciprocalBlock.js +5 -5
  491. package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
  492. package/Materials/Node/Blocks/reflectBlock.js +5 -5
  493. package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
  494. package/Materials/Node/Blocks/refractBlock.js +5 -5
  495. package/Materials/Node/Blocks/refractBlock.js.map +1 -1
  496. package/Materials/Node/Blocks/remapBlock.js +7 -7
  497. package/Materials/Node/Blocks/remapBlock.js.map +1 -1
  498. package/Materials/Node/Blocks/replaceColorBlock.js +5 -5
  499. package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
  500. package/Materials/Node/Blocks/rotate2dBlock.js +6 -6
  501. package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
  502. package/Materials/Node/Blocks/scaleBlock.js +5 -5
  503. package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
  504. package/Materials/Node/Blocks/simplexPerlin3DBlock.js +5 -5
  505. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  506. package/Materials/Node/Blocks/smoothStepBlock.js +5 -5
  507. package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
  508. package/Materials/Node/Blocks/stepBlock.js +5 -5
  509. package/Materials/Node/Blocks/stepBlock.js.map +1 -1
  510. package/Materials/Node/Blocks/subtractBlock.js +5 -5
  511. package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
  512. package/Materials/Node/Blocks/transformBlock.js +5 -5
  513. package/Materials/Node/Blocks/transformBlock.js.map +1 -1
  514. package/Materials/Node/Blocks/trigonometryBlock.js +5 -5
  515. package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
  516. package/Materials/Node/Blocks/vectorMergerBlock.js +5 -5
  517. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  518. package/Materials/Node/Blocks/vectorSplitterBlock.js +5 -5
  519. package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
  520. package/Materials/Node/Blocks/viewDirectionBlock.js +7 -7
  521. package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
  522. package/Materials/Node/Blocks/waveBlock.js +5 -5
  523. package/Materials/Node/Blocks/waveBlock.js.map +1 -1
  524. package/Materials/Node/Blocks/worleyNoise3DBlock.js +6 -6
  525. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  526. package/Materials/Node/Enums/index.js +5 -5
  527. package/Materials/Node/Optimizers/index.js +1 -1
  528. package/Materials/Node/index.js +7 -7
  529. package/Materials/Node/nodeMaterial.js +40 -40
  530. package/Materials/Node/nodeMaterial.js.map +1 -1
  531. package/Materials/Node/nodeMaterialBlock.js +6 -6
  532. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  533. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +3 -3
  534. package/Materials/Node/nodeMaterialBuildState.js +6 -6
  535. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  536. package/Materials/Node/nodeMaterialConnectionPointCustomObject.js +1 -1
  537. package/Materials/Occlusion/index.js +1 -1
  538. package/Materials/Occlusion/occlusionMaterial.js +4 -4
  539. package/Materials/PBR/index.js +5 -5
  540. package/Materials/PBR/pbrAnisotropicConfiguration.js +11 -5
  541. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  542. package/Materials/PBR/pbrBRDFConfiguration.js +1 -1
  543. package/Materials/PBR/pbrBaseMaterial.js +28 -28
  544. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  545. package/Materials/PBR/pbrBaseSimpleMaterial.js +3 -3
  546. package/Materials/PBR/pbrClearCoatConfiguration.js +10 -4
  547. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  548. package/Materials/PBR/pbrMaterial.js +7 -7
  549. package/Materials/PBR/pbrMaterial.js.map +1 -1
  550. package/Materials/PBR/pbrMetallicRoughnessMaterial.js +4 -4
  551. package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
  552. package/Materials/PBR/pbrSheenConfiguration.js +10 -4
  553. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  554. package/Materials/PBR/pbrSpecularGlossinessMaterial.js +4 -4
  555. package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
  556. package/Materials/PBR/pbrSubSurfaceConfiguration.js +19 -6
  557. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  558. package/Materials/Textures/Filtering/hdrFiltering.js +6 -6
  559. package/Materials/Textures/Loaders/basisTextureLoader.js +9 -9
  560. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  561. package/Materials/Textures/Loaders/ddsTextureLoader.js +5 -5
  562. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  563. package/Materials/Textures/Loaders/envTextureLoader.js +7 -7
  564. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  565. package/Materials/Textures/Loaders/hdrTextureLoader.js +4 -4
  566. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  567. package/Materials/Textures/Loaders/index.js +6 -6
  568. package/Materials/Textures/Loaders/ktxTextureLoader.js +6 -6
  569. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  570. package/Materials/Textures/Loaders/tgaTextureLoader.js +6 -6
  571. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  572. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  573. package/Materials/Textures/Packer/index.js +2 -2
  574. package/Materials/Textures/Packer/packer.js +9 -9
  575. package/Materials/Textures/Procedurals/customProceduralTexture.js +6 -6
  576. package/Materials/Textures/Procedurals/index.js +4 -4
  577. package/Materials/Textures/Procedurals/noiseProceduralTexture.js +5 -5
  578. package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
  579. package/Materials/Textures/Procedurals/proceduralTexture.js +15 -15
  580. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  581. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +2 -2
  582. package/Materials/Textures/baseTexture.js +8 -8
  583. package/Materials/Textures/baseTexture.js.map +1 -1
  584. package/Materials/Textures/baseTexture.polynomial.js +2 -2
  585. package/Materials/Textures/colorGradingTexture.js +5 -5
  586. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  587. package/Materials/Textures/cubeTexture.js +12 -12
  588. package/Materials/Textures/cubeTexture.js.map +1 -1
  589. package/Materials/Textures/dynamicTexture.js +3 -3
  590. package/Materials/Textures/equiRectangularCubeTexture.js +10 -12
  591. package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
  592. package/Materials/Textures/externalTexture.js +1 -1
  593. package/Materials/Textures/hdrCubeTexture.js +16 -16
  594. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  595. package/Materials/Textures/htmlElementTexture.js +4 -4
  596. package/Materials/Textures/index.js +27 -27
  597. package/Materials/Textures/internalTexture.d.ts +15 -2
  598. package/Materials/Textures/internalTexture.js +29 -13
  599. package/Materials/Textures/internalTexture.js.map +1 -1
  600. package/Materials/Textures/mirrorTexture.js +5 -5
  601. package/Materials/Textures/multiRenderTarget.js +3 -3
  602. package/Materials/Textures/prePassRenderTarget.js +2 -2
  603. package/Materials/Textures/rawCubeTexture.d.ts +0 -3
  604. package/Materials/Textures/rawCubeTexture.js +6 -17
  605. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  606. package/Materials/Textures/rawTexture.js +2 -2
  607. package/Materials/Textures/rawTexture2DArray.js +2 -2
  608. package/Materials/Textures/rawTexture3D.js +2 -2
  609. package/Materials/Textures/refractionTexture.js +2 -2
  610. package/Materials/Textures/renderTargetTexture.js +9 -9
  611. package/Materials/Textures/texture.js +30 -25
  612. package/Materials/Textures/texture.js.map +1 -1
  613. package/Materials/Textures/thinTexture.js +1 -1
  614. package/Materials/Textures/videoTexture.js +6 -6
  615. package/Materials/colorCurves.js +2 -2
  616. package/Materials/effect.js +8 -8
  617. package/Materials/effect.js.map +1 -1
  618. package/Materials/effectRenderer.js +6 -6
  619. package/Materials/fresnelParameters.js +4 -4
  620. package/Materials/imageProcessingConfiguration.js +6 -6
  621. package/Materials/index.js +25 -25
  622. package/Materials/material.detailMapConfiguration.js +7 -4
  623. package/Materials/material.detailMapConfiguration.js.map +1 -1
  624. package/Materials/material.js +11 -11
  625. package/Materials/materialFlags.js +1 -1
  626. package/Materials/materialHelper.js +7 -7
  627. package/Materials/materialStencilState.js +1 -1
  628. package/Materials/multiMaterial.js +4 -4
  629. package/Materials/multiMaterial.js.map +1 -1
  630. package/Materials/prePassConfiguration.d.ts +1 -0
  631. package/Materials/prePassConfiguration.js +8 -2
  632. package/Materials/prePassConfiguration.js.map +1 -1
  633. package/Materials/pushMaterial.js +2 -2
  634. package/Materials/shaderMaterial.d.ts +0 -2
  635. package/Materials/shaderMaterial.js +12 -30
  636. package/Materials/shaderMaterial.js.map +1 -1
  637. package/Materials/shadowDepthWrapper.js +6 -5
  638. package/Materials/shadowDepthWrapper.js.map +1 -1
  639. package/Materials/standardMaterial.js +20 -20
  640. package/Materials/standardMaterial.js.map +1 -1
  641. package/Materials/uniformBuffer.js +3 -3
  642. package/Maths/index.js +4 -4
  643. package/Maths/math.axis.js +1 -1
  644. package/Maths/math.color.js +6 -6
  645. package/Maths/math.color.js.map +1 -1
  646. package/Maths/math.frustum.js +1 -1
  647. package/Maths/math.functions.js +2 -2
  648. package/Maths/math.isovector.js +2 -2
  649. package/Maths/math.js +10 -10
  650. package/Maths/math.path.js +3 -3
  651. package/Maths/math.plane.js +1 -1
  652. package/Maths/math.vector.js +9 -9
  653. package/Maths/math.vector.js.map +1 -1
  654. package/Maths/math.vertexFormat.js +1 -1
  655. package/Maths/sphericalPolynomial.js +2 -2
  656. package/Meshes/Builders/boxBuilder.d.ts +63 -32
  657. package/Meshes/Builders/boxBuilder.js +53 -39
  658. package/Meshes/Builders/boxBuilder.js.map +1 -1
  659. package/Meshes/Builders/capsuleBuilder.d.ts +20 -10
  660. package/Meshes/Builders/capsuleBuilder.js +36 -37
  661. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  662. package/Meshes/Builders/cylinderBuilder.d.ts +87 -48
  663. package/Meshes/Builders/cylinderBuilder.js +71 -53
  664. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  665. package/Meshes/Builders/decalBuilder.d.ts +26 -24
  666. package/Meshes/Builders/decalBuilder.js +211 -213
  667. package/Meshes/Builders/decalBuilder.js.map +1 -1
  668. package/Meshes/Builders/discBuilder.d.ts +27 -25
  669. package/Meshes/Builders/discBuilder.js +46 -36
  670. package/Meshes/Builders/discBuilder.js.map +1 -1
  671. package/Meshes/Builders/geodesicBuilder.d.ts +34 -39
  672. package/Meshes/Builders/geodesicBuilder.js +58 -67
  673. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  674. package/Meshes/Builders/goldbergBuilder.d.ts +56 -29
  675. package/Meshes/Builders/goldbergBuilder.js +97 -84
  676. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  677. package/Meshes/Builders/groundBuilder.d.ts +151 -79
  678. package/Meshes/Builders/groundBuilder.js +174 -137
  679. package/Meshes/Builders/groundBuilder.js.map +1 -1
  680. package/Meshes/Builders/hemisphereBuilder.d.ts +16 -14
  681. package/Meshes/Builders/hemisphereBuilder.js +33 -34
  682. package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
  683. package/Meshes/Builders/icoSphereBuilder.d.ts +57 -29
  684. package/Meshes/Builders/icoSphereBuilder.js +51 -38
  685. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  686. package/Meshes/Builders/index.js +23 -23
  687. package/Meshes/Builders/latheBuilder.d.ts +38 -36
  688. package/Meshes/Builders/latheBuilder.js +70 -72
  689. package/Meshes/Builders/latheBuilder.js.map +1 -1
  690. package/Meshes/Builders/linesBuilder.d.ts +113 -82
  691. package/Meshes/Builders/linesBuilder.js +202 -184
  692. package/Meshes/Builders/linesBuilder.js.map +1 -1
  693. package/Meshes/Builders/planeBuilder.d.ts +48 -26
  694. package/Meshes/Builders/planeBuilder.js +50 -40
  695. package/Meshes/Builders/planeBuilder.js.map +1 -1
  696. package/Meshes/Builders/polygonBuilder.d.ts +68 -51
  697. package/Meshes/Builders/polygonBuilder.js +91 -79
  698. package/Meshes/Builders/polygonBuilder.js.map +1 -1
  699. package/Meshes/Builders/polyhedronBuilder.d.ts +73 -36
  700. package/Meshes/Builders/polyhedronBuilder.js +63 -43
  701. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  702. package/Meshes/Builders/ribbonBuilder.d.ts +69 -39
  703. package/Meshes/Builders/ribbonBuilder.js +166 -152
  704. package/Meshes/Builders/ribbonBuilder.js.map +1 -1
  705. package/Meshes/Builders/shapeBuilder.d.ts +83 -81
  706. package/Meshes/Builders/shapeBuilder.js +185 -186
  707. package/Meshes/Builders/shapeBuilder.js.map +1 -1
  708. package/Meshes/Builders/sphereBuilder.d.ts +62 -31
  709. package/Meshes/Builders/sphereBuilder.js +53 -39
  710. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  711. package/Meshes/Builders/tiledBoxBuilder.d.ts +56 -29
  712. package/Meshes/Builders/tiledBoxBuilder.js +45 -36
  713. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  714. package/Meshes/Builders/tiledPlaneBuilder.d.ts +67 -38
  715. package/Meshes/Builders/tiledPlaneBuilder.js +51 -40
  716. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  717. package/Meshes/Builders/torusBuilder.d.ts +47 -25
  718. package/Meshes/Builders/torusBuilder.js +46 -36
  719. package/Meshes/Builders/torusBuilder.js.map +1 -1
  720. package/Meshes/Builders/torusKnotBuilder.d.ts +57 -29
  721. package/Meshes/Builders/torusKnotBuilder.js +51 -37
  722. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  723. package/Meshes/Builders/tubeBuilder.d.ts +42 -40
  724. package/Meshes/Builders/tubeBuilder.js +140 -142
  725. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  726. package/Meshes/Compression/dracoCompression.js +3 -3
  727. package/Meshes/Compression/index.js +2 -2
  728. package/Meshes/Compression/meshoptCompression.js +1 -1
  729. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  730. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  731. package/Meshes/abstractMesh.js +20 -20
  732. package/Meshes/abstractMesh.js.map +1 -1
  733. package/Meshes/csg.js +5 -5
  734. package/Meshes/geodesicMesh.js +4 -4
  735. package/Meshes/geometry.js +13 -17
  736. package/Meshes/geometry.js.map +1 -1
  737. package/Meshes/groundMesh.js +3 -3
  738. package/Meshes/index.d.ts +1 -0
  739. package/Meshes/index.js +25 -24
  740. package/Meshes/index.js.map +1 -1
  741. package/Meshes/instancedMesh.js +8 -8
  742. package/Meshes/linesMesh.js +9 -9
  743. package/Meshes/mesh.d.ts +2 -383
  744. package/Meshes/mesh.js +32 -439
  745. package/Meshes/mesh.js.map +1 -1
  746. package/Meshes/mesh.lts.d.ts +417 -0
  747. package/Meshes/mesh.lts.js +25 -0
  748. package/Meshes/mesh.lts.js.map +1 -0
  749. package/Meshes/mesh.vertexData.d.ts +21 -64
  750. package/Meshes/mesh.vertexData.js +46 -71
  751. package/Meshes/mesh.vertexData.js.map +1 -1
  752. package/Meshes/meshBuilder.d.ts +52 -799
  753. package/Meshes/meshBuilder.js +52 -609
  754. package/Meshes/meshBuilder.js.map +1 -1
  755. package/Meshes/meshSimplification.js +6 -6
  756. package/Meshes/meshSimplificationSceneComponent.js +4 -4
  757. package/Meshes/polygonMesh.js +8 -8
  758. package/Meshes/subMesh.js +5 -5
  759. package/Meshes/subMesh.project.js +2 -2
  760. package/Meshes/thinInstanceMesh.js +3 -3
  761. package/Meshes/trailMesh.js +5 -5
  762. package/Meshes/transformNode.js +5 -5
  763. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +5 -5
  764. package/Misc/HighDynamicRange/hdr.js +1 -1
  765. package/Misc/HighDynamicRange/index.js +3 -3
  766. package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
  767. package/Misc/PerformanceViewer/index.js +4 -4
  768. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +2 -2
  769. package/Misc/PerformanceViewer/performanceViewerCollector.js +4 -4
  770. package/Misc/PerformanceViewer/performanceViewerSceneExtension.js +2 -2
  771. package/Misc/assetsManager.js +8 -8
  772. package/Misc/basis.d.ts +40 -12
  773. package/Misc/basis.js +172 -145
  774. package/Misc/basis.js.map +1 -1
  775. package/Misc/brdfTextureTools.d.ts +9 -8
  776. package/Misc/brdfTextureTools.js +49 -50
  777. package/Misc/brdfTextureTools.js.map +1 -1
  778. package/Misc/codeStringParsingTools.d.ts +40 -45
  779. package/Misc/codeStringParsingTools.js +154 -163
  780. package/Misc/codeStringParsingTools.js.map +1 -1
  781. package/Misc/computePressure.js +2 -2
  782. package/Misc/computePressure.js.map +1 -1
  783. package/Misc/copyTools.d.ts +30 -5
  784. package/Misc/copyTools.js +108 -87
  785. package/Misc/copyTools.js.map +1 -1
  786. package/Misc/dataReader.js +2 -2
  787. package/Misc/dataReader.js.map +1 -1
  788. package/Misc/dds.js +23 -23
  789. package/Misc/dds.js.map +1 -1
  790. package/Misc/decorators.js +8 -8
  791. package/Misc/decorators.js.map +1 -1
  792. package/Misc/deepCopier.js +3 -3
  793. package/Misc/deepCopier.js.map +1 -1
  794. package/Misc/depthReducer.js +2 -2
  795. package/Misc/devTools.d.ts +1 -3
  796. package/Misc/devTools.js +3 -9
  797. package/Misc/devTools.js.map +1 -1
  798. package/Misc/domManagement.d.ts +27 -6
  799. package/Misc/domManagement.js +43 -26
  800. package/Misc/domManagement.js.map +1 -1
  801. package/Misc/environmentTextureTools.d.ts +61 -28
  802. package/Misc/environmentTextureTools.js +550 -503
  803. package/Misc/environmentTextureTools.js.map +1 -1
  804. package/Misc/fileTools.d.ts +91 -101
  805. package/Misc/fileTools.js +414 -396
  806. package/Misc/fileTools.js.map +1 -1
  807. package/Misc/fileTools.lts.d.ts +9 -0
  808. package/Misc/fileTools.lts.js +64 -0
  809. package/Misc/fileTools.lts.js.map +1 -0
  810. package/Misc/filesInput.d.ts +1 -1
  811. package/Misc/filesInput.js +4 -4
  812. package/Misc/filesInput.js.map +1 -1
  813. package/Misc/gradients.js +1 -1
  814. package/Misc/guid.d.ts +10 -3
  815. package/Misc/guid.js +15 -12
  816. package/Misc/guid.js.map +1 -1
  817. package/Misc/index.d.ts +1 -0
  818. package/Misc/index.js +61 -60
  819. package/Misc/index.js.map +1 -1
  820. package/Misc/instantiationTools.js +3 -3
  821. package/Misc/instantiationTools.js.map +1 -1
  822. package/Misc/khronosTextureContainer.js +1 -1
  823. package/Misc/khronosTextureContainer2.js +2 -2
  824. package/Misc/meshExploder.js +1 -1
  825. package/Misc/minMaxReducer.js +4 -4
  826. package/Misc/observable.d.ts +7 -0
  827. package/Misc/observable.js +22 -0
  828. package/Misc/observable.js.map +1 -1
  829. package/Misc/observableCoroutine.js +1 -1
  830. package/Misc/perfCounter.js +1 -1
  831. package/Misc/performanceMonitor.js +1 -1
  832. package/Misc/pivotTools.js +1 -1
  833. package/Misc/precisionDate.js +1 -1
  834. package/Misc/reflector.js +4 -4
  835. package/Misc/reflector.js.map +1 -1
  836. package/Misc/rgbdTextureTools.js +5 -5
  837. package/Misc/rgbdTextureTools.js.map +1 -1
  838. package/Misc/sceneOptimizer.js +3 -3
  839. package/Misc/sceneRecorder.js +14 -14
  840. package/Misc/sceneSerializer.js +4 -4
  841. package/Misc/screenshotTools.d.ts +96 -12
  842. package/Misc/screenshotTools.js +302 -207
  843. package/Misc/screenshotTools.js.map +1 -1
  844. package/Misc/stringTools.d.ts +54 -47
  845. package/Misc/stringTools.js +108 -105
  846. package/Misc/stringTools.js.map +1 -1
  847. package/Misc/tags.js +1 -1
  848. package/Misc/textureTools.d.ts +38 -8
  849. package/Misc/textureTools.js +169 -138
  850. package/Misc/textureTools.js.map +1 -1
  851. package/Misc/tga.d.ts +34 -22
  852. package/Misc/tga.js +279 -260
  853. package/Misc/tga.js.map +1 -1
  854. package/Misc/timer.js +1 -1
  855. package/Misc/timingTools.js +2 -2
  856. package/Misc/timingTools.js.map +1 -1
  857. package/Misc/tools.d.ts +5 -5
  858. package/Misc/tools.js +42 -42
  859. package/Misc/tools.js.map +1 -1
  860. package/Misc/trajectoryClassifier.js +1 -1
  861. package/Misc/typeStore.d.ts +3 -8
  862. package/Misc/typeStore.js +9 -15
  863. package/Misc/typeStore.js.map +1 -1
  864. package/Misc/videoRecorder.js +1 -1
  865. package/Misc/virtualJoystick.js +2 -2
  866. package/Morph/index.js +2 -2
  867. package/Morph/morphTarget.js +6 -6
  868. package/Morph/morphTarget.js.map +1 -1
  869. package/Morph/morphTargetManager.d.ts +1 -1
  870. package/Morph/morphTargetManager.js +11 -10
  871. package/Morph/morphTargetManager.js.map +1 -1
  872. package/Navigation/Plugins/index.js +1 -1
  873. package/Navigation/Plugins/recastJSPlugin.js +6 -6
  874. package/Navigation/index.js +2 -2
  875. package/Offline/database.js +6 -6
  876. package/Offline/database.js.map +1 -1
  877. package/Offline/index.js +2 -2
  878. package/Particles/EmitterTypes/boxParticleEmitter.js +3 -3
  879. package/Particles/EmitterTypes/coneParticleEmitter.js +3 -3
  880. package/Particles/EmitterTypes/customParticleEmitter.js +2 -2
  881. package/Particles/EmitterTypes/cylinderParticleEmitter.js +3 -3
  882. package/Particles/EmitterTypes/hemisphericParticleEmitter.js +3 -3
  883. package/Particles/EmitterTypes/index.js +9 -9
  884. package/Particles/EmitterTypes/meshParticleEmitter.js +4 -4
  885. package/Particles/EmitterTypes/pointParticleEmitter.js +3 -3
  886. package/Particles/EmitterTypes/sphereParticleEmitter.js +3 -3
  887. package/Particles/baseParticleSystem.js +5 -5
  888. package/Particles/cloudPoint.js +1 -1
  889. package/Particles/computeShaderParticleSystem.js +7 -7
  890. package/Particles/computeShaderParticleSystem.js.map +1 -1
  891. package/Particles/gpuParticleSystem.js +24 -24
  892. package/Particles/gpuParticleSystem.js.map +1 -1
  893. package/Particles/index.js +17 -17
  894. package/Particles/particle.js +3 -3
  895. package/Particles/particleHelper.js +8 -8
  896. package/Particles/particleSystem.js +26 -26
  897. package/Particles/particleSystem.js.map +1 -1
  898. package/Particles/particleSystemComponent.js +7 -7
  899. package/Particles/particleSystemSet.js +7 -7
  900. package/Particles/particleSystemSet.js.map +1 -1
  901. package/Particles/pointsCloudSystem.js +12 -12
  902. package/Particles/solidParticle.js +5 -5
  903. package/Particles/solidParticleSystem.js +15 -15
  904. package/Particles/solidParticleSystem.js.map +1 -1
  905. package/Particles/subEmitter.d.ts +2 -1
  906. package/Particles/subEmitter.js +10 -8
  907. package/Particles/subEmitter.js.map +1 -1
  908. package/Particles/webgl2ParticleSystem.js +7 -7
  909. package/Particles/webgl2ParticleSystem.js.map +1 -1
  910. package/Physics/Plugins/ammoJSPlugin.js +35 -27
  911. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  912. package/Physics/Plugins/cannonJSPlugin.js +7 -7
  913. package/Physics/Plugins/index.js +3 -3
  914. package/Physics/Plugins/oimoJSPlugin.js +6 -6
  915. package/Physics/index.js +7 -7
  916. package/Physics/physicsEngine.js +3 -3
  917. package/Physics/physicsEngine.js.map +1 -1
  918. package/Physics/physicsEngineComponent.js +7 -7
  919. package/Physics/physicsHelper.js +8 -8
  920. package/Physics/physicsHelper.js.map +1 -1
  921. package/Physics/physicsImpostor.js +7 -7
  922. package/Physics/physicsRaycastResult.js +1 -1
  923. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +18 -18
  924. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  925. package/PostProcesses/RenderPipeline/Pipelines/index.js +5 -5
  926. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +9 -9
  927. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +17 -17
  928. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  929. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +12 -12
  930. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +16 -16
  931. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
  932. package/PostProcesses/RenderPipeline/index.js +5 -5
  933. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +1 -1
  934. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +2 -2
  935. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js +3 -3
  936. package/PostProcesses/anaglyphPostProcess.js +4 -4
  937. package/PostProcesses/anaglyphPostProcess.js.map +1 -1
  938. package/PostProcesses/blackAndWhitePostProcess.js +5 -5
  939. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  940. package/PostProcesses/bloomEffect.js +6 -6
  941. package/PostProcesses/bloomMergePostProcess.js +5 -5
  942. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  943. package/PostProcesses/blurPostProcess.js +7 -7
  944. package/PostProcesses/blurPostProcess.js.map +1 -1
  945. package/PostProcesses/chromaticAberrationPostProcess.js +6 -6
  946. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  947. package/PostProcesses/circleOfConfusionPostProcess.js +6 -6
  948. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  949. package/PostProcesses/colorCorrectionPostProcess.js +6 -6
  950. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  951. package/PostProcesses/convolutionPostProcess.js +5 -5
  952. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  953. package/PostProcesses/depthOfFieldBlurPostProcess.js +5 -5
  954. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  955. package/PostProcesses/depthOfFieldEffect.js +6 -6
  956. package/PostProcesses/depthOfFieldMergePostProcess.js +2 -2
  957. package/PostProcesses/displayPassPostProcess.js +5 -5
  958. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  959. package/PostProcesses/extractHighlightsPostProcess.js +6 -6
  960. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  961. package/PostProcesses/filterPostProcess.js +5 -5
  962. package/PostProcesses/filterPostProcess.js.map +1 -1
  963. package/PostProcesses/fxaaPostProcess.js +7 -7
  964. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  965. package/PostProcesses/grainPostProcess.js +5 -5
  966. package/PostProcesses/grainPostProcess.js.map +1 -1
  967. package/PostProcesses/highlightsPostProcess.js +2 -2
  968. package/PostProcesses/imageProcessingPostProcess.js +6 -6
  969. package/PostProcesses/index.js +33 -33
  970. package/PostProcesses/motionBlurPostProcess.js +11 -11
  971. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  972. package/PostProcesses/passPostProcess.js +7 -7
  973. package/PostProcesses/passPostProcess.js.map +1 -1
  974. package/PostProcesses/postProcess.js +11 -11
  975. package/PostProcesses/postProcess.js.map +1 -1
  976. package/PostProcesses/postProcessManager.js +1 -1
  977. package/PostProcesses/refractionPostProcess.js +6 -6
  978. package/PostProcesses/refractionPostProcess.js.map +1 -1
  979. package/PostProcesses/screenSpaceCurvaturePostProcess.js +8 -8
  980. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  981. package/PostProcesses/screenSpaceReflectionPostProcess.js +7 -7
  982. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  983. package/PostProcesses/sharpenPostProcess.js +5 -5
  984. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  985. package/PostProcesses/stereoscopicInterlacePostProcess.js +3 -3
  986. package/PostProcesses/subSurfaceScatteringPostProcess.js +6 -6
  987. package/PostProcesses/tonemapPostProcess.js +2 -2
  988. package/PostProcesses/volumetricLightScatteringPostProcess.js +23 -23
  989. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  990. package/PostProcesses/vrDistortionCorrectionPostProcess.js +4 -4
  991. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +4 -4
  992. package/Probes/index.js +1 -1
  993. package/Probes/reflectionProbe.js +4 -4
  994. package/Rendering/boundingBoxRenderer.js +15 -15
  995. package/Rendering/boundingBoxRenderer.js.map +1 -1
  996. package/Rendering/depthRenderer.js +11 -11
  997. package/Rendering/depthRenderer.js.map +1 -1
  998. package/Rendering/depthRendererSceneComponent.js +3 -3
  999. package/Rendering/edgesRenderer.js +11 -11
  1000. package/Rendering/geometryBufferRenderer.js +13 -13
  1001. package/Rendering/geometryBufferRenderer.js.map +1 -1
  1002. package/Rendering/geometryBufferRendererSceneComponent.js +3 -3
  1003. package/Rendering/index.js +13 -13
  1004. package/Rendering/motionBlurConfiguration.js.map +1 -1
  1005. package/Rendering/outlineRenderer.js +8 -8
  1006. package/Rendering/prePassRenderer.js +6 -6
  1007. package/Rendering/prePassRenderer.js.map +1 -1
  1008. package/Rendering/prePassRendererSceneComponent.js +4 -4
  1009. package/Rendering/renderingGroup.js +2 -2
  1010. package/Rendering/renderingManager.js +1 -1
  1011. package/Rendering/screenSpaceReflectionsConfiguration.js.map +1 -1
  1012. package/Rendering/ssao2Configuration.js.map +1 -1
  1013. package/Rendering/subSurfaceConfiguration.js +6 -6
  1014. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  1015. package/Rendering/subSurfaceSceneComponent.js +5 -5
  1016. package/Rendering/utilityLayerRenderer.js +8 -8
  1017. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  1018. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +2 -2
  1019. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  1020. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  1021. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  1022. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  1023. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  1024. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +2 -2
  1025. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  1026. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  1027. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  1028. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  1029. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1030. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  1031. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  1032. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1033. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1034. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1035. package/Shaders/ShadersInclude/defaultUboDeclaration.js +3 -3
  1036. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1038. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1039. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1040. package/Shaders/ShadersInclude/fogFragment.js +2 -2
  1041. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1042. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1043. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1044. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1045. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1046. package/Shaders/ShadersInclude/geometryUboDeclaration.js +2 -2
  1047. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1048. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1049. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1050. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1051. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1052. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1053. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1054. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1055. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1056. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1057. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1058. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1059. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1060. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1061. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1062. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1063. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1064. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1065. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1066. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1067. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1068. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1069. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1070. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1071. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1072. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1073. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1074. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1075. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1077. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1078. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1079. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1080. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1081. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
  1082. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1083. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1084. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1085. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1086. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1087. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1088. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1089. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1090. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1091. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1092. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1093. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1094. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1095. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1096. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1097. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1098. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1099. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1100. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1101. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1102. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1103. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1104. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1105. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1106. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
  1107. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -3
  1108. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1109. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1110. package/Shaders/ShadersInclude/pbrUboDeclaration.js +3 -3
  1111. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1112. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1113. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1114. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1115. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1116. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1117. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1118. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1119. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1120. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1121. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1122. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1123. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1125. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1126. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +3 -3
  1127. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1128. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +3 -3
  1129. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +3 -3
  1130. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1131. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1132. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1133. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1134. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1135. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1136. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1137. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1138. package/Shaders/anaglyph.fragment.js +1 -1
  1139. package/Shaders/background.fragment.js +16 -16
  1140. package/Shaders/background.vertex.js +15 -15
  1141. package/Shaders/blackAndWhite.fragment.js +1 -1
  1142. package/Shaders/bloomMerge.fragment.js +1 -1
  1143. package/Shaders/blur.fragment.js +1 -1
  1144. package/Shaders/chromaticAberration.fragment.js +1 -1
  1145. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1146. package/Shaders/clearQuad.fragment.js +1 -1
  1147. package/Shaders/clearQuad.vertex.js +1 -1
  1148. package/Shaders/color.fragment.js +3 -3
  1149. package/Shaders/color.vertex.js +7 -7
  1150. package/Shaders/colorCorrection.fragment.js +1 -1
  1151. package/Shaders/convolution.fragment.js +1 -1
  1152. package/Shaders/default.fragment.js +26 -26
  1153. package/Shaders/default.vertex.js +31 -31
  1154. package/Shaders/depth.fragment.js +2 -2
  1155. package/Shaders/depth.vertex.js +9 -9
  1156. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1157. package/Shaders/depthOfField.fragment.js +1 -1
  1158. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1159. package/Shaders/displayPass.fragment.js +1 -1
  1160. package/Shaders/extractHighlights.fragment.js +2 -2
  1161. package/Shaders/filter.fragment.js +1 -1
  1162. package/Shaders/fxaa.fragment.js +1 -1
  1163. package/Shaders/fxaa.vertex.js +1 -1
  1164. package/Shaders/geometry.fragment.js +5 -5
  1165. package/Shaders/geometry.vertex.js +12 -12
  1166. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1167. package/Shaders/glowMapGeneration.fragment.js +2 -2
  1168. package/Shaders/glowMapGeneration.vertex.js +9 -9
  1169. package/Shaders/glowMapMerge.fragment.js +1 -1
  1170. package/Shaders/glowMapMerge.vertex.js +1 -1
  1171. package/Shaders/gpuRenderParticles.fragment.js +6 -6
  1172. package/Shaders/gpuRenderParticles.vertex.js +3 -3
  1173. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1174. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1175. package/Shaders/grain.fragment.js +2 -2
  1176. package/Shaders/hdrFiltering.fragment.js +5 -5
  1177. package/Shaders/hdrFiltering.vertex.js +1 -1
  1178. package/Shaders/highlights.fragment.js +1 -1
  1179. package/Shaders/imageProcessing.fragment.js +4 -4
  1180. package/Shaders/kernelBlur.fragment.js +5 -5
  1181. package/Shaders/kernelBlur.vertex.js +3 -3
  1182. package/Shaders/layer.fragment.js +2 -2
  1183. package/Shaders/layer.vertex.js +1 -1
  1184. package/Shaders/lensFlare.fragment.js +1 -1
  1185. package/Shaders/lensFlare.vertex.js +1 -1
  1186. package/Shaders/lensHighlights.fragment.js +1 -1
  1187. package/Shaders/line.fragment.js +3 -3
  1188. package/Shaders/line.vertex.js +5 -5
  1189. package/Shaders/minmaxRedux.fragment.js +1 -1
  1190. package/Shaders/motionBlur.fragment.js +1 -1
  1191. package/Shaders/noise.fragment.js +1 -1
  1192. package/Shaders/outline.fragment.js +3 -3
  1193. package/Shaders/outline.vertex.js +11 -11
  1194. package/Shaders/particles.fragment.js +6 -6
  1195. package/Shaders/particles.vertex.js +3 -3
  1196. package/Shaders/pass.fragment.js +1 -1
  1197. package/Shaders/passCube.fragment.js +1 -1
  1198. package/Shaders/pbr.fragment.js +55 -55
  1199. package/Shaders/pbr.vertex.js +31 -31
  1200. package/Shaders/postprocess.vertex.js +1 -1
  1201. package/Shaders/procedural.vertex.js +1 -1
  1202. package/Shaders/refraction.fragment.js +1 -1
  1203. package/Shaders/rgbdDecode.fragment.js +2 -2
  1204. package/Shaders/rgbdEncode.fragment.js +2 -2
  1205. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1206. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1207. package/Shaders/shadowMap.fragment.js +5 -5
  1208. package/Shaders/shadowMap.vertex.js +16 -16
  1209. package/Shaders/sharpen.fragment.js +1 -1
  1210. package/Shaders/spriteMap.fragment.js +1 -1
  1211. package/Shaders/spriteMap.vertex.js +1 -1
  1212. package/Shaders/sprites.fragment.js +4 -4
  1213. package/Shaders/sprites.vertex.js +2 -2
  1214. package/Shaders/ssao.fragment.js +1 -1
  1215. package/Shaders/ssao2.fragment.js +1 -1
  1216. package/Shaders/ssaoCombine.fragment.js +1 -1
  1217. package/Shaders/standard.fragment.js +2 -2
  1218. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1219. package/Shaders/subSurfaceScattering.fragment.js +5 -5
  1220. package/Shaders/tonemap.fragment.js +1 -1
  1221. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1222. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1223. package/Shaders/volumetricLightScatteringPass.vertex.js +9 -9
  1224. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1225. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1226. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1227. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1228. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1229. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1230. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1231. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1232. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1233. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1234. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1235. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1236. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1237. package/Sprites/index.js +6 -6
  1238. package/Sprites/sprite.js +4 -4
  1239. package/Sprites/spriteManager.js +11 -11
  1240. package/Sprites/spriteMap.js +11 -11
  1241. package/Sprites/spriteMap.js.map +1 -1
  1242. package/Sprites/spritePackedManager.js +2 -2
  1243. package/Sprites/spriteRenderer.js +6 -6
  1244. package/Sprites/spriteSceneComponent.js +6 -6
  1245. package/States/index.js +4 -4
  1246. package/XR/features/WebXRAnchorSystem.js +5 -5
  1247. package/XR/features/WebXRBackgroundRemover.js +3 -3
  1248. package/XR/features/WebXRControllerMovement.js +5 -5
  1249. package/XR/features/WebXRControllerPhysics.js +8 -8
  1250. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1251. package/XR/features/WebXRControllerPointerSelection.js +19 -15
  1252. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1253. package/XR/features/WebXRControllerTeleportation.js +24 -24
  1254. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  1255. package/XR/features/WebXRDOMOverlay.js +3 -3
  1256. package/XR/features/WebXREyeTracking.js +5 -5
  1257. package/XR/features/WebXRFeaturePointSystem.js +4 -4
  1258. package/XR/features/WebXRHandTracking.js +15 -15
  1259. package/XR/features/WebXRHandTracking.js.map +1 -1
  1260. package/XR/features/WebXRHitTest.js +5 -5
  1261. package/XR/features/WebXRHitTestLegacy.js +5 -5
  1262. package/XR/features/WebXRImageTracking.js +5 -5
  1263. package/XR/features/WebXRLightEstimation.js +12 -12
  1264. package/XR/features/WebXRMeshDetector.js +4 -4
  1265. package/XR/features/WebXRNearInteraction.js +14 -12
  1266. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1267. package/XR/features/WebXRPlaneDetector.js +4 -4
  1268. package/XR/features/WebXRWalkingLocomotion.js +5 -5
  1269. package/XR/features/index.js +19 -19
  1270. package/XR/index.js +12 -12
  1271. package/XR/motionController/index.js +9 -9
  1272. package/XR/motionController/webXRAbstractMotionController.js +6 -6
  1273. package/XR/motionController/webXRControllerComponent.js +1 -1
  1274. package/XR/motionController/webXRGenericHandController.js +2 -2
  1275. package/XR/motionController/webXRGenericMotionController.js +3 -3
  1276. package/XR/motionController/webXRHTCViveMotionController.js +4 -4
  1277. package/XR/motionController/webXRMicrosoftMixedRealityController.js +6 -6
  1278. package/XR/motionController/webXRMotionControllerManager.js +3 -3
  1279. package/XR/motionController/webXROculusTouchMotionController.js +4 -4
  1280. package/XR/motionController/webXRProfiledMotionController.js +10 -10
  1281. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  1282. package/XR/webXRCamera.js +7 -7
  1283. package/XR/webXRDefaultExperience.js +7 -7
  1284. package/XR/webXREnterExitUI.js +3 -3
  1285. package/XR/webXRExperienceHelper.js +8 -8
  1286. package/XR/webXRFeaturesManager.js +1 -1
  1287. package/XR/webXRInput.js +3 -3
  1288. package/XR/webXRInputSource.js +5 -5
  1289. package/XR/webXRManagedOutputCanvas.js +2 -2
  1290. package/XR/webXRSessionManager.js +5 -5
  1291. package/assetContainer.js +4 -4
  1292. package/index.d.ts +1 -0
  1293. package/index.js +44 -43
  1294. package/index.js.map +1 -1
  1295. package/license.md +12 -13
  1296. package/node.js +6 -6
  1297. package/node.js.map +1 -1
  1298. package/package.json +10 -1
  1299. package/readme.md +12 -13
  1300. package/scene.d.ts +5 -147
  1301. package/scene.js +46 -229
  1302. package/scene.js.map +1 -1
  1303. package/scene.lts.d.ts +165 -0
  1304. package/scene.lts.js +68 -0
  1305. package/scene.lts.js.map +1 -0
@@ -1,13 +1,170 @@
1
- import { Texture } from "../Materials/Textures/texture";
2
- import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
3
- import { PassPostProcess } from "../PostProcesses/passPostProcess";
4
- import { PostProcess } from '../PostProcesses/postProcess';
1
+ import { Texture } from "../Materials/Textures/texture.js";
2
+ import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture.js";
3
+ import { PassPostProcess } from "../PostProcesses/passPostProcess.js";
4
+ import { PostProcess } from '../PostProcesses/postProcess.js';
5
5
  /**
6
- * Class used to host texture specific utilities
6
+ * Uses the GPU to create a copy texture rescaled at a given size
7
+ * @param texture Texture to copy from
8
+ * @param width defines the desired width
9
+ * @param height defines the desired height
10
+ * @param useBilinearMode defines if bilinear mode has to be used
11
+ * @return the generated texture
12
+ */
13
+ export function CreateResizedCopy(texture, width, height, useBilinearMode) {
14
+ if (useBilinearMode === void 0) { useBilinearMode = true; }
15
+ var scene = texture.getScene();
16
+ var engine = scene.getEngine();
17
+ var rtt = new RenderTargetTexture('resized' + texture.name, { width: width, height: height }, scene, !texture.noMipmap, true, texture._texture.type, false, texture.samplingMode, false);
18
+ rtt.wrapU = texture.wrapU;
19
+ rtt.wrapV = texture.wrapV;
20
+ rtt.uOffset = texture.uOffset;
21
+ rtt.vOffset = texture.vOffset;
22
+ rtt.uScale = texture.uScale;
23
+ rtt.vScale = texture.vScale;
24
+ rtt.uAng = texture.uAng;
25
+ rtt.vAng = texture.vAng;
26
+ rtt.wAng = texture.wAng;
27
+ rtt.coordinatesIndex = texture.coordinatesIndex;
28
+ rtt.level = texture.level;
29
+ rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
30
+ rtt._texture.isReady = false;
31
+ texture.wrapU = Texture.CLAMP_ADDRESSMODE;
32
+ texture.wrapV = Texture.CLAMP_ADDRESSMODE;
33
+ var passPostProcess = new PassPostProcess("pass", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);
34
+ passPostProcess.getEffect().executeWhenCompiled(function () {
35
+ passPostProcess.onApply = function (effect) {
36
+ effect.setTexture("textureSampler", texture);
37
+ };
38
+ var internalTexture = rtt.renderTarget;
39
+ if (internalTexture) {
40
+ scene.postProcessManager.directRender([passPostProcess], internalTexture);
41
+ engine.unBindFramebuffer(internalTexture);
42
+ rtt.disposeFramebufferObjects();
43
+ passPostProcess.dispose();
44
+ rtt.getInternalTexture().isReady = true;
45
+ }
46
+ });
47
+ return rtt;
48
+ }
49
+ /**
50
+ * Apply a post process to a texture
51
+ * @param postProcessName name of the fragment post process
52
+ * @param internalTexture the texture to encode
53
+ * @param scene the scene hosting the texture
54
+ * @param type type of the output texture. If not provided, use the one from internalTexture
55
+ * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture
56
+ * @param format format of the output texture. If not provided, use the one from internalTexture
57
+ * @return a promise with the internalTexture having its texture replaced by the result of the processing
58
+ */
59
+ export function ApplyPostProcess(postProcessName, internalTexture, scene, type, samplingMode, format) {
60
+ // Gets everything ready.
61
+ var engine = internalTexture.getEngine();
62
+ internalTexture.isReady = false;
63
+ samplingMode = samplingMode !== null && samplingMode !== void 0 ? samplingMode : internalTexture.samplingMode;
64
+ type = type !== null && type !== void 0 ? type : internalTexture.type;
65
+ format = format !== null && format !== void 0 ? format : internalTexture.format;
66
+ if (type === -1) {
67
+ type = 0;
68
+ }
69
+ return new Promise(function (resolve) {
70
+ // Create the post process
71
+ var postProcess = new PostProcess("postprocess", postProcessName, null, null, 1, null, samplingMode, engine, false, undefined, type, undefined, null, false, format);
72
+ // Hold the output of the decoding.
73
+ var encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {
74
+ generateDepthBuffer: false,
75
+ generateMipMaps: false,
76
+ generateStencilBuffer: false,
77
+ samplingMode: samplingMode,
78
+ type: type,
79
+ format: format
80
+ });
81
+ postProcess.getEffect().executeWhenCompiled(function () {
82
+ // PP Render Pass
83
+ postProcess.onApply = function (effect) {
84
+ effect._bindTexture("textureSampler", internalTexture);
85
+ effect.setFloat2("scale", 1, 1);
86
+ };
87
+ scene.postProcessManager.directRender([postProcess], encodedTexture, true);
88
+ // Cleanup
89
+ engine.restoreDefaultFramebuffer();
90
+ engine._releaseTexture(internalTexture);
91
+ if (postProcess) {
92
+ postProcess.dispose();
93
+ }
94
+ // Internal Swap
95
+ encodedTexture._swapAndDie(internalTexture);
96
+ // Ready to get rolling again.
97
+ internalTexture.type = type;
98
+ internalTexture.format = 5;
99
+ internalTexture.isReady = true;
100
+ resolve(internalTexture);
101
+ });
102
+ });
103
+ }
104
+ // ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript
105
+ var _FloatView;
106
+ var _Int32View;
107
+ /**
108
+ * Converts a number to half float
109
+ * @param value number to convert
110
+ * @returns converted number
111
+ */
112
+ export function ToHalfFloat(value) {
113
+ if (!_FloatView) {
114
+ _FloatView = new Float32Array(1);
115
+ _Int32View = new Int32Array(_FloatView.buffer);
116
+ }
117
+ _FloatView[0] = value;
118
+ var x = _Int32View[0];
119
+ var bits = (x >> 16) & 0x8000; /* Get the sign */
120
+ var m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */
121
+ var e = (x >> 23) & 0xff; /* Using int is faster here */
122
+ /* If zero, or denormal, or exponent underflows too much for a denormal
123
+ * half, return signed zero. */
124
+ if (e < 103) {
125
+ return bits;
126
+ }
127
+ /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */
128
+ if (e > 142) {
129
+ bits |= 0x7c00;
130
+ /* If exponent was 0xff and one mantissa bit was set, it means NaN,
131
+ * not Inf, so make sure we set one mantissa bit too. */
132
+ bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);
133
+ return bits;
134
+ }
135
+ /* If exponent underflows but not too much, return a denormal */
136
+ if (e < 113) {
137
+ m |= 0x0800;
138
+ /* Extra rounding may overflow and set mantissa to 0 and exponent
139
+ * to 1, which is OK. */
140
+ bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);
141
+ return bits;
142
+ }
143
+ bits |= ((e - 112) << 10) | (m >> 1);
144
+ bits += m & 1;
145
+ return bits;
146
+ }
147
+ /**
148
+ * Converts a half float to a number
149
+ * @param value half float to convert
150
+ * @returns converted half float
7
151
  */
8
- var TextureTools = /** @class */ (function () {
9
- function TextureTools() {
152
+ export function FromHalfFloat(value) {
153
+ var s = (value & 0x8000) >> 15;
154
+ var e = (value & 0x7C00) >> 10;
155
+ var f = value & 0x03FF;
156
+ if (e === 0) {
157
+ return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));
158
+ }
159
+ else if (e == 0x1F) {
160
+ return f ? NaN : ((s ? -1 : 1) * Infinity);
10
161
  }
162
+ return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));
163
+ }
164
+ /**
165
+ * Class used to host texture specific utilities
166
+ */
167
+ export var TextureTools = {
11
168
  /**
12
169
  * Uses the GPU to create a copy texture rescaled at a given size
13
170
  * @param texture Texture to copy from
@@ -16,42 +173,7 @@ var TextureTools = /** @class */ (function () {
16
173
  * @param useBilinearMode defines if bilinear mode has to be used
17
174
  * @return the generated texture
18
175
  */
19
- TextureTools.CreateResizedCopy = function (texture, width, height, useBilinearMode) {
20
- if (useBilinearMode === void 0) { useBilinearMode = true; }
21
- var scene = texture.getScene();
22
- var engine = scene.getEngine();
23
- var rtt = new RenderTargetTexture('resized' + texture.name, { width: width, height: height }, scene, !texture.noMipmap, true, texture._texture.type, false, texture.samplingMode, false);
24
- rtt.wrapU = texture.wrapU;
25
- rtt.wrapV = texture.wrapV;
26
- rtt.uOffset = texture.uOffset;
27
- rtt.vOffset = texture.vOffset;
28
- rtt.uScale = texture.uScale;
29
- rtt.vScale = texture.vScale;
30
- rtt.uAng = texture.uAng;
31
- rtt.vAng = texture.vAng;
32
- rtt.wAng = texture.wAng;
33
- rtt.coordinatesIndex = texture.coordinatesIndex;
34
- rtt.level = texture.level;
35
- rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
36
- rtt._texture.isReady = false;
37
- texture.wrapU = Texture.CLAMP_ADDRESSMODE;
38
- texture.wrapV = Texture.CLAMP_ADDRESSMODE;
39
- var passPostProcess = new PassPostProcess("pass", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);
40
- passPostProcess.getEffect().executeWhenCompiled(function () {
41
- passPostProcess.onApply = function (effect) {
42
- effect.setTexture("textureSampler", texture);
43
- };
44
- var internalTexture = rtt.renderTarget;
45
- if (internalTexture) {
46
- scene.postProcessManager.directRender([passPostProcess], internalTexture);
47
- engine.unBindFramebuffer(internalTexture);
48
- rtt.disposeFramebufferObjects();
49
- passPostProcess.dispose();
50
- rtt.getInternalTexture().isReady = true;
51
- }
52
- });
53
- return rtt;
54
- };
176
+ CreateResizedCopy: CreateResizedCopy,
55
177
  /**
56
178
  * Apply a post process to a texture
57
179
  * @param postProcessName name of the fragment post process
@@ -62,109 +184,18 @@ var TextureTools = /** @class */ (function () {
62
184
  * @param format format of the output texture. If not provided, use the one from internalTexture
63
185
  * @return a promise with the internalTexture having its texture replaced by the result of the processing
64
186
  */
65
- TextureTools.ApplyPostProcess = function (postProcessName, internalTexture, scene, type, samplingMode, format) {
66
- // Gets everything ready.
67
- var engine = internalTexture.getEngine();
68
- internalTexture.isReady = false;
69
- samplingMode = samplingMode !== null && samplingMode !== void 0 ? samplingMode : internalTexture.samplingMode;
70
- type = type !== null && type !== void 0 ? type : internalTexture.type;
71
- format = format !== null && format !== void 0 ? format : internalTexture.format;
72
- if (type === -1) {
73
- type = 0;
74
- }
75
- return new Promise(function (resolve) {
76
- // Create the post process
77
- var postProcess = new PostProcess("postprocess", postProcessName, null, null, 1, null, samplingMode, engine, false, undefined, type, undefined, null, false, format);
78
- // Hold the output of the decoding.
79
- var encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {
80
- generateDepthBuffer: false,
81
- generateMipMaps: false,
82
- generateStencilBuffer: false,
83
- samplingMode: samplingMode,
84
- type: type,
85
- format: format
86
- });
87
- postProcess.getEffect().executeWhenCompiled(function () {
88
- // PP Render Pass
89
- postProcess.onApply = function (effect) {
90
- effect._bindTexture("textureSampler", internalTexture);
91
- effect.setFloat2("scale", 1, 1);
92
- };
93
- scene.postProcessManager.directRender([postProcess], encodedTexture, true);
94
- // Cleanup
95
- engine.restoreDefaultFramebuffer();
96
- engine._releaseTexture(internalTexture);
97
- if (postProcess) {
98
- postProcess.dispose();
99
- }
100
- // Internal Swap
101
- encodedTexture._swapAndDie(internalTexture);
102
- // Ready to get rolling again.
103
- internalTexture.type = type;
104
- internalTexture.format = 5;
105
- internalTexture.isReady = true;
106
- resolve(internalTexture);
107
- });
108
- });
109
- };
187
+ ApplyPostProcess: ApplyPostProcess,
110
188
  /**
111
189
  * Converts a number to half float
112
190
  * @param value number to convert
113
191
  * @returns converted number
114
192
  */
115
- TextureTools.ToHalfFloat = function (value) {
116
- if (!TextureTools._FloatView) {
117
- TextureTools._FloatView = new Float32Array(1);
118
- TextureTools._Int32View = new Int32Array(TextureTools._FloatView.buffer);
119
- }
120
- TextureTools._FloatView[0] = value;
121
- var x = TextureTools._Int32View[0];
122
- var bits = (x >> 16) & 0x8000; /* Get the sign */
123
- var m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */
124
- var e = (x >> 23) & 0xff; /* Using int is faster here */
125
- /* If zero, or denormal, or exponent underflows too much for a denormal
126
- * half, return signed zero. */
127
- if (e < 103) {
128
- return bits;
129
- }
130
- /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */
131
- if (e > 142) {
132
- bits |= 0x7c00;
133
- /* If exponent was 0xff and one mantissa bit was set, it means NaN,
134
- * not Inf, so make sure we set one mantissa bit too. */
135
- bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);
136
- return bits;
137
- }
138
- /* If exponent underflows but not too much, return a denormal */
139
- if (e < 113) {
140
- m |= 0x0800;
141
- /* Extra rounding may overflow and set mantissa to 0 and exponent
142
- * to 1, which is OK. */
143
- bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);
144
- return bits;
145
- }
146
- bits |= ((e - 112) << 10) | (m >> 1);
147
- bits += m & 1;
148
- return bits;
149
- };
193
+ ToHalfFloat: ToHalfFloat,
150
194
  /**
151
195
  * Converts a half float to a number
152
196
  * @param value half float to convert
153
197
  * @returns converted half float
154
198
  */
155
- TextureTools.FromHalfFloat = function (value) {
156
- var s = (value & 0x8000) >> 15;
157
- var e = (value & 0x7C00) >> 10;
158
- var f = value & 0x03FF;
159
- if (e === 0) {
160
- return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));
161
- }
162
- else if (e == 0x1F) {
163
- return f ? NaN : ((s ? -1 : 1) * Infinity);
164
- }
165
- return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));
166
- };
167
- return TextureTools;
168
- }());
169
- export { TextureTools };
199
+ FromHalfFloat: FromHalfFloat
200
+ };
170
201
  //# sourceMappingURL=textureTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textureTools.js","sourceRoot":"","sources":["../../../sourceES6/core/Misc/textureTools.ts"],"names":[],"mappings":"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","sourcesContent":["import { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { PassPostProcess } from \"../PostProcesses/passPostProcess\";\r\n\r\nimport { Scene } from \"../scene\";\r\nimport { PostProcess } from '../PostProcesses/postProcess';\r\nimport { Engine } from '../Engines/engine';\r\n\r\n/**\r\n * Class used to host texture specific utilities\r\n */\r\nexport class TextureTools {\r\n /**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\n public static CreateResizedCopy(texture: Texture, width: number, height: number, useBilinearMode: boolean = true): Texture {\r\n\r\n var scene = <Scene>texture.getScene();\r\n var engine = scene.getEngine();\r\n\r\n let rtt = new RenderTargetTexture(\r\n 'resized' + texture.name,\r\n { width: width, height: height },\r\n scene,\r\n !texture.noMipmap,\r\n true,\r\n (<InternalTexture>texture._texture).type,\r\n false,\r\n texture.samplingMode,\r\n false\r\n );\r\n\r\n rtt.wrapU = texture.wrapU;\r\n rtt.wrapV = texture.wrapV;\r\n rtt.uOffset = texture.uOffset;\r\n rtt.vOffset = texture.vOffset;\r\n rtt.uScale = texture.uScale;\r\n rtt.vScale = texture.vScale;\r\n rtt.uAng = texture.uAng;\r\n rtt.vAng = texture.vAng;\r\n rtt.wAng = texture.wAng;\r\n rtt.coordinatesIndex = texture.coordinatesIndex;\r\n rtt.level = texture.level;\r\n rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;\r\n (<InternalTexture>rtt._texture).isReady = false;\r\n\r\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n\r\n let passPostProcess = new PassPostProcess(\"pass\", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);\r\n passPostProcess.getEffect().executeWhenCompiled(() => {\r\n passPostProcess.onApply = function (effect) {\r\n effect.setTexture(\"textureSampler\", texture);\r\n };\r\n\r\n let internalTexture = rtt.renderTarget;\r\n\r\n if (internalTexture) {\r\n scene.postProcessManager.directRender([passPostProcess], internalTexture);\r\n\r\n engine.unBindFramebuffer(internalTexture);\r\n rtt.disposeFramebufferObjects();\r\n passPostProcess.dispose();\r\n\r\n rtt.getInternalTexture()!.isReady = true;\r\n }\r\n });\r\n\r\n return rtt;\r\n }\r\n\r\n /**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\n public static ApplyPostProcess(postProcessName: string, internalTexture: InternalTexture, scene: Scene, type?: number, samplingMode?: number, format?: number): Promise<InternalTexture> {\r\n // Gets everything ready.\r\n const engine = internalTexture.getEngine() as Engine;\r\n\r\n internalTexture.isReady = false;\r\n\r\n samplingMode = samplingMode ?? internalTexture.samplingMode;\r\n type = type ?? internalTexture.type;\r\n format = format ?? internalTexture.format;\r\n\r\n if (type === -1) {\r\n type = 0;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n // Create the post process\r\n const postProcess = new PostProcess(\"postprocess\", postProcessName, null, null, 1, null, samplingMode, engine,\r\n false, undefined, type, undefined, null, false, format);\r\n\r\n // Hold the output of the decoding.\r\n const encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {\r\n generateDepthBuffer: false,\r\n generateMipMaps: false,\r\n generateStencilBuffer: false,\r\n samplingMode,\r\n type,\r\n format\r\n });\r\n\r\n postProcess.getEffect().executeWhenCompiled(() => {\r\n // PP Render Pass\r\n postProcess.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", internalTexture);\r\n effect.setFloat2(\"scale\", 1, 1);\r\n };\r\n scene.postProcessManager.directRender([postProcess!], encodedTexture, true);\r\n\r\n // Cleanup\r\n engine.restoreDefaultFramebuffer();\r\n engine._releaseTexture(internalTexture);\r\n if (postProcess) {\r\n postProcess.dispose();\r\n }\r\n\r\n // Internal Swap\r\n encodedTexture._swapAndDie(internalTexture);\r\n\r\n // Ready to get rolling again.\r\n internalTexture.type = type!;\r\n internalTexture.format = 5;\r\n internalTexture.isReady = true;\r\n\r\n resolve(internalTexture);\r\n });\r\n });\r\n }\r\n\r\n // ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript\r\n private static _FloatView: Float32Array;\r\n private static _Int32View: Int32Array;\r\n /**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\n public static ToHalfFloat(value: number): number {\r\n if (!TextureTools._FloatView) {\r\n TextureTools._FloatView = new Float32Array(1);\r\n TextureTools._Int32View = new Int32Array(TextureTools._FloatView.buffer);\r\n }\r\n\r\n TextureTools._FloatView[0] = value;\r\n const x = TextureTools._Int32View[0];\r\n\r\n let bits = (x >> 16) & 0x8000; /* Get the sign */\r\n let m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */\r\n const e = (x >> 23) & 0xff; /* Using int is faster here */\r\n\r\n /* If zero, or denormal, or exponent underflows too much for a denormal\r\n * half, return signed zero. */\r\n if (e < 103) {\r\n return bits;\r\n }\r\n\r\n /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */\r\n if (e > 142) {\r\n bits |= 0x7c00;\r\n /* If exponent was 0xff and one mantissa bit was set, it means NaN,\r\n * not Inf, so make sure we set one mantissa bit too. */\r\n bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);\r\n return bits;\r\n }\r\n\r\n /* If exponent underflows but not too much, return a denormal */\r\n if (e < 113) {\r\n m |= 0x0800;\r\n /* Extra rounding may overflow and set mantissa to 0 and exponent\r\n * to 1, which is OK. */\r\n bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);\r\n return bits;\r\n }\r\n\r\n bits |= ((e - 112) << 10) | (m >> 1);\r\n bits += m & 1;\r\n return bits;\r\n }\r\n\r\n /**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\n public static FromHalfFloat(value: number): number {\r\n const s = (value & 0x8000) >> 15;\r\n const e = (value & 0x7C00) >> 10;\r\n const f = value & 0x03FF;\r\n\r\n if (e === 0) {\r\n return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));\r\n } else if (e == 0x1F) {\r\n return f ? NaN : ((s ? -1 : 1) * Infinity);\r\n }\r\n\r\n return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"textureTools.js","sourceRoot":"","sources":["../../../sourceES6/core/Misc/textureTools.ts"],"names":[],"mappings":"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","sourcesContent":["import { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { PassPostProcess } from \"../PostProcesses/passPostProcess\";\r\n\r\nimport { Scene } from \"../scene\";\r\nimport { PostProcess } from '../PostProcesses/postProcess';\r\nimport { Engine } from '../Engines/engine';\r\n\r\n/**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\nexport function CreateResizedCopy(texture: Texture, width: number, height: number, useBilinearMode: boolean = true): Texture {\r\n\r\n var scene = <Scene>texture.getScene();\r\n var engine = scene.getEngine();\r\n\r\n let rtt = new RenderTargetTexture(\r\n 'resized' + texture.name,\r\n { width: width, height: height },\r\n scene,\r\n !texture.noMipmap,\r\n true,\r\n (<InternalTexture>texture._texture).type,\r\n false,\r\n texture.samplingMode,\r\n false\r\n );\r\n\r\n rtt.wrapU = texture.wrapU;\r\n rtt.wrapV = texture.wrapV;\r\n rtt.uOffset = texture.uOffset;\r\n rtt.vOffset = texture.vOffset;\r\n rtt.uScale = texture.uScale;\r\n rtt.vScale = texture.vScale;\r\n rtt.uAng = texture.uAng;\r\n rtt.vAng = texture.vAng;\r\n rtt.wAng = texture.wAng;\r\n rtt.coordinatesIndex = texture.coordinatesIndex;\r\n rtt.level = texture.level;\r\n rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;\r\n (<InternalTexture>rtt._texture).isReady = false;\r\n\r\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n\r\n let passPostProcess = new PassPostProcess(\"pass\", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);\r\n passPostProcess.getEffect().executeWhenCompiled(() => {\r\n passPostProcess.onApply = function (effect) {\r\n effect.setTexture(\"textureSampler\", texture);\r\n };\r\n\r\n let internalTexture = rtt.renderTarget;\r\n\r\n if (internalTexture) {\r\n scene.postProcessManager.directRender([passPostProcess], internalTexture);\r\n\r\n engine.unBindFramebuffer(internalTexture);\r\n rtt.disposeFramebufferObjects();\r\n passPostProcess.dispose();\r\n\r\n rtt.getInternalTexture()!.isReady = true;\r\n }\r\n });\r\n\r\n return rtt;\r\n}\r\n\r\n/**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\nexport function ApplyPostProcess(postProcessName: string, internalTexture: InternalTexture, scene: Scene, type?: number, samplingMode?: number, format?: number): Promise<InternalTexture> {\r\n // Gets everything ready.\r\n const engine = internalTexture.getEngine() as Engine;\r\n\r\n internalTexture.isReady = false;\r\n\r\n samplingMode = samplingMode ?? internalTexture.samplingMode;\r\n type = type ?? internalTexture.type;\r\n format = format ?? internalTexture.format;\r\n\r\n if (type === -1) {\r\n type = 0;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n // Create the post process\r\n const postProcess = new PostProcess(\"postprocess\", postProcessName, null, null, 1, null, samplingMode, engine,\r\n false, undefined, type, undefined, null, false, format);\r\n\r\n // Hold the output of the decoding.\r\n const encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {\r\n generateDepthBuffer: false,\r\n generateMipMaps: false,\r\n generateStencilBuffer: false,\r\n samplingMode,\r\n type,\r\n format\r\n });\r\n\r\n postProcess.getEffect().executeWhenCompiled(() => {\r\n // PP Render Pass\r\n postProcess.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", internalTexture);\r\n effect.setFloat2(\"scale\", 1, 1);\r\n };\r\n scene.postProcessManager.directRender([postProcess!], encodedTexture, true);\r\n\r\n // Cleanup\r\n engine.restoreDefaultFramebuffer();\r\n engine._releaseTexture(internalTexture);\r\n if (postProcess) {\r\n postProcess.dispose();\r\n }\r\n\r\n // Internal Swap\r\n encodedTexture._swapAndDie(internalTexture);\r\n\r\n // Ready to get rolling again.\r\n internalTexture.type = type!;\r\n internalTexture.format = 5;\r\n internalTexture.isReady = true;\r\n\r\n resolve(internalTexture);\r\n });\r\n });\r\n}\r\n\r\n// ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript\r\nlet _FloatView: Float32Array;\r\nlet _Int32View: Int32Array;\r\n/**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\nexport function ToHalfFloat(value: number): number {\r\n if (!_FloatView) {\r\n _FloatView = new Float32Array(1);\r\n _Int32View = new Int32Array(_FloatView.buffer);\r\n }\r\n\r\n _FloatView[0] = value;\r\n const x = _Int32View[0];\r\n\r\n let bits = (x >> 16) & 0x8000; /* Get the sign */\r\n let m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */\r\n const e = (x >> 23) & 0xff; /* Using int is faster here */\r\n\r\n /* If zero, or denormal, or exponent underflows too much for a denormal\r\n * half, return signed zero. */\r\n if (e < 103) {\r\n return bits;\r\n }\r\n\r\n /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */\r\n if (e > 142) {\r\n bits |= 0x7c00;\r\n /* If exponent was 0xff and one mantissa bit was set, it means NaN,\r\n * not Inf, so make sure we set one mantissa bit too. */\r\n bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);\r\n return bits;\r\n }\r\n\r\n /* If exponent underflows but not too much, return a denormal */\r\n if (e < 113) {\r\n m |= 0x0800;\r\n /* Extra rounding may overflow and set mantissa to 0 and exponent\r\n * to 1, which is OK. */\r\n bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);\r\n return bits;\r\n }\r\n\r\n bits |= ((e - 112) << 10) | (m >> 1);\r\n bits += m & 1;\r\n return bits;\r\n}\r\n\r\n/**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\nexport function FromHalfFloat(value: number): number {\r\n const s = (value & 0x8000) >> 15;\r\n const e = (value & 0x7C00) >> 10;\r\n const f = value & 0x03FF;\r\n\r\n if (e === 0) {\r\n return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));\r\n } else if (e == 0x1F) {\r\n return f ? NaN : ((s ? -1 : 1) * Infinity);\r\n }\r\n\r\n return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));\r\n}\r\n\r\n/**\r\n * Class used to host texture specific utilities\r\n */\r\nexport const TextureTools = {\r\n /**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\n CreateResizedCopy,\r\n\r\n /**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\n ApplyPostProcess,\r\n /**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\n ToHalfFloat,\r\n\r\n /**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\n FromHalfFloat\r\n};\r\n"]}
package/Misc/tga.d.ts CHANGED
@@ -1,43 +1,55 @@
1
1
  import { InternalTexture } from "../Materials/Textures/internalTexture";
2
+ /**
3
+ * Gets the header of a TGA file
4
+ * @param data defines the TGA data
5
+ * @returns the header
6
+ */
7
+ export declare function GetTGAHeader(data: Uint8Array): any;
8
+ /**
9
+ * Uploads TGA content to a Babylon Texture
10
+ * @hidden
11
+ */
12
+ export declare function UploadContent(texture: InternalTexture, data: Uint8Array): void;
13
+ /** @hidden */
14
+ declare function _getImageData8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
15
+ /** @hidden */
16
+ declare function _getImageData16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
17
+ /** @hidden */
18
+ declare function _getImageData24bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
19
+ /** @hidden */
20
+ declare function _getImageData32bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
21
+ /** @hidden */
22
+ declare function _getImageDataGrey8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
23
+ /** @hidden */
24
+ declare function _getImageDataGrey16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
2
25
  /**
3
26
  * Based on jsTGALoader - Javascript loader for TGA file
4
27
  * By Vincent Thibault
5
28
  * @see http://blog.robrowser.com/javascript-tga-loader.html
6
29
  */
7
- export declare class TGATools {
8
- private static _TYPE_INDEXED;
9
- private static _TYPE_RGB;
10
- private static _TYPE_GREY;
11
- private static _TYPE_RLE_INDEXED;
12
- private static _TYPE_RLE_RGB;
13
- private static _TYPE_RLE_GREY;
14
- private static _ORIGIN_MASK;
15
- private static _ORIGIN_SHIFT;
16
- private static _ORIGIN_BL;
17
- private static _ORIGIN_BR;
18
- private static _ORIGIN_UL;
19
- private static _ORIGIN_UR;
30
+ export declare const TGATools: {
20
31
  /**
21
32
  * Gets the header of a TGA file
22
33
  * @param data defines the TGA data
23
34
  * @returns the header
24
35
  */
25
- static GetTGAHeader(data: Uint8Array): any;
36
+ GetTGAHeader: typeof GetTGAHeader;
26
37
  /**
27
38
  * Uploads TGA content to a Babylon Texture
28
39
  * @hidden
29
40
  */
30
- static UploadContent(texture: InternalTexture, data: Uint8Array): void;
41
+ UploadContent: typeof UploadContent;
31
42
  /** @hidden */
32
- static _getImageData8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
43
+ _getImageData8bits: typeof _getImageData8bits;
33
44
  /** @hidden */
34
- static _getImageData16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
45
+ _getImageData16bits: typeof _getImageData16bits;
35
46
  /** @hidden */
36
- static _getImageData24bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
47
+ _getImageData24bits: typeof _getImageData24bits;
37
48
  /** @hidden */
38
- static _getImageData32bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
49
+ _getImageData32bits: typeof _getImageData32bits;
39
50
  /** @hidden */
40
- static _getImageDataGrey8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
51
+ _getImageDataGrey8bits: typeof _getImageDataGrey8bits;
41
52
  /** @hidden */
42
- static _getImageDataGrey16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
43
- }
53
+ _getImageDataGrey16bits: typeof _getImageDataGrey16bits;
54
+ };
55
+ export {};