@babylonjs/core 5.23.0 → 5.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Actions/abstractActionManager.d.ts +6 -6
- package/Actions/abstractActionManager.js +1 -1
- package/Actions/abstractActionManager.js.map +1 -1
- package/Actions/action.d.ts +12 -21
- package/Actions/action.js +8 -17
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.d.ts +7 -10
- package/Actions/actionManager.js +7 -10
- package/Actions/actionManager.js.map +1 -1
- package/Actions/condition.d.ts +9 -50
- package/Actions/condition.js +3 -26
- package/Actions/condition.js.map +1 -1
- package/Actions/directActions.d.ts +7 -7
- package/Actions/directActions.js +7 -7
- package/Actions/directActions.js.map +1 -1
- package/Actions/directAudioActions.d.ts +2 -2
- package/Actions/directAudioActions.js +2 -2
- package/Actions/directAudioActions.js.map +1 -1
- package/Actions/interpolateValueAction.d.ts +1 -1
- package/Actions/interpolateValueAction.js +1 -1
- package/Actions/interpolateValueAction.js.map +1 -1
- package/Animations/animatable.d.ts +5 -6
- package/Animations/animatable.js +1 -2
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.d.ts +6 -20
- package/Animations/animation.js +6 -20
- package/Animations/animation.js.map +1 -1
- package/Animations/animationEvent.d.ts +1 -1
- package/Animations/animationEvent.js +1 -1
- package/Animations/animationEvent.js.map +1 -1
- package/Animations/animationGroup.d.ts +4 -4
- package/Animations/animationGroup.js +4 -4
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/easing.d.ts +13 -26
- package/Animations/easing.js +13 -26
- package/Animations/easing.js.map +1 -1
- package/Animations/runtimeAnimation.d.ts +3 -4
- package/Animations/runtimeAnimation.js +1 -2
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioSceneComponent.d.ts +2 -2
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.d.ts +3 -4
- package/Audio/sound.js +2 -3
- package/Audio/sound.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Behaviors/Cameras/bouncingBehavior.d.ts +1 -1
- package/Behaviors/Cameras/bouncingBehavior.js +1 -1
- package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
- package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
- package/Behaviors/Cameras/framingBehavior.js +1 -1
- package/Behaviors/Cameras/framingBehavior.js.map +1 -1
- package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
- package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.d.ts +1 -1
- package/Behaviors/Meshes/followBehavior.js +1 -1
- package/Behaviors/Meshes/followBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Bones/bone.d.ts +8 -10
- package/Bones/bone.js +8 -10
- package/Bones/bone.js.map +1 -1
- package/Bones/skeleton.d.ts +8 -10
- package/Bones/skeleton.js +8 -10
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.d.ts +6 -6
- package/Buffers/buffer.js +14 -16
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/storageBuffer.d.ts +1 -1
- package/Buffers/storageBuffer.js +1 -1
- package/Buffers/storageBuffer.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +2 -2
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
- package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
- package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
- package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
- package/Cameras/RigModes/vrRigMode.d.ts +1 -3
- package/Cameras/RigModes/vrRigMode.js +1 -3
- package/Cameras/RigModes/vrRigMode.js.map +1 -1
- package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
- package/Cameras/RigModes/webVRRigMode.js +1 -3
- package/Cameras/RigModes/webVRRigMode.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
- package/Cameras/VR/vrCameraMetrics.js +4 -4
- package/Cameras/VR/vrCameraMetrics.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.js +19 -24
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.d.ts +9 -9
- package/Cameras/VR/webVRCamera.js +9 -9
- package/Cameras/VR/webVRCamera.js.map +1 -1
- package/Cameras/arcRotateCamera.d.ts +12 -13
- package/Cameras/arcRotateCamera.js +9 -10
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.d.ts +31 -40
- package/Cameras/camera.js +29 -38
- package/Cameras/camera.js.map +1 -1
- package/Cameras/deviceOrientationCamera.d.ts +1 -1
- package/Cameras/deviceOrientationCamera.js +1 -1
- package/Cameras/deviceOrientationCamera.js.map +1 -1
- package/Cameras/flyCamera.d.ts +8 -12
- package/Cameras/flyCamera.js +6 -10
- package/Cameras/flyCamera.js.map +1 -1
- package/Cameras/followCamera.d.ts +2 -2
- package/Cameras/followCamera.js +2 -2
- package/Cameras/followCamera.js.map +1 -1
- package/Cameras/freeCamera.d.ts +7 -8
- package/Cameras/freeCamera.js +5 -6
- package/Cameras/freeCamera.js.map +1 -1
- package/Cameras/freeCameraInputsManager.d.ts +2 -2
- package/Cameras/freeCameraInputsManager.js +2 -2
- package/Cameras/freeCameraInputsManager.js.map +1 -1
- package/Cameras/gamepadCamera.d.ts +1 -1
- package/Cameras/gamepadCamera.js +1 -1
- package/Cameras/gamepadCamera.js.map +1 -1
- package/Cameras/targetCamera.d.ts +22 -25
- package/Cameras/targetCamera.js +21 -24
- package/Cameras/targetCamera.js.map +1 -1
- package/Cameras/touchCamera.d.ts +2 -2
- package/Cameras/touchCamera.js +2 -2
- package/Cameras/touchCamera.js.map +1 -1
- package/Cameras/universalCamera.d.ts +1 -1
- package/Cameras/universalCamera.js +1 -1
- package/Cameras/universalCamera.js.map +1 -1
- package/Cameras/virtualJoysticksCamera.d.ts +1 -1
- package/Cameras/virtualJoysticksCamera.js +1 -1
- package/Cameras/virtualJoysticksCamera.js.map +1 -1
- package/Collisions/collider.d.ts +13 -44
- package/Collisions/collider.js +10 -41
- package/Collisions/collider.js.map +1 -1
- package/Collisions/collisionCoordinator.d.ts +2 -2
- package/Collisions/collisionCoordinator.js +1 -1
- package/Collisions/collisionCoordinator.js.map +1 -1
- package/Collisions/intersectionInfo.d.ts +1 -1
- package/Collisions/intersectionInfo.js +1 -1
- package/Collisions/intersectionInfo.js.map +1 -1
- package/Collisions/meshCollisionData.d.ts +1 -1
- package/Collisions/meshCollisionData.js +1 -1
- package/Collisions/meshCollisionData.js.map +1 -1
- package/Collisions/pickingInfo.d.ts +1 -1
- package/Collisions/pickingInfo.js +1 -1
- package/Collisions/pickingInfo.js.map +1 -1
- package/Compute/IComputeContext.d.ts +1 -1
- package/Compute/IComputeContext.js.map +1 -1
- package/Compute/IComputePipelineContext.d.ts +2 -2
- package/Compute/IComputePipelineContext.js.map +1 -1
- package/Compute/computeEffect.d.ts +5 -5
- package/Compute/computeEffect.js +5 -5
- package/Compute/computeEffect.js.map +1 -1
- package/Culling/Octrees/octreeBlock.d.ts +1 -9
- package/Culling/Octrees/octreeBlock.js +1 -9
- package/Culling/Octrees/octreeBlock.js.map +1 -1
- package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
- package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
- package/Culling/boundingBox.d.ts +6 -7
- package/Culling/boundingBox.js +5 -6
- package/Culling/boundingBox.js.map +1 -1
- package/Culling/boundingInfo.d.ts +1 -2
- package/Culling/boundingInfo.js +1 -2
- package/Culling/boundingInfo.js.map +1 -1
- package/Culling/boundingSphere.d.ts +1 -2
- package/Culling/boundingSphere.js +1 -2
- package/Culling/boundingSphere.js.map +1 -1
- package/Culling/ray.d.ts +7 -7
- package/Culling/ray.js +1 -1
- package/Culling/ray.js.map +1 -1
- package/Debug/debugLayer.d.ts +2 -2
- package/Debug/debugLayer.js +1 -1
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/physicsViewer.d.ts +6 -6
- package/Debug/physicsViewer.js +4 -4
- package/Debug/physicsViewer.js.map +1 -1
- package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
- package/DeviceInput/InputDevices/deviceEnums.js +1 -1
- package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
- package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
- package/DeviceInput/internalDeviceSourceManager.js +1 -1
- package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
- package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
- package/DeviceInput/nativeDeviceInputSystem.js +1 -1
- package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
- package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
- package/DeviceInput/webDeviceInputSystem.js +1 -1
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- package/Engines/Extensions/engine.computeShader.d.ts +7 -7
- package/Engines/Extensions/engine.computeShader.js +1 -1
- package/Engines/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.debugging.d.ts +4 -4
- package/Engines/Extensions/engine.debugging.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.js +8 -10
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.multiview.d.ts +9 -9
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +24 -24
- package/Engines/Extensions/engine.query.js +8 -8
- package/Engines/Extensions/engine.query.js.map +1 -1
- package/Engines/Extensions/engine.rawTexture.js +3 -7
- package/Engines/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/Extensions/engine.readTexture.d.ts +2 -2
- package/Engines/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
- package/Engines/Extensions/engine.textureSelector.js.map +1 -1
- package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
- package/Engines/Extensions/engine.transformFeedback.js +1 -1
- package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
- package/Engines/Extensions/engine.views.d.ts +2 -2
- package/Engines/Extensions/engine.views.js.map +1 -1
- package/Engines/Extensions/engine.webVR.d.ts +13 -13
- package/Engines/Extensions/engine.webVR.js.map +1 -1
- package/Engines/ICanvas.d.ts +11 -0
- package/Engines/ICanvas.js.map +1 -1
- package/Engines/IDrawContext.d.ts +1 -1
- package/Engines/IDrawContext.js.map +1 -1
- package/Engines/IMaterialContext.d.ts +1 -1
- package/Engines/IMaterialContext.js.map +1 -1
- package/Engines/IPipelineContext.d.ts +5 -5
- package/Engines/IPipelineContext.js.map +1 -1
- package/Engines/Native/nativeDataStream.d.ts +2 -2
- package/Engines/Native/nativeDataStream.js +1 -1
- package/Engines/Native/nativeDataStream.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +10 -10
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
- package/Engines/Processors/iShaderProcessor.d.ts +1 -1
- package/Engines/Processors/iShaderProcessor.js.map +1 -1
- package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeConditionNode.js +1 -1
- package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
- package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
- package/Engines/Processors/shaderCodeCursor.js +1 -1
- package/Engines/Processors/shaderCodeCursor.js.map +1 -1
- package/Engines/Processors/shaderCodeNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeNode.js +1 -1
- package/Engines/Processors/shaderCodeNode.js.map +1 -1
- package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeTestNode.js +1 -1
- package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
- package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
- package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
- package/Engines/Processors/shaderProcessor.d.ts +2 -2
- package/Engines/Processors/shaderProcessor.js +2 -2
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
- package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
- package/Engines/WebGL/webGLPipelineContext.d.ts +29 -38
- package/Engines/WebGL/webGLPipelineContext.js +95 -326
- package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
- package/Engines/WebGL/webGLRenderTargetWrapper.js +3 -3
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
- package/Engines/WebGPU/webgpuBundleList.js +7 -7
- package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
- package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
- package/Engines/WebGPU/webgpuConstants.js +38 -38
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
- package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
- package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
- package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
- package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
- package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
- package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
- package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
- package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
- package/Engines/WebGPU/webgpuTintWASM.js +1 -1
- package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
- package/Engines/constants.d.ts +1 -1
- package/Engines/constants.js +1 -1
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +18 -37
- package/Engines/engine.js +18 -37
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFeatures.d.ts +2 -2
- package/Engines/engineFeatures.js.map +1 -1
- package/Engines/engineStore.d.ts +1 -1
- package/Engines/engineStore.js +1 -1
- package/Engines/engineStore.js.map +1 -1
- package/Engines/nativeEngine.d.ts +17 -49
- package/Engines/nativeEngine.js +22 -68
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +12 -40
- package/Engines/nullEngine.js +12 -40
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/performanceConfigurator.d.ts +6 -7
- package/Engines/performanceConfigurator.js +6 -7
- package/Engines/performanceConfigurator.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +9 -9
- package/Engines/renderTargetWrapper.js +12 -10
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +96 -192
- package/Engines/thinEngine.js +82 -175
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +89 -145
- package/Engines/webgpuEngine.js +75 -128
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/clipboardEvents.d.ts +1 -1
- package/Events/clipboardEvents.js +1 -1
- package/Events/clipboardEvents.js.map +1 -1
- package/Events/pointerEvents.d.ts +4 -0
- package/Events/pointerEvents.js +4 -0
- package/Events/pointerEvents.js.map +1 -1
- package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
- package/Gamepads/Controllers/oculusTouchController.js +1 -1
- package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
- package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
- package/Gamepads/Controllers/poseEnabledController.js +6 -7
- package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
- package/Gamepads/Controllers/windowsMotionController.d.ts +2 -2
- package/Gamepads/Controllers/windowsMotionController.js +2 -2
- package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
- package/Gamepads/gamepad.d.ts +1 -1
- package/Gamepads/gamepad.js +1 -1
- package/Gamepads/gamepad.js.map +1 -1
- package/Gamepads/gamepadManager.d.ts +2 -2
- package/Gamepads/gamepadManager.js +2 -2
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gamepads/gamepadSceneComponent.d.ts +1 -1
- package/Gamepads/gamepadSceneComponent.js.map +1 -1
- package/Gizmos/axisDragGizmo.d.ts +2 -8
- package/Gizmos/axisDragGizmo.js +2 -8
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.d.ts +4 -0
- package/Gizmos/boundingBoxGizmo.js +6 -0
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/cameraGizmo.d.ts +1 -1
- package/Gizmos/cameraGizmo.js +1 -1
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Gizmos/lightGizmo.d.ts +1 -1
- package/Gizmos/lightGizmo.js +1 -1
- package/Gizmos/lightGizmo.js.map +1 -1
- package/Gizmos/planeDragGizmo.d.ts +1 -3
- package/Gizmos/planeDragGizmo.js +1 -3
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Helpers/sceneHelpers.d.ts +1 -1
- package/Helpers/sceneHelpers.js +1 -1
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Inputs/scene.inputManager.d.ts +3 -3
- package/Inputs/scene.inputManager.js +5 -4
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Instrumentation/timeToken.d.ts +1 -1
- package/Instrumentation/timeToken.js +1 -1
- package/Instrumentation/timeToken.js.map +1 -1
- package/Layers/effectLayer.d.ts +5 -6
- package/Layers/effectLayer.js +3 -4
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.d.ts +4 -4
- package/Layers/glowLayer.js +3 -3
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +4 -4
- package/Layers/highlightLayer.js +3 -3
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.d.ts +1 -1
- package/Layers/layer.js +1 -1
- package/Layers/layer.js.map +1 -1
- package/LensFlares/lensFlare.d.ts +1 -1
- package/LensFlares/lensFlare.js.map +1 -1
- package/LensFlares/lensFlareSystem.d.ts +4 -6
- package/LensFlares/lensFlareSystem.js +4 -6
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
- package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.d.ts +1 -2
- package/Lights/Shadows/shadowGenerator.js +1 -2
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/directionalLight.d.ts +2 -2
- package/Lights/directionalLight.js +2 -2
- package/Lights/directionalLight.js.map +1 -1
- package/Lights/hemisphericLight.d.ts +3 -3
- package/Lights/hemisphericLight.js +3 -3
- package/Lights/hemisphericLight.js.map +1 -1
- package/Lights/light.d.ts +11 -11
- package/Lights/light.js +8 -8
- package/Lights/light.js.map +1 -1
- package/Lights/lightConstants.d.ts +1 -1
- package/Lights/lightConstants.js +1 -1
- package/Lights/lightConstants.js.map +1 -1
- package/Lights/shadowLight.d.ts +3 -3
- package/Lights/shadowLight.js +3 -3
- package/Lights/shadowLight.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
- package/Loading/Plugins/babylonFileLoader.js +1 -1
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/sceneLoader.d.ts +1 -1
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +2 -2
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
- package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +3 -3
- package/Materials/Node/nodeMaterial.js +4 -4
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
- package/Materials/Node/nodeMaterialBlock.js +6 -12
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
- package/Materials/Node/nodeMaterialBuildState.js +21 -57
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
- package/Materials/PBR/pbrBaseMaterial.js +66 -66
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
- package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
- package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrSheenConfiguration.js +2 -2
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.js +9 -3
- package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.d.ts +15 -16
- package/Materials/Textures/Procedurals/proceduralTexture.js +13 -14
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +17 -23
- package/Materials/Textures/baseTexture.js +20 -23
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/colorGradingTexture.d.ts +1 -1
- package/Materials/Textures/colorGradingTexture.js +1 -1
- package/Materials/Textures/colorGradingTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +3 -3
- package/Materials/Textures/cubeTexture.js +3 -3
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +1 -1
- package/Materials/Textures/dynamicTexture.js +1 -1
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
- package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +35 -37
- package/Materials/Textures/internalTexture.js +34 -36
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +1 -3
- package/Materials/Textures/multiRenderTarget.js +1 -3
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
- package/Materials/Textures/prePassRenderTarget.js +6 -6
- package/Materials/Textures/prePassRenderTarget.js.map +1 -1
- package/Materials/Textures/rawCubeTexture.d.ts +1 -1
- package/Materials/Textures/rawCubeTexture.js +1 -1
- package/Materials/Textures/rawCubeTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +10 -16
- package/Materials/Textures/renderTargetTexture.js +24 -28
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +6 -18
- package/Materials/Textures/texture.js +13 -23
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureSampler.d.ts +5 -5
- package/Materials/Textures/textureSampler.js +5 -5
- package/Materials/Textures/textureSampler.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +2 -2
- package/Materials/Textures/thinTexture.js +2 -2
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.d.ts +1 -1
- package/Materials/Textures/videoTexture.js +1 -1
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/colorCurves.d.ts +3 -3
- package/Materials/colorCurves.js +3 -3
- package/Materials/colorCurves.js.map +1 -1
- package/Materials/drawWrapper.d.ts +1 -1
- package/Materials/drawWrapper.js +1 -1
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.d.ts +44 -44
- package/Materials/effect.js +50 -310
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.d.ts +1 -1
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/fresnelParameters.d.ts +1 -1
- package/Materials/fresnelParameters.js +1 -1
- package/Materials/fresnelParameters.js.map +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +9 -9
- package/Materials/imageProcessingConfiguration.js +8 -8
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Materials/material.d.ts +21 -26
- package/Materials/material.detailMapConfiguration.d.ts +3 -3
- package/Materials/material.detailMapConfiguration.js +2 -2
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +17 -22
- package/Materials/material.js.map +1 -1
- package/Materials/materialDefines.d.ts +14 -14
- package/Materials/materialDefines.js +13 -13
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.js +1 -1
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/materialPluginEvent.d.ts +15 -15
- package/Materials/materialPluginEvent.js +1 -1
- package/Materials/materialPluginEvent.js.map +1 -1
- package/Materials/materialPluginManager.d.ts +2 -4
- package/Materials/materialPluginManager.js +2 -4
- package/Materials/materialPluginManager.js.map +1 -1
- package/Materials/multiMaterial.d.ts +1 -1
- package/Materials/multiMaterial.js +1 -1
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/pushMaterial.d.ts +1 -1
- package/Materials/pushMaterial.js +1 -1
- package/Materials/pushMaterial.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +25 -25
- package/Materials/shaderMaterial.js +25 -25
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/standardMaterial.d.ts +3 -3
- package/Materials/standardMaterial.js +4 -4
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.d.ts +4 -4
- package/Materials/uniformBuffer.js +4 -4
- package/Materials/uniformBuffer.js.map +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
- package/Maths/index.d.ts +1 -0
- package/Maths/index.js +1 -0
- package/Maths/index.js.map +1 -1
- package/Maths/math.color.d.ts +1 -1
- package/Maths/math.color.js +1 -1
- package/Maths/math.color.js.map +1 -1
- package/Maths/math.functions.d.ts +2 -2
- package/Maths/math.functions.js +2 -2
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.isovector.d.ts +1 -1
- package/Maths/math.isovector.js +1 -1
- package/Maths/math.isovector.js.map +1 -1
- package/Maths/math.like.d.ts +8 -8
- package/Maths/math.like.js.map +1 -1
- package/Maths/math.polar.d.ts +420 -0
- package/Maths/math.polar.js +651 -0
- package/Maths/math.polar.js.map +1 -0
- package/Maths/math.scalar.d.ts +2 -2
- package/Maths/math.scalar.js +2 -2
- package/Maths/math.scalar.js.map +1 -1
- package/Maths/math.vector.d.ts +24 -26
- package/Maths/math.vector.js +18 -20
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/tubeBuilder.d.ts +2 -2
- package/Meshes/Builders/tubeBuilder.js +2 -2
- package/Meshes/Builders/tubeBuilder.js.map +1 -1
- package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +49 -71
- package/Meshes/abstractMesh.js +56 -73
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/buffer.d.ts +1 -1
- package/Meshes/buffer.js +1 -1
- package/Meshes/buffer.js.map +1 -1
- package/Meshes/geodesicMesh.d.ts +15 -28
- package/Meshes/geodesicMesh.js +11 -24
- package/Meshes/geodesicMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +18 -23
- package/Meshes/geometry.js +10 -15
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/groundMesh.d.ts +8 -8
- package/Meshes/groundMesh.js.map +1 -1
- package/Meshes/instancedMesh.d.ts +13 -17
- package/Meshes/instancedMesh.js +11 -15
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/linesMesh.d.ts +5 -8
- package/Meshes/linesMesh.js +5 -8
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +49 -94
- package/Meshes/mesh.js +53 -95
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +3 -18
- package/Meshes/mesh.vertexData.js +3 -18
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
- package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
- package/Meshes/subMesh.d.ts +22 -52
- package/Meshes/subMesh.js +19 -49
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/subMesh.project.d.ts +2 -2
- package/Meshes/subMesh.project.js +2 -12
- package/Meshes/subMesh.project.js.map +1 -1
- package/Meshes/thinInstanceMesh.d.ts +5 -5
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +8 -9
- package/Meshes/transformNode.js +11 -9
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +2 -2
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
- package/Misc/HighDynamicRange/hdr.d.ts +3 -3
- package/Misc/HighDynamicRange/hdr.js +3 -3
- package/Misc/HighDynamicRange/hdr.js.map +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
- package/Misc/arrayTools.d.ts +14 -13
- package/Misc/arrayTools.js +70 -39
- package/Misc/arrayTools.js.map +1 -1
- package/Misc/assetsManager.d.ts +4 -6
- package/Misc/assetsManager.js +4 -6
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/basis.js +2 -2
- package/Misc/basis.js.map +1 -1
- package/Misc/coroutine.d.ts +11 -25
- package/Misc/coroutine.js +7 -21
- package/Misc/coroutine.js.map +1 -1
- package/Misc/dds.d.ts +1 -10
- package/Misc/dds.js +1 -10
- package/Misc/dds.js.map +1 -1
- package/Misc/decorators.d.ts +5 -15
- package/Misc/decorators.js +6 -16
- package/Misc/decorators.js.map +1 -1
- package/Misc/depthReducer.d.ts +1 -5
- package/Misc/depthReducer.js +1 -5
- package/Misc/depthReducer.js.map +1 -1
- package/Misc/devTools.d.ts +1 -2
- package/Misc/devTools.js +1 -2
- package/Misc/devTools.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +5 -10
- package/Misc/environmentTextureTools.js +6 -11
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.d.ts +15 -27
- package/Misc/fileTools.js +33 -38
- package/Misc/fileTools.js.map +1 -1
- package/Misc/khronosTextureContainer.d.ts +1 -3
- package/Misc/khronosTextureContainer.js +1 -3
- package/Misc/khronosTextureContainer.js.map +1 -1
- package/Misc/khronosTextureContainer2.d.ts +1 -4
- package/Misc/khronosTextureContainer2.js +1 -4
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/observable.d.ts +4 -5
- package/Misc/observable.js +3 -4
- package/Misc/observable.js.map +1 -1
- package/Misc/performanceMonitor.d.ts +3 -3
- package/Misc/performanceMonitor.js +3 -3
- package/Misc/performanceMonitor.js.map +1 -1
- package/Misc/pivotTools.d.ts +3 -5
- package/Misc/pivotTools.js +3 -5
- package/Misc/pivotTools.js.map +1 -1
- package/Misc/rgbdTextureTools.d.ts +1 -1
- package/Misc/rgbdTextureTools.js +1 -1
- package/Misc/rgbdTextureTools.js.map +1 -1
- package/Misc/sceneOptimizer.d.ts +7 -7
- package/Misc/sceneOptimizer.js +7 -7
- package/Misc/sceneOptimizer.js.map +1 -1
- package/Misc/screenshotTools.js +1 -1
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/stringDictionary.d.ts +6 -6
- package/Misc/stringDictionary.js +6 -6
- package/Misc/stringDictionary.js.map +1 -1
- package/Misc/tags.d.ts +2 -6
- package/Misc/tags.js +2 -6
- package/Misc/tags.js.map +1 -1
- package/Misc/textureTools.d.ts +4 -4
- package/Misc/textureTools.js +4 -4
- package/Misc/textureTools.js.map +1 -1
- package/Misc/tga.d.ts +14 -70
- package/Misc/tga.js +14 -70
- package/Misc/tga.js.map +1 -1
- package/Misc/tools.d.ts +6 -6
- package/Misc/tools.js +6 -6
- package/Misc/tools.js.map +1 -1
- package/Misc/typeStore.d.ts +2 -5
- package/Misc/typeStore.js +3 -6
- package/Misc/typeStore.js.map +1 -1
- package/Misc/videoRecorder.d.ts +1 -1
- package/Misc/videoRecorder.js +1 -1
- package/Misc/videoRecorder.js.map +1 -1
- package/Misc/webRequest.d.ts +2 -2
- package/Misc/webRequest.js +1 -1
- package/Misc/webRequest.js.map +1 -1
- package/Morph/morphTarget.d.ts +1 -1
- package/Morph/morphTarget.js +1 -1
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +3 -4
- package/Morph/morphTargetManager.js +2 -3
- package/Morph/morphTargetManager.js.map +1 -1
- package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
- package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
- package/Particles/IParticleSystem.d.ts +1 -1
- package/Particles/IParticleSystem.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +6 -9
- package/Particles/baseParticleSystem.js +5 -8
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/cloudPoint.d.ts +16 -19
- package/Particles/cloudPoint.js +21 -29
- package/Particles/cloudPoint.js.map +1 -1
- package/Particles/computeShaderParticleSystem.d.ts +1 -1
- package/Particles/computeShaderParticleSystem.js +1 -1
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +14 -20
- package/Particles/gpuParticleSystem.js +6 -12
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particle.d.ts +30 -31
- package/Particles/particle.js +16 -17
- package/Particles/particle.js.map +1 -1
- package/Particles/particleSystem.d.ts +16 -32
- package/Particles/particleSystem.js +14 -30
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/pointsCloudSystem.d.ts +3 -4
- package/Particles/pointsCloudSystem.js +27 -20
- package/Particles/pointsCloudSystem.js.map +1 -1
- package/Particles/solidParticle.d.ts +21 -31
- package/Particles/solidParticle.js +9 -19
- package/Particles/solidParticle.js.map +1 -1
- package/Particles/solidParticleSystem.d.ts +18 -16
- package/Particles/solidParticleSystem.js +39 -19
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/subEmitter.d.ts +1 -5
- package/Particles/subEmitter.js +1 -5
- package/Particles/subEmitter.js.map +1 -1
- package/Particles/webgl2ParticleSystem.d.ts +1 -1
- package/Particles/webgl2ParticleSystem.js +1 -1
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/Physics/IPhysicsEngine.d.ts +1 -1
- package/Physics/IPhysicsEngine.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.d.ts +4 -1
- package/Physics/Plugins/ammoJSPlugin.js +22 -3
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
- package/Physics/Plugins/cannonJSPlugin.js +1 -1
- package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
- package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
- package/Physics/Plugins/oimoJSPlugin.js +4 -4
- package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
- package/Physics/physicsEngineComponent.d.ts +5 -5
- package/Physics/physicsEngineComponent.js +2 -3
- package/Physics/physicsEngineComponent.js.map +1 -1
- package/Physics/physicsImpostor.d.ts +13 -7
- package/Physics/physicsImpostor.js +9 -6
- package/Physics/physicsImpostor.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
- package/PostProcesses/blackAndWhitePostProcess.js +1 -5
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.d.ts +4 -4
- package/PostProcesses/bloomEffect.js +3 -3
- package/PostProcesses/bloomEffect.js.map +1 -1
- package/PostProcesses/blurPostProcess.d.ts +4 -8
- package/PostProcesses/blurPostProcess.js +4 -8
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
- package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
- package/PostProcesses/colorCorrectionPostProcess.js +1 -5
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.d.ts +1 -5
- package/PostProcesses/convolutionPostProcess.js +1 -5
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
- package/PostProcesses/depthOfFieldEffect.js +3 -3
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/displayPassPostProcess.d.ts +1 -5
- package/PostProcesses/displayPassPostProcess.js +1 -5
- package/PostProcesses/displayPassPostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
- package/PostProcesses/extractHighlightsPostProcess.js +2 -2
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.d.ts +1 -5
- package/PostProcesses/filterPostProcess.js +1 -5
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.d.ts +1 -5
- package/PostProcesses/fxaaPostProcess.js +1 -5
- package/PostProcesses/fxaaPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.d.ts +1 -5
- package/PostProcesses/grainPostProcess.js +1 -5
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +1 -1
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
- package/PostProcesses/motionBlurPostProcess.js +1 -5
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.d.ts +2 -10
- package/PostProcesses/passPostProcess.js +2 -10
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +8 -12
- package/PostProcesses/postProcess.js +6 -10
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.d.ts +3 -3
- package/PostProcesses/postProcessManager.js +3 -3
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/PostProcesses/refractionPostProcess.d.ts +1 -5
- package/PostProcesses/refractionPostProcess.js +1 -5
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
- package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.d.ts +1 -5
- package/PostProcesses/sharpenPostProcess.js +1 -5
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +4 -4
- package/PostProcesses/volumetricLightScatteringPostProcess.js +4 -4
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Probes/reflectionProbe.d.ts +1 -1
- package/Probes/reflectionProbe.js +1 -1
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/boundingBoxRenderer.d.ts +5 -5
- package/Rendering/boundingBoxRenderer.js +2 -2
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +1 -0
- package/Rendering/depthPeelingRenderer.js +32 -5
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
- package/Rendering/depthPeelingSceneComponent.js.map +1 -1
- package/Rendering/depthRenderer.d.ts +1 -2
- package/Rendering/depthRenderer.js +1 -2
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/depthRendererSceneComponent.d.ts +1 -1
- package/Rendering/depthRendererSceneComponent.js.map +1 -1
- package/Rendering/edgesRenderer.d.ts +4 -4
- package/Rendering/edgesRenderer.js +2 -2
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +14 -18
- package/Rendering/geometryBufferRenderer.js +14 -18
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/geometryBufferRendererSceneComponent.d.ts +3 -2
- package/Rendering/geometryBufferRendererSceneComponent.js +3 -2
- package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
- package/Rendering/outlineRenderer.d.ts +3 -3
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.d.ts +18 -17
- package/Rendering/prePassRenderer.js +26 -18
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
- package/Rendering/prePassRendererSceneComponent.js.map +1 -1
- package/Rendering/renderingGroup.d.ts +3 -3
- package/Rendering/renderingGroup.js +3 -3
- package/Rendering/renderingGroup.js.map +1 -1
- package/Rendering/renderingManager.d.ts +4 -8
- package/Rendering/renderingManager.js +4 -8
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.d.ts +4 -6
- package/Rendering/subSurfaceConfiguration.js +4 -6
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
- package/Rendering/subSurfaceSceneComponent.js.map +1 -1
- package/Rendering/utilityLayerRenderer.d.ts +4 -4
- package/Rendering/utilityLayerRenderer.js +15 -10
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
- package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
- package/Shaders/ShadersInclude/fibonacci.js +1 -1
- package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/fogFragment.js +1 -1
- package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/fogVertex.js +1 -1
- package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +1 -1
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/oitFragment.js +1 -1
- package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
- package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
- package/Shaders/anaglyph.fragment.d.ts +1 -1
- package/Shaders/anaglyph.fragment.js +1 -1
- package/Shaders/anaglyph.fragment.js.map +1 -1
- package/Shaders/background.fragment.d.ts +1 -1
- package/Shaders/background.fragment.js +1 -1
- package/Shaders/background.fragment.js.map +1 -1
- package/Shaders/background.vertex.d.ts +1 -1
- package/Shaders/background.vertex.js +1 -1
- package/Shaders/background.vertex.js.map +1 -1
- package/Shaders/blackAndWhite.fragment.d.ts +1 -1
- package/Shaders/blackAndWhite.fragment.js +1 -1
- package/Shaders/blackAndWhite.fragment.js.map +1 -1
- package/Shaders/bloomMerge.fragment.d.ts +1 -1
- package/Shaders/bloomMerge.fragment.js +1 -1
- package/Shaders/bloomMerge.fragment.js.map +1 -1
- package/Shaders/blur.fragment.d.ts +1 -1
- package/Shaders/blur.fragment.js +1 -1
- package/Shaders/blur.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
- package/Shaders/chromaticAberration.fragment.d.ts +1 -1
- package/Shaders/chromaticAberration.fragment.js +2 -1
- package/Shaders/chromaticAberration.fragment.js.map +1 -1
- package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
- package/Shaders/circleOfConfusion.fragment.js +1 -1
- package/Shaders/circleOfConfusion.fragment.js.map +1 -1
- package/Shaders/clearQuad.fragment.d.ts +1 -1
- package/Shaders/clearQuad.fragment.js +1 -1
- package/Shaders/clearQuad.fragment.js.map +1 -1
- package/Shaders/clearQuad.vertex.d.ts +1 -1
- package/Shaders/clearQuad.vertex.js +1 -1
- package/Shaders/clearQuad.vertex.js.map +1 -1
- package/Shaders/color.fragment.d.ts +1 -1
- package/Shaders/color.fragment.js +1 -1
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.d.ts +1 -1
- package/Shaders/color.vertex.js +1 -1
- package/Shaders/color.vertex.js.map +1 -1
- package/Shaders/colorCorrection.fragment.d.ts +1 -1
- package/Shaders/colorCorrection.fragment.js +1 -1
- package/Shaders/colorCorrection.fragment.js.map +1 -1
- package/Shaders/convolution.fragment.d.ts +1 -1
- package/Shaders/convolution.fragment.js +1 -1
- package/Shaders/convolution.fragment.js.map +1 -1
- package/Shaders/default.fragment.d.ts +1 -1
- package/Shaders/default.fragment.js +1 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.d.ts +1 -1
- package/Shaders/default.vertex.js +1 -1
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/depth.fragment.d.ts +1 -1
- package/Shaders/depth.fragment.js +1 -1
- package/Shaders/depth.fragment.js.map +1 -1
- package/Shaders/depth.vertex.d.ts +1 -1
- package/Shaders/depth.vertex.js +1 -1
- package/Shaders/depth.vertex.js.map +1 -1
- package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
- package/Shaders/depthBoxBlur.fragment.js +1 -1
- package/Shaders/depthBoxBlur.fragment.js.map +1 -1
- package/Shaders/depthOfField.fragment.d.ts +1 -1
- package/Shaders/depthOfField.fragment.js +1 -1
- package/Shaders/depthOfField.fragment.js.map +1 -1
- package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
- package/Shaders/displayPass.fragment.d.ts +1 -1
- package/Shaders/displayPass.fragment.js +1 -1
- package/Shaders/displayPass.fragment.js.map +1 -1
- package/Shaders/extractHighlights.fragment.d.ts +1 -1
- package/Shaders/extractHighlights.fragment.js +1 -1
- package/Shaders/extractHighlights.fragment.js.map +1 -1
- package/Shaders/filter.fragment.d.ts +1 -1
- package/Shaders/filter.fragment.js +1 -1
- package/Shaders/filter.fragment.js.map +1 -1
- package/Shaders/fxaa.fragment.d.ts +1 -1
- package/Shaders/fxaa.fragment.js +1 -1
- package/Shaders/fxaa.fragment.js.map +1 -1
- package/Shaders/fxaa.vertex.d.ts +1 -1
- package/Shaders/fxaa.vertex.js +1 -1
- package/Shaders/fxaa.vertex.js.map +1 -1
- package/Shaders/geometry.fragment.d.ts +1 -1
- package/Shaders/geometry.fragment.js +14 -2
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/geometry.vertex.d.ts +1 -1
- package/Shaders/geometry.vertex.js +1 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
- package/Shaders/glowMapGeneration.fragment.js +1 -1
- package/Shaders/glowMapGeneration.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
- package/Shaders/glowMapGeneration.vertex.js +1 -1
- package/Shaders/glowMapGeneration.vertex.js.map +1 -1
- package/Shaders/glowMapMerge.fragment.d.ts +1 -1
- package/Shaders/glowMapMerge.fragment.js +1 -1
- package/Shaders/glowMapMerge.fragment.js.map +1 -1
- package/Shaders/glowMapMerge.vertex.d.ts +1 -1
- package/Shaders/glowMapMerge.vertex.js +1 -1
- package/Shaders/glowMapMerge.vertex.js.map +1 -1
- package/Shaders/gpuRenderParticles.fragment.d.ts +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +1 -1
- package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.vertex.d.ts +1 -1
- package/Shaders/gpuRenderParticles.vertex.js +1 -1
- package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
- package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
- package/Shaders/gpuUpdateParticles.fragment.js +1 -1
- package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
- package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
- package/Shaders/grain.fragment.d.ts +1 -1
- package/Shaders/grain.fragment.js +1 -1
- package/Shaders/grain.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.fragment.d.ts +1 -1
- package/Shaders/hdrFiltering.fragment.js +1 -1
- package/Shaders/hdrFiltering.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.vertex.d.ts +1 -1
- package/Shaders/hdrFiltering.vertex.js +1 -1
- package/Shaders/hdrFiltering.vertex.js.map +1 -1
- package/Shaders/highlights.fragment.d.ts +1 -1
- package/Shaders/highlights.fragment.js +1 -1
- package/Shaders/highlights.fragment.js.map +1 -1
- package/Shaders/imageProcessing.fragment.d.ts +1 -1
- package/Shaders/imageProcessing.fragment.js +1 -1
- package/Shaders/imageProcessing.fragment.js.map +1 -1
- package/Shaders/kernelBlur.fragment.d.ts +1 -1
- package/Shaders/kernelBlur.fragment.js +1 -1
- package/Shaders/kernelBlur.fragment.js.map +1 -1
- package/Shaders/kernelBlur.vertex.d.ts +1 -1
- package/Shaders/kernelBlur.vertex.js +1 -1
- package/Shaders/kernelBlur.vertex.js.map +1 -1
- package/Shaders/layer.fragment.d.ts +1 -1
- package/Shaders/layer.fragment.js +1 -1
- package/Shaders/layer.fragment.js.map +1 -1
- package/Shaders/layer.vertex.d.ts +1 -1
- package/Shaders/layer.vertex.js +1 -1
- package/Shaders/layer.vertex.js.map +1 -1
- package/Shaders/lensFlare.fragment.d.ts +1 -1
- package/Shaders/lensFlare.fragment.js +1 -1
- package/Shaders/lensFlare.fragment.js.map +1 -1
- package/Shaders/lensFlare.vertex.d.ts +1 -1
- package/Shaders/lensFlare.vertex.js +1 -1
- package/Shaders/lensFlare.vertex.js.map +1 -1
- package/Shaders/lensHighlights.fragment.d.ts +1 -1
- package/Shaders/lensHighlights.fragment.js +1 -1
- package/Shaders/lensHighlights.fragment.js.map +1 -1
- package/Shaders/line.fragment.d.ts +1 -1
- package/Shaders/line.fragment.js +1 -1
- package/Shaders/line.fragment.js.map +1 -1
- package/Shaders/line.vertex.d.ts +1 -1
- package/Shaders/line.vertex.js +1 -1
- package/Shaders/line.vertex.js.map +1 -1
- package/Shaders/minmaxRedux.fragment.d.ts +1 -1
- package/Shaders/minmaxRedux.fragment.js +1 -1
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/Shaders/motionBlur.fragment.d.ts +1 -1
- package/Shaders/motionBlur.fragment.js +1 -1
- package/Shaders/motionBlur.fragment.js.map +1 -1
- package/Shaders/noise.fragment.d.ts +1 -1
- package/Shaders/noise.fragment.js +1 -1
- package/Shaders/noise.fragment.js.map +1 -1
- package/Shaders/oitBackBlend.fragment.d.ts +1 -1
- package/Shaders/oitBackBlend.fragment.js +1 -1
- package/Shaders/oitBackBlend.fragment.js.map +1 -1
- package/Shaders/oitFinal.fragment.d.ts +1 -1
- package/Shaders/oitFinal.fragment.js +1 -1
- package/Shaders/oitFinal.fragment.js.map +1 -1
- package/Shaders/outline.fragment.d.ts +1 -1
- package/Shaders/outline.fragment.js +1 -1
- package/Shaders/outline.fragment.js.map +1 -1
- package/Shaders/outline.vertex.d.ts +1 -1
- package/Shaders/outline.vertex.js +1 -1
- package/Shaders/outline.vertex.js.map +1 -1
- package/Shaders/particles.fragment.d.ts +1 -1
- package/Shaders/particles.fragment.js +1 -1
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.d.ts +1 -1
- package/Shaders/particles.vertex.js +1 -1
- package/Shaders/particles.vertex.js.map +1 -1
- package/Shaders/pass.fragment.d.ts +1 -1
- package/Shaders/pass.fragment.js +1 -1
- package/Shaders/pass.fragment.js.map +1 -1
- package/Shaders/passCube.fragment.d.ts +1 -1
- package/Shaders/passCube.fragment.js +1 -1
- package/Shaders/passCube.fragment.js.map +1 -1
- package/Shaders/pbr.fragment.d.ts +1 -1
- package/Shaders/pbr.fragment.js +1 -1
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.d.ts +1 -1
- package/Shaders/pbr.vertex.js +1 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/postprocess.vertex.d.ts +1 -1
- package/Shaders/postprocess.vertex.js +1 -1
- package/Shaders/postprocess.vertex.js.map +1 -1
- package/Shaders/procedural.vertex.d.ts +1 -1
- package/Shaders/procedural.vertex.js +1 -1
- package/Shaders/procedural.vertex.js.map +1 -1
- package/Shaders/refraction.fragment.d.ts +1 -1
- package/Shaders/refraction.fragment.js +1 -1
- package/Shaders/refraction.fragment.js.map +1 -1
- package/Shaders/rgbdDecode.fragment.d.ts +1 -1
- package/Shaders/rgbdDecode.fragment.js +1 -1
- package/Shaders/rgbdDecode.fragment.js.map +1 -1
- package/Shaders/rgbdEncode.fragment.d.ts +1 -1
- package/Shaders/rgbdEncode.fragment.js +1 -1
- package/Shaders/rgbdEncode.fragment.js.map +1 -1
- package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
- package/Shaders/screenSpaceReflection.fragment.js +1 -1
- package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
- package/Shaders/shadowMap.fragment.d.ts +1 -1
- package/Shaders/shadowMap.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js.map +1 -1
- package/Shaders/shadowMap.vertex.d.ts +1 -1
- package/Shaders/shadowMap.vertex.js +1 -1
- package/Shaders/shadowMap.vertex.js.map +1 -1
- package/Shaders/sharpen.fragment.d.ts +1 -1
- package/Shaders/sharpen.fragment.js +1 -1
- package/Shaders/sharpen.fragment.js.map +1 -1
- package/Shaders/spriteMap.fragment.d.ts +1 -1
- package/Shaders/spriteMap.fragment.js +1 -1
- package/Shaders/spriteMap.fragment.js.map +1 -1
- package/Shaders/spriteMap.vertex.d.ts +1 -1
- package/Shaders/spriteMap.vertex.js +1 -1
- package/Shaders/spriteMap.vertex.js.map +1 -1
- package/Shaders/sprites.fragment.d.ts +1 -1
- package/Shaders/sprites.fragment.js +1 -1
- package/Shaders/sprites.fragment.js.map +1 -1
- package/Shaders/sprites.vertex.d.ts +1 -1
- package/Shaders/sprites.vertex.js +1 -1
- package/Shaders/sprites.vertex.js.map +1 -1
- package/Shaders/ssao.fragment.d.ts +1 -1
- package/Shaders/ssao.fragment.js +1 -1
- package/Shaders/ssao.fragment.js.map +1 -1
- package/Shaders/ssao2.fragment.d.ts +1 -1
- package/Shaders/ssao2.fragment.js +1 -1
- package/Shaders/ssao2.fragment.js.map +1 -1
- package/Shaders/ssaoCombine.fragment.d.ts +1 -1
- package/Shaders/ssaoCombine.fragment.js +1 -1
- package/Shaders/ssaoCombine.fragment.js.map +1 -1
- package/Shaders/standard.fragment.d.ts +1 -1
- package/Shaders/standard.fragment.js +1 -1
- package/Shaders/standard.fragment.js.map +1 -1
- package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
- package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +1 -1
- package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
- package/Shaders/tonemap.fragment.d.ts +1 -1
- package/Shaders/tonemap.fragment.js +1 -1
- package/Shaders/tonemap.fragment.js.map +1 -1
- package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
- package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
- package/Sprites/spriteSceneComponent.d.ts +6 -6
- package/Sprites/spriteSceneComponent.js.map +1 -1
- package/Sprites/thinSprite.d.ts +5 -6
- package/Sprites/thinSprite.js +1 -2
- package/Sprites/thinSprite.js.map +1 -1
- package/States/IStencilState.d.ts +1 -1
- package/States/IStencilState.js.map +1 -1
- package/States/alphaCullingState.d.ts +1 -1
- package/States/alphaCullingState.js +1 -1
- package/States/alphaCullingState.js.map +1 -1
- package/States/depthCullingState.d.ts +1 -1
- package/States/depthCullingState.js +1 -1
- package/States/depthCullingState.js.map +1 -1
- package/States/stencilState.d.ts +1 -1
- package/States/stencilState.js +1 -1
- package/States/stencilState.js.map +1 -1
- package/States/stencilStateComposer.d.ts +1 -1
- package/States/stencilStateComposer.js +1 -1
- package/States/stencilStateComposer.js.map +1 -1
- package/XR/features/WebXRControllerPhysics.d.ts +1 -1
- package/XR/features/WebXRControllerPhysics.js +1 -1
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
- package/XR/features/WebXRControllerPointerSelection.js +3 -6
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.d.ts +4 -0
- package/XR/features/WebXRControllerTeleportation.js +24 -19
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRLayers.d.ts +2 -2
- package/XR/features/WebXRLayers.js +4 -4
- package/XR/features/WebXRLayers.js.map +1 -1
- package/XR/features/WebXRNearInteraction.js +2 -2
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/motionController/webXRAbstractMotionController.d.ts +5 -6
- package/XR/motionController/webXRAbstractMotionController.js +4 -5
- package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
- package/XR/motionController/webXRControllerComponent.d.ts +1 -1
- package/XR/motionController/webXRControllerComponent.js +1 -1
- package/XR/motionController/webXRControllerComponent.js.map +1 -1
- package/XR/motionController/webXRMotionControllerManager.d.ts +3 -3
- package/XR/motionController/webXRMotionControllerManager.js +3 -3
- package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
- package/XR/native/nativeXRFrame.d.ts +2 -2
- package/XR/native/nativeXRFrame.js +1 -1
- package/XR/native/nativeXRFrame.js.map +1 -1
- package/XR/native/nativeXRRenderTarget.d.ts +3 -3
- package/XR/native/nativeXRRenderTarget.js +3 -3
- package/XR/native/nativeXRRenderTarget.js.map +1 -1
- package/XR/webXRCamera.d.ts +2 -2
- package/XR/webXRCamera.js +1 -1
- package/XR/webXRCamera.js.map +1 -1
- package/XR/webXRDefaultExperience.d.ts +6 -6
- package/XR/webXRDefaultExperience.js.map +1 -1
- package/XR/webXRExperienceHelper.d.ts +21 -1
- package/XR/webXRExperienceHelper.js +37 -7
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRInputSource.d.ts +1 -1
- package/XR/webXRInputSource.js.map +1 -1
- package/XR/webXRLayerWrapper.d.ts +1 -1
- package/XR/webXRLayerWrapper.js +1 -1
- package/XR/webXRLayerWrapper.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
- package/XR/webXRRenderTargetTextureProvider.js +1 -1
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.d.ts +1 -2
- package/XR/webXRSessionManager.js +1 -2
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRWebGLLayer.d.ts +2 -2
- package/XR/webXRWebGLLayer.js +2 -2
- package/XR/webXRWebGLLayer.js.map +1 -1
- package/abstractScene.d.ts +1 -1
- package/abstractScene.js +1 -1
- package/abstractScene.js.map +1 -1
- package/node.d.ts +44 -56
- package/node.js +43 -58
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +130 -168
- package/scene.js +115 -142
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +2 -2
- package/sceneComponent.js +2 -2
- package/sceneComponent.js.map +1 -1
- package/types.d.ts +2 -2
- package/types.js +1 -1
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubemapToSphericalPolynomial.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport { SphericalPolynomial, SphericalHarmonics } from \"../../Maths/sphericalPolynomial\";\r\nimport type { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport type { Nullable } from \"../../types\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { ToLinearSpace } from \"../../Maths/math.constants\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\n\r\nclass FileFaceOrientation {\r\n public name: string;\r\n public worldAxisForNormal: Vector3; // the world axis corresponding to the normal to the face\r\n public worldAxisForFileX: Vector3; // the world axis corresponding to texture right x-axis in file\r\n public worldAxisForFileY: Vector3; // the world axis corresponding to texture down y-axis in file\r\n\r\n public constructor(name: string, worldAxisForNormal: Vector3, worldAxisForFileX: Vector3, worldAxisForFileY: Vector3) {\r\n this.name = name;\r\n this.worldAxisForNormal = worldAxisForNormal;\r\n this.worldAxisForFileX = worldAxisForFileX;\r\n this.worldAxisForFileY = worldAxisForFileY;\r\n }\r\n}\r\n\r\n/**\r\n * Helper class dealing with the extraction of spherical polynomial dataArray\r\n * from a cube map.\r\n */\r\nexport class CubeMapToSphericalPolynomialTools {\r\n private static _FileFaces: FileFaceOrientation[] = [\r\n new FileFaceOrientation(\"right\", new Vector3(1, 0, 0), new Vector3(0, 0, -1), new Vector3(0, -1, 0)), // +X east\r\n new FileFaceOrientation(\"left\", new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, -1, 0)), // -X west\r\n new FileFaceOrientation(\"up\", new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1)), // +Y north\r\n new FileFaceOrientation(\"down\", new Vector3(0, -1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, -1)), // -Y south\r\n new FileFaceOrientation(\"front\", new Vector3(0, 0, 1), new Vector3(1, 0, 0), new Vector3(0, -1, 0)), // +Z top\r\n new FileFaceOrientation(\"back\", new Vector3(0, 0, -1), new Vector3(-1, 0, 0), new Vector3(0, -1, 0)), // -Z bottom\r\n ];\r\n\r\n /**\r\n * Converts a texture to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param texture The texture to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapTextureToSphericalPolynomial(texture: BaseTexture): Nullable<Promise<SphericalPolynomial>> {\r\n if (!texture.isCube) {\r\n // Only supports cube Textures currently.\r\n return null;\r\n }\r\n\r\n texture.getScene()?.getEngine().flushFramebuffer();\r\n\r\n const size = texture.getSize().width;\r\n const rightPromise = texture.readPixels(0, undefined, undefined, false);\r\n const leftPromise = texture.readPixels(1, undefined, undefined, false);\r\n\r\n let upPromise: Nullable<Promise<ArrayBufferView>>;\r\n let downPromise: Nullable<Promise<ArrayBufferView>>;\r\n if (texture.isRenderTarget) {\r\n upPromise = texture.readPixels(3, undefined, undefined, false);\r\n downPromise = texture.readPixels(2, undefined, undefined, false);\r\n } else {\r\n upPromise = texture.readPixels(2, undefined, undefined, false);\r\n downPromise = texture.readPixels(3, undefined, undefined, false);\r\n }\r\n\r\n const frontPromise = texture.readPixels(4, undefined, undefined, false);\r\n const backPromise = texture.readPixels(5, undefined, undefined, false);\r\n\r\n const gammaSpace = texture.gammaSpace;\r\n // Always read as RGBA.\r\n const format = Constants.TEXTUREFORMAT_RGBA;\r\n let type = Constants.TEXTURETYPE_UNSIGNED_INT;\r\n if (texture.textureType == Constants.TEXTURETYPE_FLOAT || texture.textureType == Constants.TEXTURETYPE_HALF_FLOAT) {\r\n type = Constants.TEXTURETYPE_FLOAT;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n Promise.all([leftPromise, rightPromise, upPromise, downPromise, frontPromise, backPromise]).then(([left, right, up, down, front, back]) => {\r\n const cubeInfo: CubeMapInfo = {\r\n size,\r\n right,\r\n left,\r\n up,\r\n down,\r\n front,\r\n back,\r\n format,\r\n type,\r\n gammaSpace,\r\n };\r\n\r\n resolve(this.ConvertCubeMapToSphericalPolynomial(cubeInfo));\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Compute the area on the unit sphere of the rectangle defined by (x,y) and the origin\r\n * See https://www.rorydriscoll.com/2012/01/15/cubemap-texel-solid-angle/\r\n * @param x\r\n * @param y\r\n */\r\n private static _AreaElement(x: number, y: number): number {\r\n return Math.atan2(x * y, Math.sqrt(x * x + y * y + 1));\r\n }\r\n\r\n /**\r\n * Converts a cubemap to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param cubeInfo The Cube map to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapToSphericalPolynomial(cubeInfo: CubeMapInfo): SphericalPolynomial {\r\n const sphericalHarmonics = new SphericalHarmonics();\r\n let totalSolidAngle = 0.0;\r\n\r\n // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size.\r\n const du = 2.0 / cubeInfo.size;\r\n const dv = du;\r\n\r\n const halfTexel = 0.5 * du;\r\n\r\n // The (u,v) of the first texel is half a texel from the corner (-1,-1).\r\n const minUV = halfTexel - 1.0;\r\n\r\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n const fileFace = this._FileFaces[faceIndex];\r\n const dataArray = (<any>cubeInfo)[fileFace.name];\r\n let v = minUV;\r\n\r\n // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH).\r\n // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality.\r\n // Because SP is still linear, so summation is fine in that basis.\r\n const stride = cubeInfo.format === Constants.TEXTUREFORMAT_RGBA ? 4 : 3;\r\n for (let y = 0; y < cubeInfo.size; y++) {\r\n let u = minUV;\r\n\r\n for (let x = 0; x < cubeInfo.size; x++) {\r\n // World direction (not normalised)\r\n const worldDirection = fileFace.worldAxisForFileX.scale(u).add(fileFace.worldAxisForFileY.scale(v)).add(fileFace.worldAxisForNormal);\r\n worldDirection.normalize();\r\n\r\n const deltaSolidAngle =\r\n this._AreaElement(u - halfTexel, v - halfTexel) -\r\n this._AreaElement(u - halfTexel, v + halfTexel) -\r\n this._AreaElement(u + halfTexel, v - halfTexel) +\r\n this._AreaElement(u + halfTexel, v + halfTexel);\r\n\r\n let r = dataArray[y * cubeInfo.size * stride + x * stride + 0];\r\n let g = dataArray[y * cubeInfo.size * stride + x * stride + 1];\r\n let b = dataArray[y * cubeInfo.size * stride + x * stride + 2];\r\n\r\n // Prevent NaN harmonics with extreme HDRI data.\r\n if (isNaN(r)) {\r\n r = 0;\r\n }\r\n if (isNaN(g)) {\r\n g = 0;\r\n }\r\n if (isNaN(b)) {\r\n b = 0;\r\n }\r\n\r\n // Handle Integer types.\r\n if (cubeInfo.type === Constants.TEXTURETYPE_UNSIGNED_INT) {\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n }\r\n\r\n // Handle Gamma space textures.\r\n if (cubeInfo.gammaSpace) {\r\n r = Math.pow(Scalar.Clamp(r), ToLinearSpace);\r\n g = Math.pow(Scalar.Clamp(g), ToLinearSpace);\r\n b = Math.pow(Scalar.Clamp(b), ToLinearSpace);\r\n }\r\n\r\n // Prevent to explode in case of really high dynamic ranges.\r\n // sh 3 would not be enough to accurately represent it.\r\n const max = 4096;\r\n r = Scalar.Clamp(r, 0, max);\r\n g = Scalar.Clamp(g, 0, max);\r\n b = Scalar.Clamp(b, 0, max);\r\n\r\n const color = new Color3(r, g, b);\r\n\r\n sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);\r\n\r\n totalSolidAngle += deltaSolidAngle;\r\n\r\n u += du;\r\n }\r\n\r\n v += dv;\r\n }\r\n }\r\n\r\n // Solid angle for entire sphere is 4*pi\r\n const sphereSolidAngle = 4.0 * Math.PI;\r\n\r\n // Adjust the solid angle to allow for how many faces we processed.\r\n const facesProcessed = 6.0;\r\n const expectedSolidAngle = (sphereSolidAngle * facesProcessed) / 6.0;\r\n\r\n // Adjust the harmonics so that the accumulated solid angle matches the expected solid angle.\r\n // This is needed because the numerical integration over the cube uses a\r\n // small angle approximation of solid angle for each texel (see deltaSolidAngle),\r\n // and also to compensate for accumulative error due to float precision in the summation.\r\n const correctionFactor = expectedSolidAngle / totalSolidAngle;\r\n sphericalHarmonics.scaleInPlace(correctionFactor);\r\n\r\n sphericalHarmonics.convertIncidentRadianceToIrradiance();\r\n sphericalHarmonics.convertIrradianceToLambertianRadiance();\r\n\r\n return SphericalPolynomial.FromHarmonics(sphericalHarmonics);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"cubemapToSphericalPolynomial.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport { SphericalPolynomial, SphericalHarmonics } from \"../../Maths/sphericalPolynomial\";\r\nimport type { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport type { Nullable } from \"../../types\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { ToLinearSpace } from \"../../Maths/math.constants\";\r\nimport { Color3 } from \"../../Maths/math.color\";\r\n\r\nclass FileFaceOrientation {\r\n public name: string;\r\n public worldAxisForNormal: Vector3; // the world axis corresponding to the normal to the face\r\n public worldAxisForFileX: Vector3; // the world axis corresponding to texture right x-axis in file\r\n public worldAxisForFileY: Vector3; // the world axis corresponding to texture down y-axis in file\r\n\r\n public constructor(name: string, worldAxisForNormal: Vector3, worldAxisForFileX: Vector3, worldAxisForFileY: Vector3) {\r\n this.name = name;\r\n this.worldAxisForNormal = worldAxisForNormal;\r\n this.worldAxisForFileX = worldAxisForFileX;\r\n this.worldAxisForFileY = worldAxisForFileY;\r\n }\r\n}\r\n\r\n/**\r\n * Helper class dealing with the extraction of spherical polynomial dataArray\r\n * from a cube map.\r\n */\r\nexport class CubeMapToSphericalPolynomialTools {\r\n private static _FileFaces: FileFaceOrientation[] = [\r\n new FileFaceOrientation(\"right\", new Vector3(1, 0, 0), new Vector3(0, 0, -1), new Vector3(0, -1, 0)), // +X east\r\n new FileFaceOrientation(\"left\", new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, -1, 0)), // -X west\r\n new FileFaceOrientation(\"up\", new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1)), // +Y north\r\n new FileFaceOrientation(\"down\", new Vector3(0, -1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, -1)), // -Y south\r\n new FileFaceOrientation(\"front\", new Vector3(0, 0, 1), new Vector3(1, 0, 0), new Vector3(0, -1, 0)), // +Z top\r\n new FileFaceOrientation(\"back\", new Vector3(0, 0, -1), new Vector3(-1, 0, 0), new Vector3(0, -1, 0)), // -Z bottom\r\n ];\r\n\r\n /**\r\n * Converts a texture to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param texture The texture to extract the information from.\r\n * @returns The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapTextureToSphericalPolynomial(texture: BaseTexture): Nullable<Promise<SphericalPolynomial>> {\r\n if (!texture.isCube) {\r\n // Only supports cube Textures currently.\r\n return null;\r\n }\r\n\r\n texture.getScene()?.getEngine().flushFramebuffer();\r\n\r\n const size = texture.getSize().width;\r\n const rightPromise = texture.readPixels(0, undefined, undefined, false);\r\n const leftPromise = texture.readPixels(1, undefined, undefined, false);\r\n\r\n let upPromise: Nullable<Promise<ArrayBufferView>>;\r\n let downPromise: Nullable<Promise<ArrayBufferView>>;\r\n if (texture.isRenderTarget) {\r\n upPromise = texture.readPixels(3, undefined, undefined, false);\r\n downPromise = texture.readPixels(2, undefined, undefined, false);\r\n } else {\r\n upPromise = texture.readPixels(2, undefined, undefined, false);\r\n downPromise = texture.readPixels(3, undefined, undefined, false);\r\n }\r\n\r\n const frontPromise = texture.readPixels(4, undefined, undefined, false);\r\n const backPromise = texture.readPixels(5, undefined, undefined, false);\r\n\r\n const gammaSpace = texture.gammaSpace;\r\n // Always read as RGBA.\r\n const format = Constants.TEXTUREFORMAT_RGBA;\r\n let type = Constants.TEXTURETYPE_UNSIGNED_INT;\r\n if (texture.textureType == Constants.TEXTURETYPE_FLOAT || texture.textureType == Constants.TEXTURETYPE_HALF_FLOAT) {\r\n type = Constants.TEXTURETYPE_FLOAT;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n Promise.all([leftPromise, rightPromise, upPromise, downPromise, frontPromise, backPromise]).then(([left, right, up, down, front, back]) => {\r\n const cubeInfo: CubeMapInfo = {\r\n size,\r\n right,\r\n left,\r\n up,\r\n down,\r\n front,\r\n back,\r\n format,\r\n type,\r\n gammaSpace,\r\n };\r\n\r\n resolve(this.ConvertCubeMapToSphericalPolynomial(cubeInfo));\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Compute the area on the unit sphere of the rectangle defined by (x,y) and the origin\r\n * See https://www.rorydriscoll.com/2012/01/15/cubemap-texel-solid-angle/\r\n * @param x\r\n * @param y\r\n */\r\n private static _AreaElement(x: number, y: number): number {\r\n return Math.atan2(x * y, Math.sqrt(x * x + y * y + 1));\r\n }\r\n\r\n /**\r\n * Converts a cubemap to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param cubeInfo The Cube map to extract the information from.\r\n * @returns The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapToSphericalPolynomial(cubeInfo: CubeMapInfo): SphericalPolynomial {\r\n const sphericalHarmonics = new SphericalHarmonics();\r\n let totalSolidAngle = 0.0;\r\n\r\n // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size.\r\n const du = 2.0 / cubeInfo.size;\r\n const dv = du;\r\n\r\n const halfTexel = 0.5 * du;\r\n\r\n // The (u,v) of the first texel is half a texel from the corner (-1,-1).\r\n const minUV = halfTexel - 1.0;\r\n\r\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n const fileFace = this._FileFaces[faceIndex];\r\n const dataArray = (<any>cubeInfo)[fileFace.name];\r\n let v = minUV;\r\n\r\n // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH).\r\n // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality.\r\n // Because SP is still linear, so summation is fine in that basis.\r\n const stride = cubeInfo.format === Constants.TEXTUREFORMAT_RGBA ? 4 : 3;\r\n for (let y = 0; y < cubeInfo.size; y++) {\r\n let u = minUV;\r\n\r\n for (let x = 0; x < cubeInfo.size; x++) {\r\n // World direction (not normalised)\r\n const worldDirection = fileFace.worldAxisForFileX.scale(u).add(fileFace.worldAxisForFileY.scale(v)).add(fileFace.worldAxisForNormal);\r\n worldDirection.normalize();\r\n\r\n const deltaSolidAngle =\r\n this._AreaElement(u - halfTexel, v - halfTexel) -\r\n this._AreaElement(u - halfTexel, v + halfTexel) -\r\n this._AreaElement(u + halfTexel, v - halfTexel) +\r\n this._AreaElement(u + halfTexel, v + halfTexel);\r\n\r\n let r = dataArray[y * cubeInfo.size * stride + x * stride + 0];\r\n let g = dataArray[y * cubeInfo.size * stride + x * stride + 1];\r\n let b = dataArray[y * cubeInfo.size * stride + x * stride + 2];\r\n\r\n // Prevent NaN harmonics with extreme HDRI data.\r\n if (isNaN(r)) {\r\n r = 0;\r\n }\r\n if (isNaN(g)) {\r\n g = 0;\r\n }\r\n if (isNaN(b)) {\r\n b = 0;\r\n }\r\n\r\n // Handle Integer types.\r\n if (cubeInfo.type === Constants.TEXTURETYPE_UNSIGNED_INT) {\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n }\r\n\r\n // Handle Gamma space textures.\r\n if (cubeInfo.gammaSpace) {\r\n r = Math.pow(Scalar.Clamp(r), ToLinearSpace);\r\n g = Math.pow(Scalar.Clamp(g), ToLinearSpace);\r\n b = Math.pow(Scalar.Clamp(b), ToLinearSpace);\r\n }\r\n\r\n // Prevent to explode in case of really high dynamic ranges.\r\n // sh 3 would not be enough to accurately represent it.\r\n const max = 4096;\r\n r = Scalar.Clamp(r, 0, max);\r\n g = Scalar.Clamp(g, 0, max);\r\n b = Scalar.Clamp(b, 0, max);\r\n\r\n const color = new Color3(r, g, b);\r\n\r\n sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);\r\n\r\n totalSolidAngle += deltaSolidAngle;\r\n\r\n u += du;\r\n }\r\n\r\n v += dv;\r\n }\r\n }\r\n\r\n // Solid angle for entire sphere is 4*pi\r\n const sphereSolidAngle = 4.0 * Math.PI;\r\n\r\n // Adjust the solid angle to allow for how many faces we processed.\r\n const facesProcessed = 6.0;\r\n const expectedSolidAngle = (sphereSolidAngle * facesProcessed) / 6.0;\r\n\r\n // Adjust the harmonics so that the accumulated solid angle matches the expected solid angle.\r\n // This is needed because the numerical integration over the cube uses a\r\n // small angle approximation of solid angle for each texel (see deltaSolidAngle),\r\n // and also to compensate for accumulative error due to float precision in the summation.\r\n const correctionFactor = expectedSolidAngle / totalSolidAngle;\r\n sphericalHarmonics.scaleInPlace(correctionFactor);\r\n\r\n sphericalHarmonics.convertIncidentRadianceToIrradiance();\r\n sphericalHarmonics.convertIrradianceToLambertianRadiance();\r\n\r\n return SphericalPolynomial.FromHarmonics(sphericalHarmonics);\r\n }\r\n}\r\n"]}
|
|
@@ -29,7 +29,7 @@ export declare class HDRTools {
|
|
|
29
29
|
* https://en.wikipedia.org/wiki/RGBE_image_format
|
|
30
30
|
*
|
|
31
31
|
* @param uint8array The binary file stored in native array.
|
|
32
|
-
* @
|
|
32
|
+
* @returns The header information.
|
|
33
33
|
*/
|
|
34
34
|
static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo;
|
|
35
35
|
/**
|
|
@@ -41,7 +41,7 @@ export declare class HDRTools {
|
|
|
41
41
|
*
|
|
42
42
|
* @param buffer The binary file stored in an array buffer.
|
|
43
43
|
* @param size The expected size of the extracted cubemap.
|
|
44
|
-
* @
|
|
44
|
+
* @returns The Cube Map information.
|
|
45
45
|
*/
|
|
46
46
|
static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo;
|
|
47
47
|
/**
|
|
@@ -53,7 +53,7 @@ export declare class HDRTools {
|
|
|
53
53
|
*
|
|
54
54
|
* @param uint8array The binary file stored in an array buffer.
|
|
55
55
|
* @param hdrInfo The header information of the file.
|
|
56
|
-
* @
|
|
56
|
+
* @returns The pixels data in RGB right to left up to down order.
|
|
57
57
|
*/
|
|
58
58
|
static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array;
|
|
59
59
|
private static _RGBEReadPixelsRLE;
|
|
@@ -44,7 +44,7 @@ export class HDRTools {
|
|
|
44
44
|
* https://en.wikipedia.org/wiki/RGBE_image_format
|
|
45
45
|
*
|
|
46
46
|
* @param uint8array The binary file stored in native array.
|
|
47
|
-
* @
|
|
47
|
+
* @returns The header information.
|
|
48
48
|
*/
|
|
49
49
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
50
50
|
static RGBE_ReadHeader(uint8array) {
|
|
@@ -99,7 +99,7 @@ export class HDRTools {
|
|
|
99
99
|
*
|
|
100
100
|
* @param buffer The binary file stored in an array buffer.
|
|
101
101
|
* @param size The expected size of the extracted cubemap.
|
|
102
|
-
* @
|
|
102
|
+
* @returns The Cube Map information.
|
|
103
103
|
*/
|
|
104
104
|
static GetCubeMapTextureData(buffer, size) {
|
|
105
105
|
const uint8array = new Uint8Array(buffer);
|
|
@@ -117,7 +117,7 @@ export class HDRTools {
|
|
|
117
117
|
*
|
|
118
118
|
* @param uint8array The binary file stored in an array buffer.
|
|
119
119
|
* @param hdrInfo The header information of the file.
|
|
120
|
-
* @
|
|
120
|
+
* @returns The pixels data in RGB right to left up to down order.
|
|
121
121
|
*/
|
|
122
122
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
123
123
|
static RGBE_ReadPixels(uint8array, hdrInfo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hdr.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/hdr.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\r\n\r\n/**\r\n * Header information of HDR texture files.\r\n */\r\nexport interface HDRInfo {\r\n /**\r\n * The height of the texture in pixels.\r\n */\r\n height: number;\r\n\r\n /**\r\n * The width of the texture in pixels.\r\n */\r\n width: number;\r\n\r\n /**\r\n * The index of the beginning of the data in the binary file.\r\n */\r\n dataPosition: number;\r\n}\r\n\r\n/**\r\n * This groups tools to convert HDR texture to native colors array.\r\n */\r\nexport class HDRTools {\r\n private static _Ldexp(mantissa: number, exponent: number): number {\r\n if (exponent > 1023) {\r\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\r\n }\r\n\r\n if (exponent < -1074) {\r\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\r\n }\r\n\r\n return mantissa * Math.pow(2, exponent);\r\n }\r\n\r\n private static _Rgbe2float(float32array: Float32Array, red: number, green: number, blue: number, exponent: number, index: number) {\r\n if (exponent > 0) {\r\n /*nonzero pixel*/\r\n exponent = this._Ldexp(1.0, exponent - (128 + 8));\r\n\r\n float32array[index + 0] = red * exponent;\r\n float32array[index + 1] = green * exponent;\r\n float32array[index + 2] = blue * exponent;\r\n } else {\r\n float32array[index + 0] = 0;\r\n float32array[index + 1] = 0;\r\n float32array[index + 2] = 0;\r\n }\r\n }\r\n\r\n private static _ReadStringLine(uint8array: Uint8Array, startIndex: number): string {\r\n let line = \"\";\r\n let character = \"\";\r\n\r\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\r\n character = String.fromCharCode(uint8array[i]);\r\n\r\n if (character == \"\\n\") {\r\n break;\r\n }\r\n\r\n line += character;\r\n }\r\n\r\n return line;\r\n }\r\n\r\n /**\r\n * Reads header information from an RGBE texture stored in a native array.\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in native array.\r\n * @return The header information.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo {\r\n let height: number = 0;\r\n let width: number = 0;\r\n\r\n let line = this._ReadStringLine(uint8array, 0);\r\n if (line[0] != \"#\" || line[1] != \"?\") {\r\n throw \"Bad HDR Format.\";\r\n }\r\n\r\n let endOfHeader = false;\r\n let findFormat = false;\r\n let lineIndex: number = 0;\r\n\r\n do {\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\r\n findFormat = true;\r\n } else if (line.length == 0) {\r\n endOfHeader = true;\r\n }\r\n } while (!endOfHeader);\r\n\r\n if (!findFormat) {\r\n throw \"HDR Bad header format, unsupported FORMAT\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\r\n const match = sizeRegexp.exec(line);\r\n\r\n // TODO. Support +Y and -X if needed.\r\n if (!match || match.length < 3) {\r\n throw \"HDR Bad header format, no size\";\r\n }\r\n width = parseInt(match[2]);\r\n height = parseInt(match[1]);\r\n\r\n if (width < 8 || width > 0x7fff) {\r\n throw \"HDR Bad header format, unsupported size\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n\r\n return {\r\n height: height,\r\n width: width,\r\n dataPosition: lineIndex,\r\n };\r\n }\r\n\r\n /**\r\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\r\n * This RGBE texture needs to store the information as a panorama.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param buffer The binary file stored in an array buffer.\r\n * @param size The expected size of the extracted cubemap.\r\n * @return The Cube Map information.\r\n */\r\n public static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo {\r\n const uint8array = new Uint8Array(buffer);\r\n const hdrInfo = this.RGBE_ReadHeader(uint8array);\r\n const data = this.RGBE_ReadPixels(uint8array, hdrInfo);\r\n\r\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size);\r\n\r\n return cubeMapData;\r\n }\r\n\r\n /**\r\n * Returns the pixels data extracted from an RGBE texture.\r\n * This pixels will be stored left to right up to down in the R G B order in one array.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in an array buffer.\r\n * @param hdrInfo The header information of the file.\r\n * @return The pixels data in RGB right to left up to down order.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n return this._RGBEReadPixelsRLE(uint8array, hdrInfo);\r\n }\r\n\r\n private static _RGBEReadPixelsRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, count: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n let index = 0,\r\n endIndex = 0,\r\n i = 0;\r\n\r\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\r\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\r\n return this._RGBEReadPixelsNOTRLE(uint8array, hdrInfo);\r\n }\r\n\r\n if (((c << 8) | d) != scanline_width) {\r\n throw \"HDR Bad header format, wrong scan line width\";\r\n }\r\n\r\n index = 0;\r\n\r\n // read each of the four channels for the scanline into the buffer\r\n for (i = 0; i < 4; i++) {\r\n endIndex = (i + 1) * scanline_width;\r\n\r\n while (index < endIndex) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n\r\n if (a > 128) {\r\n // a run of the same value\r\n count = a - 128;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (run)\";\r\n }\r\n\r\n while (count-- > 0) {\r\n scanLineArray[index++] = b;\r\n }\r\n } else {\r\n // a non-run\r\n count = a;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (non-run)\";\r\n }\r\n\r\n scanLineArray[index++] = b;\r\n if (--count > 0) {\r\n for (let j = 0; j < count; j++) {\r\n scanLineArray[index++] = uint8array[dataIndex++];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // now convert data from buffer into floats\r\n for (i = 0; i < scanline_width; i++) {\r\n a = scanLineArray[i];\r\n b = scanLineArray[i + scanline_width];\r\n c = scanLineArray[i + 2 * scanline_width];\r\n d = scanLineArray[i + 3 * scanline_width];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n\r\n private static _RGBEReadPixelsNOTRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n // this file is not run length encoded\r\n // read values sequentially\r\n\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, i: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n for (i = 0; i < hdrInfo.width; i++) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"hdr.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/hdr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAsB7D;;GAEG;AACH,MAAM,OAAO,QAAQ;IACT,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,QAAgB;QACpD,IAAI,QAAQ,GAAG,IAAI,EAAE;YACjB,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;SACtE;QAED,IAAI,QAAQ,GAAG,CAAC,IAAI,EAAE;YAClB,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;SACvE;QAED,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,YAA0B,EAAE,GAAW,EAAE,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAE,KAAa;QAC5H,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,iBAAiB;YACjB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAElD,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;YACzC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC;YAC3C,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC;SAC7C;aAAM;YACH,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5B,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5B,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAC/B;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,UAAsB,EAAE,UAAkB;QACrE,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YAC9D,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/C,IAAI,SAAS,IAAI,IAAI,EAAE;gBACnB,MAAM;aACT;YAED,IAAI,IAAI,SAAS,CAAC;SACrB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,gEAAgE;IACzD,MAAM,CAAC,eAAe,CAAC,UAAsB;QAChD,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YAClC,MAAM,iBAAiB,CAAC;SAC3B;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAS,GAAW,CAAC,CAAC;QAE1B,GAAG;YACC,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEnD,IAAI,IAAI,IAAI,wBAAwB,EAAE;gBAClC,UAAU,GAAG,IAAI,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzB,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ,QAAQ,CAAC,WAAW,EAAE;QAEvB,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,2CAA2C,CAAC;SACrD;QAED,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,qBAAqB,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,qCAAqC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,gCAAgC,CAAC;SAC1C;QACD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,EAAE;YAC7B,MAAM,yCAAyC,CAAC;SACnD;QAED,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7B,OAAO;YACH,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,SAAS;SAC1B,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,qBAAqB,CAAC,MAAmB,EAAE,IAAY;QACjE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/G,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;OAUG;IACH,gEAAgE;IACzD,MAAM,CAAC,eAAe,CAAC,UAAsB,EAAE,OAAgB;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,UAAsB,EAAE,OAAgB;QACtE,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAErC,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,CAAC;QAC9D,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,CAAC,EACZ,CAAC,GAAG,CAAC,CAAC;QAEV,MAAM,mBAAmB,GAAG,IAAI,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;QACxF,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE1D,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QAEnD,mCAAmC;QACnC,OAAO,aAAa,GAAG,CAAC,EAAE;YACtB,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE;gBAC5E,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aAC1D;YAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,EAAE;gBAClC,MAAM,8CAA8C,CAAC;aACxD;YAED,KAAK,GAAG,CAAC,CAAC;YAEV,kEAAkE;YAClE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpB,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;gBAEpC,OAAO,KAAK,GAAG,QAAQ,EAAE;oBACrB,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBAE5B,IAAI,CAAC,GAAG,GAAG,EAAE;wBACT,0BAA0B;wBAC1B,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;wBAChB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE;4BACxC,MAAM,yCAAyC,CAAC;yBACnD;wBAED,OAAO,KAAK,EAAE,GAAG,CAAC,EAAE;4BAChB,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;yBAC9B;qBACJ;yBAAM;wBACH,YAAY;wBACZ,KAAK,GAAG,CAAC,CAAC;wBACV,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE;4BACxC,MAAM,6CAA6C,CAAC;yBACvD;wBAED,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE;4BACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gCAC5B,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;6BACpD;yBACJ;qBACJ;iBACJ;aACJ;YAED,2CAA2C;YAC3C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACjC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBACtC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;gBAC1C,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;gBAE1C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5G;YAED,aAAa,EAAE,CAAC;SACnB;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,UAAsB,EAAE,OAAgB;QACzE,sCAAsC;QACtC,2BAA2B;QAE3B,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAErC,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,CAAC;QAC1D,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QAErC,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QAEnD,mCAAmC;QACnC,OAAO,aAAa,GAAG,CAAC,EAAE;YACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5B,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAE5B,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5G;YAED,aAAa,EAAE,CAAC;SACnB;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import type { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\r\n\r\n/**\r\n * Header information of HDR texture files.\r\n */\r\nexport interface HDRInfo {\r\n /**\r\n * The height of the texture in pixels.\r\n */\r\n height: number;\r\n\r\n /**\r\n * The width of the texture in pixels.\r\n */\r\n width: number;\r\n\r\n /**\r\n * The index of the beginning of the data in the binary file.\r\n */\r\n dataPosition: number;\r\n}\r\n\r\n/**\r\n * This groups tools to convert HDR texture to native colors array.\r\n */\r\nexport class HDRTools {\r\n private static _Ldexp(mantissa: number, exponent: number): number {\r\n if (exponent > 1023) {\r\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\r\n }\r\n\r\n if (exponent < -1074) {\r\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\r\n }\r\n\r\n return mantissa * Math.pow(2, exponent);\r\n }\r\n\r\n private static _Rgbe2float(float32array: Float32Array, red: number, green: number, blue: number, exponent: number, index: number) {\r\n if (exponent > 0) {\r\n /*nonzero pixel*/\r\n exponent = this._Ldexp(1.0, exponent - (128 + 8));\r\n\r\n float32array[index + 0] = red * exponent;\r\n float32array[index + 1] = green * exponent;\r\n float32array[index + 2] = blue * exponent;\r\n } else {\r\n float32array[index + 0] = 0;\r\n float32array[index + 1] = 0;\r\n float32array[index + 2] = 0;\r\n }\r\n }\r\n\r\n private static _ReadStringLine(uint8array: Uint8Array, startIndex: number): string {\r\n let line = \"\";\r\n let character = \"\";\r\n\r\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\r\n character = String.fromCharCode(uint8array[i]);\r\n\r\n if (character == \"\\n\") {\r\n break;\r\n }\r\n\r\n line += character;\r\n }\r\n\r\n return line;\r\n }\r\n\r\n /**\r\n * Reads header information from an RGBE texture stored in a native array.\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in native array.\r\n * @returns The header information.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadHeader(uint8array: Uint8Array): HDRInfo {\r\n let height: number = 0;\r\n let width: number = 0;\r\n\r\n let line = this._ReadStringLine(uint8array, 0);\r\n if (line[0] != \"#\" || line[1] != \"?\") {\r\n throw \"Bad HDR Format.\";\r\n }\r\n\r\n let endOfHeader = false;\r\n let findFormat = false;\r\n let lineIndex: number = 0;\r\n\r\n do {\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\r\n findFormat = true;\r\n } else if (line.length == 0) {\r\n endOfHeader = true;\r\n }\r\n } while (!endOfHeader);\r\n\r\n if (!findFormat) {\r\n throw \"HDR Bad header format, unsupported FORMAT\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n line = this._ReadStringLine(uint8array, lineIndex);\r\n\r\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\r\n const match = sizeRegexp.exec(line);\r\n\r\n // TODO. Support +Y and -X if needed.\r\n if (!match || match.length < 3) {\r\n throw \"HDR Bad header format, no size\";\r\n }\r\n width = parseInt(match[2]);\r\n height = parseInt(match[1]);\r\n\r\n if (width < 8 || width > 0x7fff) {\r\n throw \"HDR Bad header format, unsupported size\";\r\n }\r\n\r\n lineIndex += line.length + 1;\r\n\r\n return {\r\n height: height,\r\n width: width,\r\n dataPosition: lineIndex,\r\n };\r\n }\r\n\r\n /**\r\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\r\n * This RGBE texture needs to store the information as a panorama.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param buffer The binary file stored in an array buffer.\r\n * @param size The expected size of the extracted cubemap.\r\n * @returns The Cube Map information.\r\n */\r\n public static GetCubeMapTextureData(buffer: ArrayBuffer, size: number): CubeMapInfo {\r\n const uint8array = new Uint8Array(buffer);\r\n const hdrInfo = this.RGBE_ReadHeader(uint8array);\r\n const data = this.RGBE_ReadPixels(uint8array, hdrInfo);\r\n\r\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size);\r\n\r\n return cubeMapData;\r\n }\r\n\r\n /**\r\n * Returns the pixels data extracted from an RGBE texture.\r\n * This pixels will be stored left to right up to down in the R G B order in one array.\r\n *\r\n * More information on this format are available here:\r\n * https://en.wikipedia.org/wiki/RGBE_image_format\r\n *\r\n * @param uint8array The binary file stored in an array buffer.\r\n * @param hdrInfo The header information of the file.\r\n * @returns The pixels data in RGB right to left up to down order.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public static RGBE_ReadPixels(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n return this._RGBEReadPixelsRLE(uint8array, hdrInfo);\r\n }\r\n\r\n private static _RGBEReadPixelsRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, count: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n let index = 0,\r\n endIndex = 0,\r\n i = 0;\r\n\r\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\r\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\r\n return this._RGBEReadPixelsNOTRLE(uint8array, hdrInfo);\r\n }\r\n\r\n if (((c << 8) | d) != scanline_width) {\r\n throw \"HDR Bad header format, wrong scan line width\";\r\n }\r\n\r\n index = 0;\r\n\r\n // read each of the four channels for the scanline into the buffer\r\n for (i = 0; i < 4; i++) {\r\n endIndex = (i + 1) * scanline_width;\r\n\r\n while (index < endIndex) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n\r\n if (a > 128) {\r\n // a run of the same value\r\n count = a - 128;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (run)\";\r\n }\r\n\r\n while (count-- > 0) {\r\n scanLineArray[index++] = b;\r\n }\r\n } else {\r\n // a non-run\r\n count = a;\r\n if (count == 0 || count > endIndex - index) {\r\n throw \"HDR Bad Format, bad scanline data (non-run)\";\r\n }\r\n\r\n scanLineArray[index++] = b;\r\n if (--count > 0) {\r\n for (let j = 0; j < count; j++) {\r\n scanLineArray[index++] = uint8array[dataIndex++];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // now convert data from buffer into floats\r\n for (i = 0; i < scanline_width; i++) {\r\n a = scanLineArray[i];\r\n b = scanLineArray[i + scanline_width];\r\n c = scanLineArray[i + 2 * scanline_width];\r\n d = scanLineArray[i + 3 * scanline_width];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n\r\n private static _RGBEReadPixelsNOTRLE(uint8array: Uint8Array, hdrInfo: HDRInfo): Float32Array {\r\n // this file is not run length encoded\r\n // read values sequentially\r\n\r\n let num_scanlines = hdrInfo.height;\r\n const scanline_width = hdrInfo.width;\r\n\r\n let a: number, b: number, c: number, d: number, i: number;\r\n let dataIndex = hdrInfo.dataPosition;\r\n\r\n // 3 channels of 4 bytes per pixel in float.\r\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\r\n const resultArray = new Float32Array(resultBuffer);\r\n\r\n // read in each successive scanline\r\n while (num_scanlines > 0) {\r\n for (i = 0; i < hdrInfo.width; i++) {\r\n a = uint8array[dataIndex++];\r\n b = uint8array[dataIndex++];\r\n c = uint8array[dataIndex++];\r\n d = uint8array[dataIndex++];\r\n\r\n this._Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\r\n }\r\n\r\n num_scanlines--;\r\n }\r\n\r\n return resultArray;\r\n }\r\n}\r\n"]}
|
|
@@ -73,7 +73,7 @@ export declare class PanoramaToCubeMapTools {
|
|
|
73
73
|
* @param inputWidth The width of the input panorama.
|
|
74
74
|
* @param inputHeight The height of the input panorama.
|
|
75
75
|
* @param size The willing size of the generated cubemap (each faces will be size * size pixels)
|
|
76
|
-
* @
|
|
76
|
+
* @returns The cubemap data
|
|
77
77
|
*/
|
|
78
78
|
static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo;
|
|
79
79
|
private static CreateCubemapTexture;
|
|
@@ -11,7 +11,7 @@ export class PanoramaToCubeMapTools {
|
|
|
11
11
|
* @param inputWidth The width of the input panorama.
|
|
12
12
|
* @param inputHeight The height of the input panorama.
|
|
13
13
|
* @param size The willing size of the generated cubemap (each faces will be size * size pixels)
|
|
14
|
-
* @
|
|
14
|
+
* @returns The cubemap data
|
|
15
15
|
*/
|
|
16
16
|
static ConvertPanoramaToCubemap(float32Array, inputWidth, inputHeight, size) {
|
|
17
17
|
if (!float32Array) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panoramaToCubemap.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/panoramaToCubemap.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"../../types\";\r\nimport { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Constants } from \"../../Engines/constants\";\r\n\r\n/**\r\n * CubeMap information grouping all the data for each faces as well as the cubemap size.\r\n */\r\nexport interface CubeMapInfo {\r\n /**\r\n * The pixel array for the front face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n front: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the back face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n back: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the left face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n left: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the right face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n right: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the up face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n up: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the down face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n down: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The size of the cubemap stored.\r\n *\r\n * Each faces will be size * size pixels.\r\n */\r\n size: number;\r\n\r\n /**\r\n * The format of the texture.\r\n *\r\n * RGBA, RGB.\r\n */\r\n format: number;\r\n\r\n /**\r\n * The type of the texture data.\r\n *\r\n * UNSIGNED_INT, FLOAT.\r\n */\r\n type: number;\r\n\r\n /**\r\n * Specifies whether the texture is in gamma space.\r\n */\r\n gammaSpace: boolean;\r\n}\r\n\r\n/**\r\n * Helper class useful to convert panorama picture to their cubemap representation in 6 faces.\r\n */\r\nexport class PanoramaToCubeMapTools {\r\n private static FACE_LEFT = [new Vector3(-1.0, -1.0, -1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(1.0, 1.0, -1.0)];\r\n private static FACE_RIGHT = [new Vector3(1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_FRONT = [new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0), new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0)];\r\n private static FACE_BACK = [new Vector3(-1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0)];\r\n private static FACE_DOWN = [new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_UP = [new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0)];\r\n\r\n /**\r\n * Converts a panorama stored in RGB right to left up to down format into a cubemap (6 faces).\r\n *\r\n * @param float32Array The source data.\r\n * @param inputWidth The width of the input panorama.\r\n * @param inputHeight The height of the input panorama.\r\n * @param size The willing size of the generated cubemap (each faces will be size * size pixels)\r\n * @return The cubemap data\r\n */\r\n public static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo {\r\n if (!float32Array) {\r\n throw \"ConvertPanoramaToCubemap: input cannot be null\";\r\n }\r\n\r\n if (float32Array.length != inputWidth * inputHeight * 3) {\r\n throw \"ConvertPanoramaToCubemap: input size is wrong\";\r\n }\r\n\r\n const textureFront = this.CreateCubemapTexture(size, this.FACE_FRONT, float32Array, inputWidth, inputHeight);\r\n const textureBack = this.CreateCubemapTexture(size, this.FACE_BACK, float32Array, inputWidth, inputHeight);\r\n const textureLeft = this.CreateCubemapTexture(size, this.FACE_LEFT, float32Array, inputWidth, inputHeight);\r\n const textureRight = this.CreateCubemapTexture(size, this.FACE_RIGHT, float32Array, inputWidth, inputHeight);\r\n const textureUp = this.CreateCubemapTexture(size, this.FACE_UP, float32Array, inputWidth, inputHeight);\r\n const textureDown = this.CreateCubemapTexture(size, this.FACE_DOWN, float32Array, inputWidth, inputHeight);\r\n\r\n return {\r\n front: textureFront,\r\n back: textureBack,\r\n left: textureLeft,\r\n right: textureRight,\r\n up: textureUp,\r\n down: textureDown,\r\n size: size,\r\n type: Constants.TEXTURETYPE_FLOAT,\r\n format: Constants.TEXTUREFORMAT_RGB,\r\n gammaSpace: false,\r\n };\r\n }\r\n\r\n private static CreateCubemapTexture(texSize: number, faceData: Vector3[], float32Array: Float32Array, inputWidth: number, inputHeight: number) {\r\n const buffer = new ArrayBuffer(texSize * texSize * 4 * 3);\r\n const textureArray = new Float32Array(buffer);\r\n\r\n const rotDX1 = faceData[1].subtract(faceData[0]).scale(1 / texSize);\r\n const rotDX2 = faceData[3].subtract(faceData[2]).scale(1 / texSize);\r\n\r\n const dy = 1 / texSize;\r\n let fy = 0;\r\n\r\n for (let y = 0; y < texSize; y++) {\r\n let xv1 = faceData[0];\r\n let xv2 = faceData[2];\r\n\r\n for (let x = 0; x < texSize; x++) {\r\n const v = xv2.subtract(xv1).scale(fy).add(xv1);\r\n v.normalize();\r\n\r\n const color = this.CalcProjectionSpherical(v, float32Array, inputWidth, inputHeight);\r\n\r\n // 3 channels per pixels\r\n textureArray[y * texSize * 3 + x * 3 + 0] = color.r;\r\n textureArray[y * texSize * 3 + x * 3 + 1] = color.g;\r\n textureArray[y * texSize * 3 + x * 3 + 2] = color.b;\r\n\r\n xv1 = xv1.add(rotDX1);\r\n xv2 = xv2.add(rotDX2);\r\n }\r\n\r\n fy += dy;\r\n }\r\n\r\n return textureArray;\r\n }\r\n\r\n private static CalcProjectionSpherical(vDir: Vector3, float32Array: Float32Array, inputWidth: number, inputHeight: number): any {\r\n let theta = Math.atan2(vDir.z, vDir.x);\r\n const phi = Math.acos(vDir.y);\r\n\r\n while (theta < -Math.PI) {\r\n theta += 2 * Math.PI;\r\n }\r\n while (theta > Math.PI) {\r\n theta -= 2 * Math.PI;\r\n }\r\n\r\n let dx = theta / Math.PI;\r\n const dy = phi / Math.PI;\r\n\r\n // recenter.\r\n dx = dx * 0.5 + 0.5;\r\n\r\n let px = Math.round(dx * inputWidth);\r\n if (px < 0) {\r\n px = 0;\r\n } else if (px >= inputWidth) {\r\n px = inputWidth - 1;\r\n }\r\n\r\n let py = Math.round(dy * inputHeight);\r\n if (py < 0) {\r\n py = 0;\r\n } else if (py >= inputHeight) {\r\n py = inputHeight - 1;\r\n }\r\n\r\n const inputY = inputHeight - py - 1;\r\n const r = float32Array[inputY * inputWidth * 3 + px * 3 + 0];\r\n const g = float32Array[inputY * inputWidth * 3 + px * 3 + 1];\r\n const b = float32Array[inputY * inputWidth * 3 + px * 3 + 2];\r\n\r\n return {\r\n r: r,\r\n g: g,\r\n b: b,\r\n };\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"panoramaToCubemap.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Misc/HighDynamicRange/panoramaToCubemap.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"../../types\";\r\nimport { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Constants } from \"../../Engines/constants\";\r\n\r\n/**\r\n * CubeMap information grouping all the data for each faces as well as the cubemap size.\r\n */\r\nexport interface CubeMapInfo {\r\n /**\r\n * The pixel array for the front face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n front: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the back face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n back: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the left face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n left: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the right face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n right: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the up face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n up: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The pixel array for the down face.\r\n * This is stored in format, left to right, up to down format.\r\n */\r\n down: Nullable<ArrayBufferView>;\r\n\r\n /**\r\n * The size of the cubemap stored.\r\n *\r\n * Each faces will be size * size pixels.\r\n */\r\n size: number;\r\n\r\n /**\r\n * The format of the texture.\r\n *\r\n * RGBA, RGB.\r\n */\r\n format: number;\r\n\r\n /**\r\n * The type of the texture data.\r\n *\r\n * UNSIGNED_INT, FLOAT.\r\n */\r\n type: number;\r\n\r\n /**\r\n * Specifies whether the texture is in gamma space.\r\n */\r\n gammaSpace: boolean;\r\n}\r\n\r\n/**\r\n * Helper class useful to convert panorama picture to their cubemap representation in 6 faces.\r\n */\r\nexport class PanoramaToCubeMapTools {\r\n private static FACE_LEFT = [new Vector3(-1.0, -1.0, -1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(1.0, 1.0, -1.0)];\r\n private static FACE_RIGHT = [new Vector3(1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_FRONT = [new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0), new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0)];\r\n private static FACE_BACK = [new Vector3(-1.0, -1.0, 1.0), new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0)];\r\n private static FACE_DOWN = [new Vector3(1.0, 1.0, -1.0), new Vector3(1.0, 1.0, 1.0), new Vector3(-1.0, 1.0, -1.0), new Vector3(-1.0, 1.0, 1.0)];\r\n private static FACE_UP = [new Vector3(-1.0, -1.0, -1.0), new Vector3(-1.0, -1.0, 1.0), new Vector3(1.0, -1.0, -1.0), new Vector3(1.0, -1.0, 1.0)];\r\n\r\n /**\r\n * Converts a panorama stored in RGB right to left up to down format into a cubemap (6 faces).\r\n *\r\n * @param float32Array The source data.\r\n * @param inputWidth The width of the input panorama.\r\n * @param inputHeight The height of the input panorama.\r\n * @param size The willing size of the generated cubemap (each faces will be size * size pixels)\r\n * @returns The cubemap data\r\n */\r\n public static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number): CubeMapInfo {\r\n if (!float32Array) {\r\n throw \"ConvertPanoramaToCubemap: input cannot be null\";\r\n }\r\n\r\n if (float32Array.length != inputWidth * inputHeight * 3) {\r\n throw \"ConvertPanoramaToCubemap: input size is wrong\";\r\n }\r\n\r\n const textureFront = this.CreateCubemapTexture(size, this.FACE_FRONT, float32Array, inputWidth, inputHeight);\r\n const textureBack = this.CreateCubemapTexture(size, this.FACE_BACK, float32Array, inputWidth, inputHeight);\r\n const textureLeft = this.CreateCubemapTexture(size, this.FACE_LEFT, float32Array, inputWidth, inputHeight);\r\n const textureRight = this.CreateCubemapTexture(size, this.FACE_RIGHT, float32Array, inputWidth, inputHeight);\r\n const textureUp = this.CreateCubemapTexture(size, this.FACE_UP, float32Array, inputWidth, inputHeight);\r\n const textureDown = this.CreateCubemapTexture(size, this.FACE_DOWN, float32Array, inputWidth, inputHeight);\r\n\r\n return {\r\n front: textureFront,\r\n back: textureBack,\r\n left: textureLeft,\r\n right: textureRight,\r\n up: textureUp,\r\n down: textureDown,\r\n size: size,\r\n type: Constants.TEXTURETYPE_FLOAT,\r\n format: Constants.TEXTUREFORMAT_RGB,\r\n gammaSpace: false,\r\n };\r\n }\r\n\r\n private static CreateCubemapTexture(texSize: number, faceData: Vector3[], float32Array: Float32Array, inputWidth: number, inputHeight: number) {\r\n const buffer = new ArrayBuffer(texSize * texSize * 4 * 3);\r\n const textureArray = new Float32Array(buffer);\r\n\r\n const rotDX1 = faceData[1].subtract(faceData[0]).scale(1 / texSize);\r\n const rotDX2 = faceData[3].subtract(faceData[2]).scale(1 / texSize);\r\n\r\n const dy = 1 / texSize;\r\n let fy = 0;\r\n\r\n for (let y = 0; y < texSize; y++) {\r\n let xv1 = faceData[0];\r\n let xv2 = faceData[2];\r\n\r\n for (let x = 0; x < texSize; x++) {\r\n const v = xv2.subtract(xv1).scale(fy).add(xv1);\r\n v.normalize();\r\n\r\n const color = this.CalcProjectionSpherical(v, float32Array, inputWidth, inputHeight);\r\n\r\n // 3 channels per pixels\r\n textureArray[y * texSize * 3 + x * 3 + 0] = color.r;\r\n textureArray[y * texSize * 3 + x * 3 + 1] = color.g;\r\n textureArray[y * texSize * 3 + x * 3 + 2] = color.b;\r\n\r\n xv1 = xv1.add(rotDX1);\r\n xv2 = xv2.add(rotDX2);\r\n }\r\n\r\n fy += dy;\r\n }\r\n\r\n return textureArray;\r\n }\r\n\r\n private static CalcProjectionSpherical(vDir: Vector3, float32Array: Float32Array, inputWidth: number, inputHeight: number): any {\r\n let theta = Math.atan2(vDir.z, vDir.x);\r\n const phi = Math.acos(vDir.y);\r\n\r\n while (theta < -Math.PI) {\r\n theta += 2 * Math.PI;\r\n }\r\n while (theta > Math.PI) {\r\n theta -= 2 * Math.PI;\r\n }\r\n\r\n let dx = theta / Math.PI;\r\n const dy = phi / Math.PI;\r\n\r\n // recenter.\r\n dx = dx * 0.5 + 0.5;\r\n\r\n let px = Math.round(dx * inputWidth);\r\n if (px < 0) {\r\n px = 0;\r\n } else if (px >= inputWidth) {\r\n px = inputWidth - 1;\r\n }\r\n\r\n let py = Math.round(dy * inputHeight);\r\n if (py < 0) {\r\n py = 0;\r\n } else if (py >= inputHeight) {\r\n py = inputHeight - 1;\r\n }\r\n\r\n const inputY = inputHeight - py - 1;\r\n const r = float32Array[inputY * inputWidth * 3 + px * 3 + 0];\r\n const g = float32Array[inputY * inputWidth * 3 + px * 3 + 1];\r\n const b = float32Array[inputY * inputWidth * 3 + px * 3 + 2];\r\n\r\n return {\r\n r: r,\r\n g: g,\r\n b: b,\r\n };\r\n }\r\n}\r\n"]}
|
package/Misc/arrayTools.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import type { Nullable } from "../types";
|
|
3
|
-
/** @hidden */
|
|
1
|
+
/** @internal */
|
|
4
2
|
interface TupleTypes<T> {
|
|
5
3
|
2: [T, T];
|
|
6
4
|
3: [T, T, T];
|
|
@@ -17,10 +15,6 @@ interface TupleTypes<T> {
|
|
|
17
15
|
14: [T, T, T, T, T, T, T, T, T, T, T, T, T, T];
|
|
18
16
|
15: [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];
|
|
19
17
|
}
|
|
20
|
-
export interface INotifyArrayChangeType<T> {
|
|
21
|
-
target: Nullable<Array<T>>;
|
|
22
|
-
previousLength?: number;
|
|
23
|
-
}
|
|
24
18
|
/**
|
|
25
19
|
* Class containing a set of static utilities functions for arrays.
|
|
26
20
|
*/
|
|
@@ -39,11 +33,18 @@ export declare class ArrayTools {
|
|
|
39
33
|
* @returns a new tuple filled with new objects.
|
|
40
34
|
*/
|
|
41
35
|
static BuildTuple<T, N extends keyof TupleTypes<unknown>>(size: N, itemBuilder: () => T): TupleTypes<T>[N];
|
|
42
|
-
private static _ProxySet;
|
|
43
|
-
private static _ProxyPushOrUnshift;
|
|
44
|
-
private static _ProxyDelete;
|
|
45
|
-
private static _ProxyPopOrShift;
|
|
46
|
-
private static _ProxySplice;
|
|
47
|
-
static MakeObservableArray<T>(observable: Observable<INotifyArrayChangeType<T>>, initialArray: Nullable<Array<T>>): Nullable<T[]>;
|
|
48
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Defines the callback type used when an observed array function is triggered.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare type _ObserveCallback = (functionName: string, previousLength: number) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Observes an array and notifies the given observer when the array is modified.
|
|
44
|
+
* @param array Defines the array to observe
|
|
45
|
+
* @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)
|
|
46
|
+
* @returns A function to call to stop observing the array
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export declare function _ObserveArray<T>(array: T[], callback: _ObserveCallback): () => void;
|
|
49
50
|
export {};
|
package/Misc/arrayTools.js
CHANGED
|
@@ -25,48 +25,79 @@ export class ArrayTools {
|
|
|
25
25
|
static BuildTuple(size, itemBuilder) {
|
|
26
26
|
return ArrayTools.BuildArray(size, itemBuilder);
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const value = operation === "pop" ? Array.prototype.pop.apply(target) : Array.prototype.shift.apply(target);
|
|
42
|
-
observable.notifyObservers({ target, previousLength: target.length });
|
|
43
|
-
return value;
|
|
44
|
-
}
|
|
45
|
-
static _ProxySplice(observable, target, start, deleteNumber, ...added) {
|
|
46
|
-
const values = Array.prototype.splice.apply(target, [start, deleteNumber, added]);
|
|
47
|
-
observable.notifyObservers({ target, previousLength: target.length });
|
|
48
|
-
return values;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Observes a function and calls the given callback when it is called.
|
|
31
|
+
* @param object Defines the object the function to observe belongs to.
|
|
32
|
+
* @param functionName Defines the name of the function to observe.
|
|
33
|
+
* @param callback Defines the callback to call when the function is called.
|
|
34
|
+
* @returns A function to call to stop observing
|
|
35
|
+
*/
|
|
36
|
+
function _observeArrayfunction(object, functionName, callback) {
|
|
37
|
+
// Finds the function to observe
|
|
38
|
+
const oldFunction = object[functionName];
|
|
39
|
+
if (typeof oldFunction !== "function") {
|
|
40
|
+
return null;
|
|
49
41
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
42
|
+
// Creates a new function that calls the callback and the old function
|
|
43
|
+
const newFunction = function () {
|
|
44
|
+
const previousLength = object.length;
|
|
45
|
+
const returnValue = newFunction.previous.apply(object, arguments);
|
|
46
|
+
callback(functionName, previousLength);
|
|
47
|
+
return returnValue;
|
|
48
|
+
};
|
|
49
|
+
// Doublishly links the new function and the old function
|
|
50
|
+
oldFunction.next = newFunction;
|
|
51
|
+
newFunction.previous = oldFunction;
|
|
52
|
+
// Replaces the old function with the new function
|
|
53
|
+
object[functionName] = newFunction;
|
|
54
|
+
// Returns a function to disable the hook
|
|
55
|
+
return () => {
|
|
56
|
+
// Only unhook if the function is still hooked
|
|
57
|
+
const previous = newFunction.previous;
|
|
58
|
+
if (!previous) {
|
|
59
|
+
return;
|
|
64
60
|
}
|
|
61
|
+
// Finds the ref to the next function in the chain
|
|
62
|
+
const next = newFunction.next;
|
|
63
|
+
// If in the middle of the chain, link the previous and next functions
|
|
64
|
+
if (next) {
|
|
65
|
+
previous.next = next;
|
|
66
|
+
next.previous = previous;
|
|
67
|
+
}
|
|
68
|
+
// If at the end of the chain, remove the reference to the previous function
|
|
69
|
+
// and restore the previous function
|
|
65
70
|
else {
|
|
66
|
-
|
|
71
|
+
previous.next = undefined;
|
|
72
|
+
object[functionName] = previous;
|
|
67
73
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
// Lose reference to the previous and next functions
|
|
75
|
+
newFunction.next = undefined;
|
|
76
|
+
newFunction.previous = undefined;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Defines the list of functions to proxy when observing an array.
|
|
81
|
+
* The scope is currently reduced to the common functions used in the render target render list and the scene cameras.
|
|
82
|
+
*/
|
|
83
|
+
const observedArrayFunctions = ["push", "splice", "pop", "shift", "unshift"];
|
|
84
|
+
/**
|
|
85
|
+
* Observes an array and notifies the given observer when the array is modified.
|
|
86
|
+
* @param array Defines the array to observe
|
|
87
|
+
* @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)
|
|
88
|
+
* @returns A function to call to stop observing the array
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
export function _ObserveArray(array, callback) {
|
|
92
|
+
// Observes all the required array functions and stores the unhook functions
|
|
93
|
+
const unObserveFunctions = observedArrayFunctions.map((name) => {
|
|
94
|
+
return _observeArrayfunction(array, name, callback);
|
|
95
|
+
});
|
|
96
|
+
// Returns a function that unhook all the observed functions
|
|
97
|
+
return () => {
|
|
98
|
+
unObserveFunctions.forEach((unObserveFunction) => {
|
|
99
|
+
unObserveFunction?.();
|
|
100
|
+
});
|
|
101
|
+
};
|
|
71
102
|
}
|
|
72
103
|
//# sourceMappingURL=arrayTools.js.map
|
package/Misc/arrayTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/arrayTools.ts"],"names":[],"mappings":"AAAA,yDAAyD;
|
|
1
|
+
{"version":3,"file":"arrayTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/arrayTools.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAsBzD;;GAEG;AACH,MAAM,OAAO,UAAU;IACnB;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAI,IAAY,EAAE,WAAoB;QAC1D,MAAM,CAAC,GAAQ,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAyC,IAAO,EAAE,WAAoB;QAC1F,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAQ,CAAC;IAC3D,CAAC;CACJ;AAQD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAA8B,EAAE,YAAoB,EAAE,QAA0B;IAC3G,gCAAgC;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACnC,OAAO,IAAI,CAAC;KACf;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG;QAChB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC;IACvB,CAAQ,CAAC;IAET,yDAAyD;IACzD,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;IAC/B,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC;IAEnC,kDAAkD;IAClD,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;IAEnC,yCAAyC;IACzC,OAAO,GAAG,EAAE;QACR,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QAED,kDAAkD;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,sEAAsE;QACtE,IAAI,IAAI,EAAE;YACN,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;QACD,4EAA4E;QAC5E,oCAAoC;aAC/B;YACD,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;SACnC;QAED,oDAAoD;QACpD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;QAC7B,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAI,KAAU,EAAE,QAA0B;IACnE,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,OAAO,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,OAAO,GAAG,EAAE;QACR,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC7C,iBAAiB,EAAE,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport type { Nullable } from \"../types\";\r\n\r\n/** @internal */\r\ninterface TupleTypes<T> {\r\n 2: [T, T];\r\n 3: [T, T, T];\r\n 4: [T, T, T, T];\r\n 5: [T, T, T, T, T];\r\n 6: [T, T, T, T, T, T];\r\n 7: [T, T, T, T, T, T, T];\r\n 8: [T, T, T, T, T, T, T, T];\r\n 9: [T, T, T, T, T, T, T, T, T];\r\n 10: [T, T, T, T, T, T, T, T, T, T];\r\n 11: [T, T, T, T, T, T, T, T, T, T, T];\r\n 12: [T, T, T, T, T, T, T, T, T, T, T, T];\r\n 13: [T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 14: [T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n 15: [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];\r\n}\r\n\r\n/**\r\n * Class containing a set of static utilities functions for arrays.\r\n */\r\nexport class ArrayTools {\r\n /**\r\n * Returns an array of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size the number of element to construct and put in the array.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per array entry.\r\n * @returns a new array filled with new objects.\r\n */\r\n public static BuildArray<T>(size: number, itemBuilder: () => T): Array<T> {\r\n const a: T[] = [];\r\n for (let i = 0; i < size; ++i) {\r\n a.push(itemBuilder());\r\n }\r\n return a;\r\n }\r\n\r\n /**\r\n * Returns a tuple of the given size filled with elements built from the given constructor and the parameters.\r\n * @param size he number of element to construct and put in the tuple.\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per tuple entry.\r\n * @returns a new tuple filled with new objects.\r\n */\r\n public static BuildTuple<T, N extends keyof TupleTypes<unknown>>(size: N, itemBuilder: () => T): TupleTypes<T>[N] {\r\n return ArrayTools.BuildArray(size, itemBuilder) as any;\r\n }\r\n}\r\n\r\n/**\r\n * Defines the callback type used when an observed array function is triggered.\r\n * @internal\r\n */\r\nexport type _ObserveCallback = (functionName: string, previousLength: number) => void;\r\n\r\n/**\r\n * Observes a function and calls the given callback when it is called.\r\n * @param object Defines the object the function to observe belongs to.\r\n * @param functionName Defines the name of the function to observe.\r\n * @param callback Defines the callback to call when the function is called.\r\n * @returns A function to call to stop observing\r\n */\r\nfunction _observeArrayfunction(object: { [key: string]: any }, functionName: string, callback: _ObserveCallback): Nullable<() => void> {\r\n // Finds the function to observe\r\n const oldFunction = object[functionName];\r\n if (typeof oldFunction !== \"function\") {\r\n return null;\r\n }\r\n\r\n // Creates a new function that calls the callback and the old function\r\n const newFunction = function () {\r\n const previousLength = object.length;\r\n const returnValue = newFunction.previous.apply(object, arguments);\r\n callback(functionName, previousLength);\r\n return returnValue;\r\n } as any;\r\n\r\n // Doublishly links the new function and the old function\r\n oldFunction.next = newFunction;\r\n newFunction.previous = oldFunction;\r\n\r\n // Replaces the old function with the new function\r\n object[functionName] = newFunction;\r\n\r\n // Returns a function to disable the hook\r\n return () => {\r\n // Only unhook if the function is still hooked\r\n const previous = newFunction.previous;\r\n if (!previous) {\r\n return;\r\n }\r\n\r\n // Finds the ref to the next function in the chain\r\n const next = newFunction.next;\r\n\r\n // If in the middle of the chain, link the previous and next functions\r\n if (next) {\r\n previous.next = next;\r\n next.previous = previous;\r\n }\r\n // If at the end of the chain, remove the reference to the previous function\r\n // and restore the previous function\r\n else {\r\n previous.next = undefined;\r\n object[functionName] = previous;\r\n }\r\n\r\n // Lose reference to the previous and next functions\r\n newFunction.next = undefined;\r\n newFunction.previous = undefined;\r\n };\r\n}\r\n\r\n/**\r\n * Defines the list of functions to proxy when observing an array.\r\n * The scope is currently reduced to the common functions used in the render target render list and the scene cameras.\r\n */\r\nconst observedArrayFunctions = [\"push\", \"splice\", \"pop\", \"shift\", \"unshift\"];\r\n\r\n/**\r\n * Observes an array and notifies the given observer when the array is modified.\r\n * @param array Defines the array to observe\r\n * @param callback Defines the function to call when the array is modified (in the limit of the observed array functions)\r\n * @returns A function to call to stop observing the array\r\n * @internal\r\n */\r\nexport function _ObserveArray<T>(array: T[], callback: _ObserveCallback) {\r\n // Observes all the required array functions and stores the unhook functions\r\n const unObserveFunctions = observedArrayFunctions.map((name) => {\r\n return _observeArrayfunction(array, name, callback);\r\n });\r\n\r\n // Returns a function that unhook all the observed functions\r\n return () => {\r\n unObserveFunctions.forEach((unObserveFunction) => {\r\n unObserveFunction?.();\r\n });\r\n };\r\n}\r\n"]}
|
package/Misc/assetsManager.d.ts
CHANGED
|
@@ -75,9 +75,7 @@ export declare abstract class AbstractAssetTask {
|
|
|
75
75
|
};
|
|
76
76
|
/**
|
|
77
77
|
* Internal only
|
|
78
|
-
* @
|
|
79
|
-
* @param exception
|
|
80
|
-
* @hidden
|
|
78
|
+
* @internal
|
|
81
79
|
*/
|
|
82
80
|
_setErrorObject(message?: string, exception?: any): void;
|
|
83
81
|
/**
|
|
@@ -931,17 +929,17 @@ export declare class AssetsManager {
|
|
|
931
929
|
private _formatTaskErrorMessage;
|
|
932
930
|
/**
|
|
933
931
|
* Reset the AssetsManager and remove all tasks
|
|
934
|
-
* @
|
|
932
|
+
* @returns the current instance of the AssetsManager
|
|
935
933
|
*/
|
|
936
934
|
reset(): AssetsManager;
|
|
937
935
|
/**
|
|
938
936
|
* Start the loading process
|
|
939
|
-
* @
|
|
937
|
+
* @returns the current instance of the AssetsManager
|
|
940
938
|
*/
|
|
941
939
|
load(): AssetsManager;
|
|
942
940
|
/**
|
|
943
941
|
* Start the loading process as an async operation
|
|
944
|
-
* @
|
|
942
|
+
* @returns a promise returning the list of failed tasks
|
|
945
943
|
*/
|
|
946
944
|
loadAsync(): Promise<void>;
|
|
947
945
|
}
|
package/Misc/assetsManager.js
CHANGED
|
@@ -65,9 +65,7 @@ export class AbstractAssetTask {
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Internal only
|
|
68
|
-
* @
|
|
69
|
-
* @param exception
|
|
70
|
-
* @hidden
|
|
68
|
+
* @internal
|
|
71
69
|
*/
|
|
72
70
|
_setErrorObject(message, exception) {
|
|
73
71
|
if (this._errorObject) {
|
|
@@ -874,7 +872,7 @@ export class AssetsManager {
|
|
|
874
872
|
}
|
|
875
873
|
/**
|
|
876
874
|
* Reset the AssetsManager and remove all tasks
|
|
877
|
-
* @
|
|
875
|
+
* @returns the current instance of the AssetsManager
|
|
878
876
|
*/
|
|
879
877
|
reset() {
|
|
880
878
|
this._isLoading = false;
|
|
@@ -883,7 +881,7 @@ export class AssetsManager {
|
|
|
883
881
|
}
|
|
884
882
|
/**
|
|
885
883
|
* Start the loading process
|
|
886
|
-
* @
|
|
884
|
+
* @returns the current instance of the AssetsManager
|
|
887
885
|
*/
|
|
888
886
|
load() {
|
|
889
887
|
if (this._isLoading) {
|
|
@@ -913,7 +911,7 @@ export class AssetsManager {
|
|
|
913
911
|
}
|
|
914
912
|
/**
|
|
915
913
|
* Start the loading process as an async operation
|
|
916
|
-
* @
|
|
914
|
+
* @returns a promise returning the list of failed tasks
|
|
917
915
|
*/
|
|
918
916
|
loadAsync() {
|
|
919
917
|
return new Promise((resolve, reject) => {
|