@babylonjs/core 5.24.0 → 5.26.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/action.d.ts +12 -21
- package/Actions/action.js +8 -17
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.d.ts +2 -5
- package/Actions/actionManager.js +2 -5
- 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 +1 -1
- package/Animations/animationGroup.js +1 -1
- 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/audioEngine.js +1 -2
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/audioSceneComponent.d.ts +1 -1
- 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/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 +7 -9
- package/Bones/bone.js +7 -9
- package/Bones/bone.js.map +1 -1
- package/Bones/skeleton.d.ts +6 -8
- package/Bones/skeleton.js +6 -8
- 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 +6 -3
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +18 -5
- 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 +20 -48
- 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 +11 -12
- package/Cameras/arcRotateCamera.js +8 -9
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.d.ts +29 -38
- package/Cameras/camera.js +27 -36
- 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 +6 -7
- package/Cameras/freeCamera.js +4 -5
- 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/targetCamera.d.ts +21 -24
- package/Cameras/targetCamera.js +20 -23
- package/Cameras/targetCamera.js.map +1 -1
- package/Cameras/touchCamera.d.ts +1 -1
- package/Cameras/touchCamera.js +1 -1
- package/Cameras/touchCamera.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 +1 -5
- package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
- package/Culling/boundingBox.d.ts +4 -5
- package/Culling/boundingBox.js +3 -4
- 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 +6 -6
- package/Culling/ray.js.map +1 -1
- package/Debug/debugLayer.d.ts +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 -19
- 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 +3 -2
- 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.multiview.d.ts +9 -9
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +22 -22
- 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/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 +6 -25
- package/Engines/WebGL/webGLPipelineContext.js +6 -25
- package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
- package/Engines/WebGL/webGLRenderTargetWrapper.js +2 -2
- 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 +16 -35
- package/Engines/engine.js +19 -69
- 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 +15 -47
- package/Engines/nativeEngine.js +20 -66
- 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 +8 -9
- package/Engines/renderTargetWrapper.js +7 -8
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +90 -187
- package/Engines/thinEngine.js +73 -182
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +89 -145
- package/Engines/webgpuEngine.js +71 -127
- package/Engines/webgpuEngine.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 +1 -1
- package/Gamepads/Controllers/windowsMotionController.js +1 -1
- 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 +4 -4
- 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/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 +2 -3
- package/Layers/effectLayer.js +2 -3
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.d.ts +1 -1
- package/Layers/glowLayer.js +1 -1
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +1 -1
- package/Layers/highlightLayer.js +1 -1
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.d.ts +8 -1
- package/Layers/layer.js +12 -1
- package/Layers/layer.js.map +1 -1
- package/Layers/layerSceneComponent.d.ts +4 -2
- package/Layers/layerSceneComponent.js +27 -11
- package/Layers/layerSceneComponent.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/light.d.ts +9 -9
- package/Lights/light.js +6 -6
- package/Lights/light.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/loadingScreen.js +6 -6
- package/Loading/loadingScreen.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +1 -1
- 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 +2 -2
- package/Materials/Node/nodeMaterial.js +2 -2
- 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 +65 -65
- 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/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/proceduralTexture.d.ts +6 -7
- package/Materials/Textures/Procedurals/proceduralTexture.js +4 -5
- 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/cubeTexture.d.ts +1 -1
- package/Materials/Textures/cubeTexture.js +1 -1
- 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/renderTargetTexture.d.ts +7 -11
- package/Materials/Textures/renderTargetTexture.js +8 -9
- 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/thinRenderTargetTexture.js +1 -1
- package/Materials/Textures/thinRenderTargetTexture.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 +3 -3
- package/Materials/Textures/videoTexture.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 +17 -17
- package/Materials/effect.js +28 -22
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.d.ts +1 -1
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +5 -5
- package/Materials/imageProcessingConfiguration.js +4 -4
- 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 +22 -24
- 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 +2 -7
- 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/standardMaterial.d.ts +3 -3
- package/Materials/standardMaterial.js +3 -3
- 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/math.color.d.ts +1 -1
- package/Maths/math.color.js +1 -1
- package/Maths/math.color.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 +343 -0
- package/Maths/math.polar.js +537 -0
- package/Maths/math.polar.js.map +1 -1
- package/Maths/math.vector.d.ts +58 -24
- package/Maths/math.vector.js +94 -18
- 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 +48 -70
- package/Meshes/abstractMesh.js +47 -69
- 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 +15 -20
- package/Meshes/geometry.js +7 -12
- 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 +12 -16
- 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 +47 -92
- package/Meshes/mesh.js +50 -98
- 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 +23 -51
- package/Meshes/subMesh.js +20 -48
- 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 +4 -4
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +8 -9
- package/Meshes/transformNode.js +8 -9
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/arrayTools.d.ts +3 -3
- package/Misc/arrayTools.js +1 -1
- package/Misc/arrayTools.js.map +1 -1
- package/Misc/assetsManager.d.ts +1 -3
- package/Misc/assetsManager.js +1 -3
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/basis.js +1 -1
- 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 +1 -6
- package/Misc/environmentTextureTools.js +1 -6
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.d.ts +12 -24
- package/Misc/fileTools.js +14 -26
- 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 +3 -4
- package/Misc/observable.js +2 -3
- package/Misc/observable.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/screenshotTools.js +1 -1
- package/Misc/screenshotTools.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/tga.d.ts +14 -70
- package/Misc/tga.js +14 -70
- package/Misc/tga.js.map +1 -1
- package/Misc/tools.d.ts +9 -0
- package/Misc/tools.js +14 -5
- 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/virtualJoystick.js +0 -1
- package/Misc/virtualJoystick.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 +6 -0
- package/Particles/IParticleSystem.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +14 -9
- package/Particles/baseParticleSystem.js +17 -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 +17 -13
- 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 +30 -31
- 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 +14 -16
- package/Particles/solidParticleSystem.js +14 -16
- 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 +3 -0
- package/Physics/Plugins/ammoJSPlugin.js +21 -2
- 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 +3 -3
- package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
- package/Physics/physicsEngineComponent.d.ts +4 -4
- package/Physics/physicsEngineComponent.js +1 -2
- 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/ssao2RenderingPipeline.d.ts +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +2 -2
- 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 +1 -5
- package/PostProcesses/blurPostProcess.js +1 -5
- 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 +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +1 -1
- 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/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 +2 -2
- package/Rendering/edgesRenderer.js +1 -1
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +10 -16
- package/Rendering/geometryBufferRenderer.js +9 -15
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/geometryBufferRendererSceneComponent.d.ts +1 -1
- 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 +7 -14
- package/Rendering/prePassRenderer.js +8 -15
- 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 +15 -8
- package/Rendering/renderingManager.js +59 -17
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.d.ts +2 -4
- package/Rendering/subSurfaceConfiguration.js +2 -4
- 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 +3 -3
- 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 +2 -2
- 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 +2 -2
- 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 +4 -3
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.d.ts +1 -1
- package/Shaders/color.vertex.js +2 -2
- 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 +4 -4
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.d.ts +1 -1
- package/Shaders/default.vertex.js +2 -2
- 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 +3 -1
- package/Shaders/gpuRenderParticles.fragment.js +9 -2
- package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.vertex.d.ts +3 -1
- package/Shaders/gpuRenderParticles.vertex.js +5 -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 +3 -1
- package/Shaders/particles.fragment.js +9 -2
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.d.ts +3 -1
- package/Shaders/particles.vertex.js +5 -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 +2 -2
- 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/spriteManager.d.ts +4 -0
- package/Sprites/spriteManager.js +2 -0
- package/Sprites/spriteManager.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/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 +3 -4
- package/XR/motionController/webXRAbstractMotionController.js +2 -3
- package/XR/motionController/webXRAbstractMotionController.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 +40 -52
- package/node.js +40 -55
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +83 -107
- package/scene.js +94 -108
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +4 -2
- package/sceneComponent.js +4 -2
- package/sceneComponent.js.map +1 -1
- package/types.d.ts +2 -2
- package/types.js +1 -1
- package/types.js.map +1 -1
|
@@ -129,7 +129,7 @@ export interface WebVROptions {
|
|
|
129
129
|
export declare class WebVRFreeCamera extends FreeCamera implements PoseControlled {
|
|
130
130
|
private _webVROptions;
|
|
131
131
|
/**
|
|
132
|
-
* @
|
|
132
|
+
* @internal
|
|
133
133
|
* The vrDisplay tied to the camera. See https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay
|
|
134
134
|
*/
|
|
135
135
|
_vrDevice: any;
|
|
@@ -143,7 +143,7 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
143
143
|
private _frameData;
|
|
144
144
|
protected _descendants: Array<Node>;
|
|
145
145
|
private _deviceRoomPosition;
|
|
146
|
-
/** @
|
|
146
|
+
/** @internal */
|
|
147
147
|
_deviceRoomRotationQuaternion: Quaternion;
|
|
148
148
|
private _standingMatrix;
|
|
149
149
|
/**
|
|
@@ -234,7 +234,7 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
234
234
|
*/
|
|
235
235
|
getForwardRay(length?: number): Ray;
|
|
236
236
|
/**
|
|
237
|
-
* @
|
|
237
|
+
* @internal
|
|
238
238
|
* Updates the camera based on device's frame data
|
|
239
239
|
*/
|
|
240
240
|
_checkInputs(): void;
|
|
@@ -267,7 +267,7 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
267
267
|
*/
|
|
268
268
|
resetToCurrentRotation(): void;
|
|
269
269
|
/**
|
|
270
|
-
* @
|
|
270
|
+
* @internal
|
|
271
271
|
* Updates the rig cameras (left and right eye)
|
|
272
272
|
*/
|
|
273
273
|
_updateRigCameras(): void;
|
|
@@ -277,13 +277,13 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
277
277
|
private _updateCacheCalled;
|
|
278
278
|
private _correctPositionIfNotTrackPosition;
|
|
279
279
|
/**
|
|
280
|
-
* @
|
|
280
|
+
* @internal
|
|
281
281
|
* Updates the cached values of the camera
|
|
282
282
|
* @param ignoreParentClass ignores updating the parent class's cache (default: false)
|
|
283
283
|
*/
|
|
284
284
|
_updateCache(ignoreParentClass?: boolean): void;
|
|
285
285
|
/**
|
|
286
|
-
* @
|
|
286
|
+
* @internal
|
|
287
287
|
* Get current device position in babylon world
|
|
288
288
|
*/
|
|
289
289
|
_computeDevicePosition(): void;
|
|
@@ -292,7 +292,7 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
292
292
|
*/
|
|
293
293
|
update(): void;
|
|
294
294
|
/**
|
|
295
|
-
* @
|
|
295
|
+
* @internal
|
|
296
296
|
* Gets the view matrix of this camera (Always set to identity as left and right eye cameras contain the actual view matrix)
|
|
297
297
|
* @returns an identity matrix
|
|
298
298
|
*/
|
|
@@ -301,10 +301,10 @@ export declare class WebVRFreeCamera extends FreeCamera implements PoseControlle
|
|
|
301
301
|
/**
|
|
302
302
|
* This function is called by the two RIG cameras.
|
|
303
303
|
* 'this' is the left or right camera (and NOT (!!!) the WebVRFreeCamera instance)
|
|
304
|
-
* @
|
|
304
|
+
* @internal
|
|
305
305
|
*/
|
|
306
306
|
_getWebVRViewMatrix(): Matrix;
|
|
307
|
-
/** @
|
|
307
|
+
/** @internal */
|
|
308
308
|
_getWebVRProjectionMatrix(): Matrix;
|
|
309
309
|
private _onGamepadConnectedObserver;
|
|
310
310
|
private _onGamepadDisconnectedObserver;
|
|
@@ -36,7 +36,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
36
36
|
super(name, position, scene);
|
|
37
37
|
this._webVROptions = _webVROptions;
|
|
38
38
|
/**
|
|
39
|
-
* @
|
|
39
|
+
* @internal
|
|
40
40
|
* The vrDisplay tied to the camera. See https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay
|
|
41
41
|
*/
|
|
42
42
|
this._vrDevice = null;
|
|
@@ -49,7 +49,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
49
49
|
this._descendants = [];
|
|
50
50
|
// Represents device position and rotation in room space. Should only be used to help calculate babylon space values
|
|
51
51
|
this._deviceRoomPosition = Vector3.Zero();
|
|
52
|
-
/** @
|
|
52
|
+
/** @internal */
|
|
53
53
|
this._deviceRoomRotationQuaternion = Quaternion.Identity();
|
|
54
54
|
this._standingMatrix = null;
|
|
55
55
|
/**
|
|
@@ -296,7 +296,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
/**
|
|
299
|
-
* @
|
|
299
|
+
* @internal
|
|
300
300
|
* Updates the camera based on device's frame data
|
|
301
301
|
*/
|
|
302
302
|
_checkInputs() {
|
|
@@ -376,7 +376,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
376
376
|
this._vrDevice.resetPose();
|
|
377
377
|
}
|
|
378
378
|
/**
|
|
379
|
-
* @
|
|
379
|
+
* @internal
|
|
380
380
|
* Updates the rig cameras (left and right eye)
|
|
381
381
|
*/
|
|
382
382
|
_updateRigCameras() {
|
|
@@ -398,7 +398,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
400
|
/**
|
|
401
|
-
* @
|
|
401
|
+
* @internal
|
|
402
402
|
* Updates the cached values of the camera
|
|
403
403
|
* @param ignoreParentClass ignores updating the parent class's cache (default: false)
|
|
404
404
|
*/
|
|
@@ -436,7 +436,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
436
436
|
this._updateCacheCalled = false;
|
|
437
437
|
}
|
|
438
438
|
/**
|
|
439
|
-
* @
|
|
439
|
+
* @internal
|
|
440
440
|
* Get current device position in babylon world
|
|
441
441
|
*/
|
|
442
442
|
_computeDevicePosition() {
|
|
@@ -457,7 +457,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
457
457
|
super.update();
|
|
458
458
|
}
|
|
459
459
|
/**
|
|
460
|
-
* @
|
|
460
|
+
* @internal
|
|
461
461
|
* Gets the view matrix of this camera (Always set to identity as left and right eye cameras contain the actual view matrix)
|
|
462
462
|
* @returns an identity matrix
|
|
463
463
|
*/
|
|
@@ -467,7 +467,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
467
467
|
/**
|
|
468
468
|
* This function is called by the two RIG cameras.
|
|
469
469
|
* 'this' is the left or right camera (and NOT (!!!) the WebVRFreeCamera instance)
|
|
470
|
-
* @
|
|
470
|
+
* @internal
|
|
471
471
|
*/
|
|
472
472
|
_getWebVRViewMatrix() {
|
|
473
473
|
// Update the parent camera prior to using a child camera to avoid desynchronization
|
|
@@ -506,7 +506,7 @@ export class WebVRFreeCamera extends FreeCamera {
|
|
|
506
506
|
this._markSyncedWithParent();
|
|
507
507
|
return this._webvrViewMatrix;
|
|
508
508
|
}
|
|
509
|
-
/** @
|
|
509
|
+
/** @internal */
|
|
510
510
|
_getWebVRProjectionMatrix() {
|
|
511
511
|
const parentCamera = this.parent;
|
|
512
512
|
parentCamera._vrDevice.depthNear = parentCamera.minZ;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webVRCamera.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Cameras/VR/webVRCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { Observer } from \"../../Misc/observable\";\r\nimport { Observable } from \"../../Misc/observable\";\r\nimport { FreeCamera } from \"../../Cameras/freeCamera\";\r\nimport type { TargetCamera } from \"../../Cameras/targetCamera\";\r\nimport { Camera } from \"../../Cameras/camera\";\r\nimport type { Scene } from \"../../scene\";\r\nimport { Quaternion, Matrix, Vector3 } from \"../../Maths/math.vector\";\r\nimport { Gamepad } from \"../../Gamepads/gamepad\";\r\nimport { PoseEnabledControllerType } from \"../../Gamepads/Controllers/poseEnabledController\";\r\nimport type { WebVRController } from \"../../Gamepads/Controllers/webVRController\";\r\nimport type { IDisplayChangedEventArgs } from \"../../Engines/engine\";\r\nimport { Node } from \"../../node\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport type { Ray } from \"../../Culling/ray\";\r\nimport { HemisphericLight } from \"../../Lights/hemisphericLight\";\r\nimport { Logger } from \"../../Misc/logger\";\r\nimport { VRMultiviewToSingleviewPostProcess } from \"../../PostProcesses/vrMultiviewToSingleviewPostProcess\";\r\nimport { Tools } from \"../../Misc/tools\";\r\nimport { setWebVRRigMode } from \"../RigModes/webVRRigMode\";\r\n\r\n// Side effect import to add webvr support to engine\r\nimport \"../../Engines/Extensions/engine.webVR\";\r\n\r\nNode.AddNodeConstructor(\"WebVRFreeCamera\", (name, scene) => {\r\n return () => new WebVRFreeCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\nNode.AddNodeConstructor(\"WebVRGamepadCamera\", (name, scene) => {\r\n return () => new WebVRFreeCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\n/**\r\n * This is a copy of VRPose. See https://developer.mozilla.org/en-US/docs/Web/API/VRPose\r\n * IMPORTANT!! The data is right-hand data.\r\n * @export\r\n * @interface DevicePose\r\n */\r\nexport interface DevicePose {\r\n /**\r\n * The position of the device, values in array are [x,y,z].\r\n */\r\n readonly position: Nullable<Float32Array>;\r\n /**\r\n * The linearVelocity of the device, values in array are [x,y,z].\r\n */\r\n readonly linearVelocity: Nullable<Float32Array>;\r\n /**\r\n * The linearAcceleration of the device, values in array are [x,y,z].\r\n */\r\n readonly linearAcceleration: Nullable<Float32Array>;\r\n\r\n /**\r\n * The orientation of the device in a quaternion array, values in array are [x,y,z,w].\r\n */\r\n readonly orientation: Nullable<Float32Array>;\r\n /**\r\n * The angularVelocity of the device, values in array are [x,y,z].\r\n */\r\n readonly angularVelocity: Nullable<Float32Array>;\r\n /**\r\n * The angularAcceleration of the device, values in array are [x,y,z].\r\n */\r\n readonly angularAcceleration: Nullable<Float32Array>;\r\n}\r\n\r\n/**\r\n * Interface representing a pose controlled object in Babylon.\r\n * A pose controlled object has both regular pose values as well as pose values\r\n * from an external device such as a VR head mounted display\r\n */\r\nexport interface PoseControlled {\r\n /**\r\n * The position of the object in babylon space.\r\n */\r\n position: Vector3;\r\n /**\r\n * The rotation quaternion of the object in babylon space.\r\n */\r\n rotationQuaternion: Quaternion;\r\n /**\r\n * The position of the device in babylon space.\r\n */\r\n devicePosition?: Vector3;\r\n /**\r\n * The rotation quaternion of the device in babylon space.\r\n */\r\n deviceRotationQuaternion: Quaternion;\r\n /**\r\n * The raw pose coming from the device.\r\n */\r\n rawPose: Nullable<DevicePose>;\r\n /**\r\n * The scale of the device to be used when translating from device space to babylon space.\r\n */\r\n deviceScaleFactor: number;\r\n /**\r\n * Updates the poseControlled values based on the input device pose.\r\n * @param poseData the pose data to update the object with\r\n */\r\n updateFromDevice(poseData: DevicePose): void;\r\n}\r\n\r\n/**\r\n * Set of options to customize the webVRCamera\r\n */\r\nexport interface WebVROptions {\r\n /**\r\n * Sets if the webVR camera should be tracked to the vrDevice. (default: true)\r\n */\r\n trackPosition?: boolean;\r\n /**\r\n * Sets the scale of the vrDevice in babylon space. (default: 1)\r\n */\r\n positionScale?: number;\r\n /**\r\n * If there are more than one VRDisplays, this will choose the display matching this name. (default: pick first vrDisplay)\r\n */\r\n displayName?: string;\r\n /**\r\n * Should the native controller meshes be initialized. (default: true)\r\n */\r\n controllerMeshes?: boolean;\r\n /**\r\n * Creating a default HemiLight only on controllers. (default: true)\r\n */\r\n defaultLightingOnControllers?: boolean;\r\n /**\r\n * If you don't want to use the default VR button of the helper. (default: false)\r\n */\r\n useCustomVRButton?: boolean;\r\n\r\n /**\r\n * If you'd like to provide your own button to the VRHelper. (default: standard babylon vr button)\r\n */\r\n customVRButton?: HTMLButtonElement;\r\n\r\n /**\r\n * To change the length of the ray for gaze/controllers. Will be scaled by positionScale. (default: 100)\r\n */\r\n rayLength?: number;\r\n\r\n /**\r\n * To change the default offset from the ground to account for user's height in meters. Will be scaled by positionScale. (default: 1.7)\r\n */\r\n defaultHeight?: number;\r\n\r\n /**\r\n * If multiview should be used if available (default: false)\r\n */\r\n useMultiview?: boolean;\r\n}\r\n\r\n/**\r\n * This represents a WebVR camera.\r\n * The WebVR camera is Babylon's simple interface to interaction with Windows Mixed Reality, HTC Vive and Oculus Rift.\r\n * @deprecated Use WebXR instead - https://doc.babylonjs.com/divingDeeper/webXR\r\n * @example https://doc.babylonjs.com/how_to/webvr_camera\r\n */\r\nexport class WebVRFreeCamera extends FreeCamera implements PoseControlled {\r\n /**\r\n * @hidden\r\n * The vrDisplay tied to the camera. See https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay\r\n */\r\n public _vrDevice: any = null;\r\n /**\r\n * The rawPose of the vrDevice.\r\n */\r\n public rawPose: Nullable<DevicePose> = null;\r\n private _onVREnabled: (success: boolean) => void;\r\n private _specsVersion: string = \"1.1\";\r\n private _attached: boolean = false;\r\n\r\n private _frameData: any;\r\n\r\n protected _descendants: Array<Node> = [];\r\n\r\n // Represents device position and rotation in room space. Should only be used to help calculate babylon space values\r\n private _deviceRoomPosition = Vector3.Zero();\r\n /** @hidden */\r\n public _deviceRoomRotationQuaternion = Quaternion.Identity();\r\n\r\n private _standingMatrix: Nullable<Matrix> = null;\r\n\r\n /**\r\n * Represents device position in babylon space.\r\n */\r\n public devicePosition = Vector3.Zero();\r\n /**\r\n * Represents device rotation in babylon space.\r\n */\r\n public deviceRotationQuaternion = Quaternion.Identity();\r\n\r\n /**\r\n * The scale of the device to be used when translating from device space to babylon space.\r\n */\r\n public deviceScaleFactor: number = 1;\r\n\r\n private _deviceToWorld = Matrix.Identity();\r\n private _worldToDevice = Matrix.Identity();\r\n\r\n /**\r\n * References to the webVR controllers for the vrDevice.\r\n */\r\n public controllers: Array<WebVRController> = [];\r\n /**\r\n * Emits an event when a controller is attached.\r\n */\r\n public onControllersAttachedObservable = new Observable<Array<WebVRController>>();\r\n /**\r\n * Emits an event when a controller's mesh has been loaded;\r\n */\r\n public onControllerMeshLoadedObservable = new Observable<WebVRController>();\r\n /**\r\n * Emits an event when the HMD's pose has been updated.\r\n */\r\n public onPoseUpdatedFromDeviceObservable = new Observable<any>();\r\n private _poseSet = false;\r\n /**\r\n * If the rig cameras be used as parent instead of this camera.\r\n */\r\n public rigParenting: boolean = true;\r\n\r\n private _lightOnControllers: HemisphericLight;\r\n\r\n private _defaultHeight?: number = undefined;\r\n\r\n /**\r\n * Instantiates a WebVRFreeCamera.\r\n * @param name The name of the WebVRFreeCamera\r\n * @param position The starting anchor position for the camera\r\n * @param scene The scene the camera belongs to\r\n * @param _webVROptions a set of customizable options for the webVRCamera\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, private _webVROptions: WebVROptions = {}) {\r\n super(name, position, scene);\r\n this._cache.position = Vector3.Zero();\r\n if (_webVROptions.defaultHeight) {\r\n this._defaultHeight = _webVROptions.defaultHeight;\r\n this.position.y = this._defaultHeight;\r\n }\r\n\r\n this.minZ = 0.1;\r\n\r\n //legacy support - the compensation boolean was removed.\r\n if (arguments.length === 5) {\r\n // eslint-disable-next-line prefer-rest-params\r\n this._webVROptions = arguments[4];\r\n }\r\n\r\n // default webVR options\r\n if (this._webVROptions.trackPosition == undefined) {\r\n this._webVROptions.trackPosition = true;\r\n }\r\n if (this._webVROptions.controllerMeshes == undefined) {\r\n this._webVROptions.controllerMeshes = true;\r\n }\r\n if (this._webVROptions.defaultLightingOnControllers == undefined) {\r\n this._webVROptions.defaultLightingOnControllers = true;\r\n }\r\n\r\n this.rotationQuaternion = new Quaternion();\r\n\r\n if (this._webVROptions && this._webVROptions.positionScale) {\r\n this.deviceScaleFactor = this._webVROptions.positionScale;\r\n }\r\n\r\n //enable VR\r\n const engine = this.getEngine();\r\n this._onVREnabled = (success: boolean) => {\r\n if (success) {\r\n this.initControllers();\r\n }\r\n };\r\n engine.onVRRequestPresentComplete.add(this._onVREnabled);\r\n engine.initWebVR().add((event: IDisplayChangedEventArgs) => {\r\n if (!event.vrDisplay || this._vrDevice === event.vrDisplay) {\r\n return;\r\n }\r\n\r\n this._vrDevice = event.vrDisplay;\r\n\r\n //reset the rig parameters.\r\n this.setCameraRigMode(Camera.RIG_MODE_WEBVR, { parentCamera: this, vrDisplay: this._vrDevice, frameData: this._frameData, specs: this._specsVersion });\r\n\r\n if (this._attached) {\r\n this.getEngine().enableVR(this._webVROptions);\r\n }\r\n });\r\n\r\n if (typeof VRFrameData !== \"undefined\") {\r\n this._frameData = new VRFrameData();\r\n }\r\n\r\n if (_webVROptions.useMultiview) {\r\n if (!this.getScene().getEngine().getCaps().multiview) {\r\n Logger.Warn(\"Multiview is not supported, falling back to standard rendering\");\r\n this._useMultiviewToSingleView = false;\r\n } else {\r\n this._useMultiviewToSingleView = true;\r\n this._rigPostProcess = new VRMultiviewToSingleviewPostProcess(\"VRMultiviewToSingleview\", this, 1.0);\r\n }\r\n }\r\n\r\n /**\r\n * The idea behind the following lines:\r\n * objects that have the camera as parent should actually have the rig cameras as a parent.\r\n * BUT, each of those cameras has a different view matrix, which means that if we set the parent to the first rig camera,\r\n * the second will not show it correctly.\r\n *\r\n * To solve this - each object that has the camera as parent will be added to a protected array.\r\n * When the rig camera renders, it will take this array and set all of those to be its children.\r\n * This way, the right camera will be used as a parent, and the mesh will be rendered correctly.\r\n * Amazing!\r\n */\r\n this.getScene().onBeforeCameraRenderObservable.add((camera) => {\r\n if (camera.parent === this && this.rigParenting) {\r\n this._descendants = this.getDescendants(true, (n) => {\r\n // don't take the cameras or the controllers!\r\n const isController = this.controllers.some((controller) => {\r\n return controller._mesh === n;\r\n });\r\n const isRigCamera = this._rigCameras.indexOf(<Camera>n) !== -1;\r\n return !isController && !isRigCamera;\r\n });\r\n this._descendants.forEach((node) => {\r\n node.parent = camera;\r\n });\r\n }\r\n });\r\n\r\n this.getScene().onAfterCameraRenderObservable.add((camera) => {\r\n if (camera.parent === this && this.rigParenting) {\r\n this._descendants.forEach((node) => {\r\n node.parent = this;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected _setRigMode = setWebVRRigMode.bind(null, this);\r\n\r\n /**\r\n * Gets the device distance from the ground in meters.\r\n * @returns the distance in meters from the vrDevice to ground in device space. If standing matrix is not supported for the vrDevice 0 is returned.\r\n */\r\n public deviceDistanceToRoomGround(): number {\r\n if (this._standingMatrix) {\r\n // Add standing matrix offset to get real offset from ground in room\r\n this._standingMatrix.getTranslationToRef(this._workingVector);\r\n return this._deviceRoomPosition.y + this._workingVector.y;\r\n }\r\n //If VRDisplay does not inform stage parameters and no default height is set we fallback to zero.\r\n return this._defaultHeight || 0;\r\n }\r\n\r\n /**\r\n * Enables the standing matrix when supported. This can be used to position the user's view the correct height from the ground.\r\n * @param callback will be called when the standing matrix is set. Callback parameter is if the standing matrix is supported.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public useStandingMatrix(callback = (bool: boolean) => {}) {\r\n // Use standing matrix if available\r\n this.getEngine()\r\n .initWebVRAsync()\r\n .then((result) => {\r\n if (!result.vrDisplay || !result.vrDisplay.stageParameters || !result.vrDisplay.stageParameters.sittingToStandingTransform || !this._webVROptions.trackPosition) {\r\n callback(false);\r\n } else {\r\n this._standingMatrix = new Matrix();\r\n Matrix.FromFloat32ArrayToRefScaled(result.vrDisplay.stageParameters.sittingToStandingTransform, 0, 1, this._standingMatrix);\r\n if (!this.getScene().useRightHandedSystem) {\r\n if (this._standingMatrix) {\r\n this._standingMatrix.toggleModelMatrixHandInPlace();\r\n }\r\n }\r\n callback(true);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Enables the standing matrix when supported. This can be used to position the user's view the correct height from the ground.\r\n * @returns A promise with a boolean set to if the standing matrix is supported.\r\n */\r\n public useStandingMatrixAsync(): Promise<boolean> {\r\n return new Promise((res) => {\r\n this.useStandingMatrix((supported) => {\r\n res(supported);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Disposes the camera\r\n */\r\n public dispose(): void {\r\n this._detachIfAttached();\r\n this.getEngine().onVRRequestPresentComplete.removeCallback(this._onVREnabled);\r\n if (this._updateCacheWhenTrackingDisabledObserver) {\r\n this._scene.onBeforeRenderObservable.remove(this._updateCacheWhenTrackingDisabledObserver);\r\n }\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Gets a vrController by name.\r\n * @param name The name of the controller to retrieve\r\n * @returns the controller matching the name specified or null if not found\r\n */\r\n public getControllerByName(name: string): Nullable<WebVRController> {\r\n for (const gp of this.controllers) {\r\n if (gp.hand === name) {\r\n return gp;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _leftController: Nullable<WebVRController>;\r\n /**\r\n * The controller corresponding to the users left hand.\r\n */\r\n public get leftController(): Nullable<WebVRController> {\r\n if (!this._leftController) {\r\n this._leftController = this.getControllerByName(\"left\");\r\n }\r\n\r\n return this._leftController;\r\n }\r\n\r\n private _rightController: Nullable<WebVRController>;\r\n /**\r\n * The controller corresponding to the users right hand.\r\n */\r\n public get rightController(): Nullable<WebVRController> {\r\n if (!this._rightController) {\r\n this._rightController = this.getControllerByName(\"right\");\r\n }\r\n\r\n return this._rightController;\r\n }\r\n\r\n /**\r\n * Casts a ray forward from the vrCamera's gaze.\r\n * @param length Length of the ray (default: 100)\r\n * @returns the ray corresponding to the gaze\r\n */\r\n public getForwardRay(length = 100): Ray {\r\n if (this.leftCamera) {\r\n // Use left eye to avoid computation to compute center on every call\r\n return super.getForwardRay(length, this.leftCamera.getWorldMatrix(), this.leftCamera.globalPosition); // Need the actual rendered camera\r\n } else {\r\n return super.getForwardRay(length);\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Updates the camera based on device's frame data\r\n */\r\n public _checkInputs(): void {\r\n if (this._vrDevice && this._vrDevice.isPresenting) {\r\n this._vrDevice.getFrameData(this._frameData);\r\n\r\n this.updateFromDevice(this._frameData.pose);\r\n }\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /**\r\n * Updates the poseControlled values based on the input device pose.\r\n * @param poseData Pose coming from the device\r\n */\r\n updateFromDevice(poseData: DevicePose) {\r\n if (poseData && poseData.orientation && poseData.orientation.length === 4) {\r\n this.rawPose = poseData;\r\n this._deviceRoomRotationQuaternion.copyFromFloats(poseData.orientation[0], poseData.orientation[1], -poseData.orientation[2], -poseData.orientation[3]);\r\n\r\n if (this.getScene().useRightHandedSystem) {\r\n this._deviceRoomRotationQuaternion.z *= -1;\r\n this._deviceRoomRotationQuaternion.w *= -1;\r\n }\r\n if (this._webVROptions.trackPosition && this.rawPose.position) {\r\n this._deviceRoomPosition.copyFromFloats(this.rawPose.position[0], this.rawPose.position[1], -this.rawPose.position[2]);\r\n if (this.getScene().useRightHandedSystem) {\r\n this._deviceRoomPosition.z *= -1;\r\n }\r\n }\r\n this._poseSet = true;\r\n }\r\n }\r\n\r\n private _detachIfAttached = () => {\r\n const vrDisplay = this.getEngine().getVRDevice();\r\n if (vrDisplay && !vrDisplay.isPresenting) {\r\n this.detachControl();\r\n }\r\n };\r\n\r\n /**\r\n * WebVR's attach control will start broadcasting frames to the device.\r\n * Note that in certain browsers (chrome for example) this function must be called\r\n * within a user-interaction callback. Example:\r\n * <pre> scene.onPointerDown = function() { camera.attachControl(canvas); }</pre>\r\n *\r\n * @param noPreventDefault prevent the default html element operation when attaching the vrDevice\r\n */\r\n public attachControl(noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n super.attachControl(noPreventDefault);\r\n this._attached = true;\r\n\r\n noPreventDefault = Camera.ForceAttachControlToAlwaysPreventDefault ? false : noPreventDefault;\r\n\r\n if (this._vrDevice) {\r\n this.getEngine().enableVR(this._webVROptions);\r\n }\r\n\r\n const hostWindow = this._scene.getEngine().getHostWindow();\r\n\r\n if (hostWindow) {\r\n hostWindow.addEventListener(\"vrdisplaypresentchange\", this._detachIfAttached);\r\n }\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.getScene().gamepadManager.onGamepadConnectedObservable.remove(this._onGamepadConnectedObserver);\r\n this.getScene().gamepadManager.onGamepadDisconnectedObservable.remove(this._onGamepadDisconnectedObserver);\r\n\r\n super.detachControl();\r\n this._attached = false;\r\n this.getEngine().disableVR();\r\n window.removeEventListener(\"vrdisplaypresentchange\", this._detachIfAttached);\r\n }\r\n\r\n /**\r\n * @returns the name of this class\r\n */\r\n public getClassName(): string {\r\n return \"WebVRFreeCamera\";\r\n }\r\n\r\n /**\r\n * Calls resetPose on the vrDisplay\r\n * See: https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay/resetPose\r\n */\r\n public resetToCurrentRotation() {\r\n //uses the vrDisplay's \"resetPose()\".\r\n //pitch and roll won't be affected.\r\n this._vrDevice.resetPose();\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Updates the rig cameras (left and right eye)\r\n */\r\n public _updateRigCameras() {\r\n const camLeft = <TargetCamera>this._rigCameras[0];\r\n const camRight = <TargetCamera>this._rigCameras[1];\r\n camLeft.rotationQuaternion.copyFrom(this._deviceRoomRotationQuaternion);\r\n camRight.rotationQuaternion.copyFrom(this._deviceRoomRotationQuaternion);\r\n\r\n camLeft.position.copyFrom(this._deviceRoomPosition);\r\n camRight.position.copyFrom(this._deviceRoomPosition);\r\n }\r\n\r\n private _workingVector = Vector3.Zero();\r\n private _oneVector = Vector3.One();\r\n private _workingMatrix = Matrix.Identity();\r\n\r\n private _updateCacheCalled: boolean;\r\n\r\n // Remove translation from 6dof headset if trackposition is set to false\r\n private _correctPositionIfNotTrackPosition(matrix: Matrix, isViewMatrix = false) {\r\n if (this.rawPose && this.rawPose.position && !this._webVROptions.trackPosition) {\r\n Matrix.TranslationToRef(this.rawPose.position[0], this.rawPose.position[1], -this.rawPose.position[2], this._tmpMatrix);\r\n if (!isViewMatrix) {\r\n this._tmpMatrix.invert();\r\n }\r\n this._tmpMatrix.multiplyToRef(matrix, matrix);\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Updates the cached values of the camera\r\n * @param ignoreParentClass ignores updating the parent class's cache (default: false)\r\n */\r\n public _updateCache(ignoreParentClass?: boolean): void {\r\n if (!this.rotationQuaternion.equals(this._cache.rotationQuaternion) || !this.position.equals(this._cache.position)) {\r\n // Update to ensure devicePosition is up to date with most recent _deviceRoomPosition\r\n if (!this._updateCacheCalled) {\r\n // make sure it is only called once per loop. this.update() might cause an infinite loop.\r\n this._updateCacheCalled = true;\r\n this.update();\r\n }\r\n\r\n // Set working vector to the device position in room space rotated by the new rotation\r\n this.rotationQuaternion.toRotationMatrix(this._workingMatrix);\r\n Vector3.TransformCoordinatesToRef(this._deviceRoomPosition, this._workingMatrix, this._workingVector);\r\n\r\n // Subtract this vector from the current device position in world to get the translation for the device world matrix\r\n this.devicePosition.subtractToRef(this._workingVector, this._workingVector);\r\n Matrix.ComposeToRef(this._oneVector, this.rotationQuaternion, this._workingVector, this._deviceToWorld);\r\n\r\n // Add translation from anchor position\r\n this._deviceToWorld.getTranslationToRef(this._workingVector);\r\n this._workingVector.addInPlace(this.position);\r\n this._workingVector.subtractInPlace(this._cache.position);\r\n this._deviceToWorld.setTranslation(this._workingVector);\r\n\r\n // Set an inverted matrix to be used when updating the camera\r\n this._deviceToWorld.invertToRef(this._worldToDevice);\r\n\r\n // Update the gamepad to ensure the mesh is updated on the same frame as camera\r\n this.controllers.forEach((controller) => {\r\n controller._deviceToWorld.copyFrom(this._deviceToWorld);\r\n this._correctPositionIfNotTrackPosition(controller._deviceToWorld);\r\n controller.update();\r\n });\r\n }\r\n\r\n if (!ignoreParentClass) {\r\n super._updateCache();\r\n }\r\n this._updateCacheCalled = false;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Get current device position in babylon world\r\n */\r\n public _computeDevicePosition() {\r\n Vector3.TransformCoordinatesToRef(this._deviceRoomPosition, this._deviceToWorld, this.devicePosition);\r\n }\r\n\r\n /**\r\n * Updates the current device position and rotation in the babylon world\r\n */\r\n public update() {\r\n this._computeDevicePosition();\r\n\r\n // Get current device rotation in babylon world\r\n Matrix.FromQuaternionToRef(this._deviceRoomRotationQuaternion, this._workingMatrix);\r\n this._workingMatrix.multiplyToRef(this._deviceToWorld, this._workingMatrix);\r\n Quaternion.FromRotationMatrixToRef(this._workingMatrix, this.deviceRotationQuaternion);\r\n\r\n if (this._poseSet) {\r\n this.onPoseUpdatedFromDeviceObservable.notifyObservers(null);\r\n }\r\n super.update();\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Gets the view matrix of this camera (Always set to identity as left and right eye cameras contain the actual view matrix)\r\n * @returns an identity matrix\r\n */\r\n public _getViewMatrix(): Matrix {\r\n return Matrix.Identity();\r\n }\r\n\r\n private _tmpMatrix = new Matrix();\r\n /**\r\n * This function is called by the two RIG cameras.\r\n * 'this' is the left or right camera (and NOT (!!!) the WebVRFreeCamera instance)\r\n * @hidden\r\n */\r\n public _getWebVRViewMatrix(): Matrix {\r\n // Update the parent camera prior to using a child camera to avoid desynchronization\r\n const parentCamera: WebVRFreeCamera = this._cameraRigParams[\"parentCamera\"];\r\n parentCamera._updateCache();\r\n\r\n //WebVR 1.1\r\n const viewArray = this._cameraRigParams[\"left\"] ? this._cameraRigParams[\"frameData\"].leftViewMatrix : this._cameraRigParams[\"frameData\"].rightViewMatrix;\r\n\r\n Matrix.FromArrayToRef(viewArray, 0, this._webvrViewMatrix);\r\n\r\n if (!this.getScene().useRightHandedSystem) {\r\n this._webvrViewMatrix.toggleModelMatrixHandInPlace();\r\n }\r\n\r\n // update the camera rotation matrix\r\n this._webvrViewMatrix.getRotationMatrixToRef(this._cameraRotationMatrix);\r\n Vector3.TransformCoordinatesToRef(this._referencePoint, this._cameraRotationMatrix, this._transformedReferencePoint);\r\n\r\n // Computing target and final matrix\r\n this.position.addToRef(this._transformedReferencePoint, this._currentTarget);\r\n\r\n // should the view matrix be updated with scale and position offset?\r\n if (parentCamera.deviceScaleFactor !== 1) {\r\n this._webvrViewMatrix.invert();\r\n // scale the position, if set\r\n if (parentCamera.deviceScaleFactor) {\r\n this._webvrViewMatrix.multiplyAtIndex(12, parentCamera.deviceScaleFactor);\r\n this._webvrViewMatrix.multiplyAtIndex(13, parentCamera.deviceScaleFactor);\r\n this._webvrViewMatrix.multiplyAtIndex(14, parentCamera.deviceScaleFactor);\r\n }\r\n\r\n this._webvrViewMatrix.invert();\r\n }\r\n\r\n // Remove translation from 6dof headset if trackposition is set to false\r\n parentCamera._correctPositionIfNotTrackPosition(this._webvrViewMatrix, true);\r\n\r\n parentCamera._worldToDevice.multiplyToRef(this._webvrViewMatrix, this._webvrViewMatrix);\r\n\r\n // Compute global position\r\n this._workingMatrix = this._workingMatrix || Matrix.Identity();\r\n this._webvrViewMatrix.invertToRef(this._workingMatrix);\r\n this._workingMatrix.multiplyToRef(parentCamera.getWorldMatrix(), this._workingMatrix);\r\n this._workingMatrix.getTranslationToRef(this._globalPosition);\r\n this._markSyncedWithParent();\r\n\r\n return this._webvrViewMatrix;\r\n }\r\n\r\n /** @hidden */\r\n public _getWebVRProjectionMatrix(): Matrix {\r\n const parentCamera = <WebVRFreeCamera>this.parent;\r\n\r\n parentCamera._vrDevice.depthNear = parentCamera.minZ;\r\n parentCamera._vrDevice.depthFar = parentCamera.maxZ;\r\n\r\n const projectionArray = this._cameraRigParams[\"left\"] ? this._cameraRigParams[\"frameData\"].leftProjectionMatrix : this._cameraRigParams[\"frameData\"].rightProjectionMatrix;\r\n Matrix.FromArrayToRef(projectionArray, 0, this._projectionMatrix);\r\n\r\n //babylon compatible matrix\r\n if (!this.getScene().useRightHandedSystem) {\r\n this._projectionMatrix.toggleProjectionMatrixHandInPlace();\r\n }\r\n\r\n return this._projectionMatrix;\r\n }\r\n\r\n private _onGamepadConnectedObserver: Nullable<Observer<Gamepad>>;\r\n private _onGamepadDisconnectedObserver: Nullable<Observer<Gamepad>>;\r\n private _updateCacheWhenTrackingDisabledObserver: Nullable<Observer<Scene>>;\r\n /**\r\n * Initializes the controllers and their meshes\r\n */\r\n public initControllers() {\r\n this.controllers.length = 0;\r\n\r\n const manager = this.getScene().gamepadManager;\r\n this._onGamepadDisconnectedObserver = manager.onGamepadDisconnectedObservable.add((gamepad) => {\r\n if (gamepad.type === Gamepad.POSE_ENABLED) {\r\n const webVrController: WebVRController = <WebVRController>gamepad;\r\n\r\n if (webVrController.defaultModel) {\r\n webVrController.defaultModel.setEnabled(false);\r\n }\r\n\r\n if (webVrController.hand === \"right\") {\r\n this._rightController = null;\r\n }\r\n if (webVrController.hand === \"left\") {\r\n this._leftController = null;\r\n }\r\n const controllerIndex = this.controllers.indexOf(webVrController);\r\n if (controllerIndex !== -1) {\r\n this.controllers.splice(controllerIndex, 1);\r\n }\r\n }\r\n });\r\n\r\n this._onGamepadConnectedObserver = manager.onGamepadConnectedObservable.add((gamepad) => {\r\n if (gamepad.type === Gamepad.POSE_ENABLED) {\r\n const webVrController: WebVRController = <WebVRController>gamepad;\r\n if (!this._webVROptions.trackPosition) {\r\n webVrController._disableTrackPosition(new Vector3(webVrController.hand == \"left\" ? -0.15 : 0.15, -0.5, 0.25));\r\n // Cache must be updated before rendering controllers to avoid them being one frame behind\r\n if (!this._updateCacheWhenTrackingDisabledObserver) {\r\n this._updateCacheWhenTrackingDisabledObserver = this._scene.onBeforeRenderObservable.add(() => {\r\n this._updateCache();\r\n });\r\n }\r\n }\r\n webVrController.deviceScaleFactor = this.deviceScaleFactor;\r\n webVrController._deviceToWorld.copyFrom(this._deviceToWorld);\r\n this._correctPositionIfNotTrackPosition(webVrController._deviceToWorld);\r\n\r\n if (this._webVROptions.controllerMeshes) {\r\n if (webVrController.defaultModel) {\r\n webVrController.defaultModel.setEnabled(true);\r\n } else {\r\n // Load the meshes\r\n webVrController.initControllerMesh(this.getScene(), (loadedMesh) => {\r\n loadedMesh.scaling.scaleInPlace(this.deviceScaleFactor);\r\n this.onControllerMeshLoadedObservable.notifyObservers(webVrController);\r\n if (this._webVROptions.defaultLightingOnControllers) {\r\n if (!this._lightOnControllers) {\r\n this._lightOnControllers = new HemisphericLight(\"vrControllersLight\", new Vector3(0, 1, 0), this.getScene());\r\n }\r\n const activateLightOnSubMeshes = function (mesh: AbstractMesh, light: HemisphericLight) {\r\n const children = mesh.getChildren();\r\n if (children && children.length !== 0) {\r\n children.forEach((mesh) => {\r\n light.includedOnlyMeshes.push(<AbstractMesh>mesh);\r\n activateLightOnSubMeshes(<AbstractMesh>mesh, light);\r\n });\r\n }\r\n };\r\n this._lightOnControllers.includedOnlyMeshes.push(loadedMesh);\r\n activateLightOnSubMeshes(loadedMesh, this._lightOnControllers);\r\n }\r\n });\r\n }\r\n }\r\n webVrController.attachToPoseControlledCamera(this);\r\n\r\n // since this is async - sanity check. Is the controller already stored?\r\n if (this.controllers.indexOf(webVrController) === -1) {\r\n //add to the controllers array\r\n this.controllers.push(webVrController);\r\n\r\n // Forced to add some control code for Vive as it doesn't always fill properly the \"hand\" property\r\n // Sometimes, both controllers are set correctly (left and right), sometimes none, sometimes only one of them...\r\n // So we're overriding setting left & right manually to be sure\r\n let firstViveWandDetected = false;\r\n\r\n for (let i = 0; i < this.controllers.length; i++) {\r\n if (this.controllers[i].controllerType === PoseEnabledControllerType.VIVE) {\r\n if (!firstViveWandDetected) {\r\n firstViveWandDetected = true;\r\n this.controllers[i].hand = \"left\";\r\n } else {\r\n this.controllers[i].hand = \"right\";\r\n }\r\n }\r\n }\r\n\r\n //did we find enough controllers? Great! let the developer know.\r\n if (this.controllers.length >= 2) {\r\n this.onControllersAttachedObservable.notifyObservers(this.controllers);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"webVRCamera.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Cameras/VR/webVRCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { Observer } from \"../../Misc/observable\";\r\nimport { Observable } from \"../../Misc/observable\";\r\nimport { FreeCamera } from \"../../Cameras/freeCamera\";\r\nimport type { TargetCamera } from \"../../Cameras/targetCamera\";\r\nimport { Camera } from \"../../Cameras/camera\";\r\nimport type { Scene } from \"../../scene\";\r\nimport { Quaternion, Matrix, Vector3 } from \"../../Maths/math.vector\";\r\nimport { Gamepad } from \"../../Gamepads/gamepad\";\r\nimport { PoseEnabledControllerType } from \"../../Gamepads/Controllers/poseEnabledController\";\r\nimport type { WebVRController } from \"../../Gamepads/Controllers/webVRController\";\r\nimport type { IDisplayChangedEventArgs } from \"../../Engines/engine\";\r\nimport { Node } from \"../../node\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport type { Ray } from \"../../Culling/ray\";\r\nimport { HemisphericLight } from \"../../Lights/hemisphericLight\";\r\nimport { Logger } from \"../../Misc/logger\";\r\nimport { VRMultiviewToSingleviewPostProcess } from \"../../PostProcesses/vrMultiviewToSingleviewPostProcess\";\r\nimport { Tools } from \"../../Misc/tools\";\r\nimport { setWebVRRigMode } from \"../RigModes/webVRRigMode\";\r\n\r\n// Side effect import to add webvr support to engine\r\nimport \"../../Engines/Extensions/engine.webVR\";\r\n\r\nNode.AddNodeConstructor(\"WebVRFreeCamera\", (name, scene) => {\r\n return () => new WebVRFreeCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\nNode.AddNodeConstructor(\"WebVRGamepadCamera\", (name, scene) => {\r\n return () => new WebVRFreeCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\n/**\r\n * This is a copy of VRPose. See https://developer.mozilla.org/en-US/docs/Web/API/VRPose\r\n * IMPORTANT!! The data is right-hand data.\r\n * @export\r\n * @interface DevicePose\r\n */\r\nexport interface DevicePose {\r\n /**\r\n * The position of the device, values in array are [x,y,z].\r\n */\r\n readonly position: Nullable<Float32Array>;\r\n /**\r\n * The linearVelocity of the device, values in array are [x,y,z].\r\n */\r\n readonly linearVelocity: Nullable<Float32Array>;\r\n /**\r\n * The linearAcceleration of the device, values in array are [x,y,z].\r\n */\r\n readonly linearAcceleration: Nullable<Float32Array>;\r\n\r\n /**\r\n * The orientation of the device in a quaternion array, values in array are [x,y,z,w].\r\n */\r\n readonly orientation: Nullable<Float32Array>;\r\n /**\r\n * The angularVelocity of the device, values in array are [x,y,z].\r\n */\r\n readonly angularVelocity: Nullable<Float32Array>;\r\n /**\r\n * The angularAcceleration of the device, values in array are [x,y,z].\r\n */\r\n readonly angularAcceleration: Nullable<Float32Array>;\r\n}\r\n\r\n/**\r\n * Interface representing a pose controlled object in Babylon.\r\n * A pose controlled object has both regular pose values as well as pose values\r\n * from an external device such as a VR head mounted display\r\n */\r\nexport interface PoseControlled {\r\n /**\r\n * The position of the object in babylon space.\r\n */\r\n position: Vector3;\r\n /**\r\n * The rotation quaternion of the object in babylon space.\r\n */\r\n rotationQuaternion: Quaternion;\r\n /**\r\n * The position of the device in babylon space.\r\n */\r\n devicePosition?: Vector3;\r\n /**\r\n * The rotation quaternion of the device in babylon space.\r\n */\r\n deviceRotationQuaternion: Quaternion;\r\n /**\r\n * The raw pose coming from the device.\r\n */\r\n rawPose: Nullable<DevicePose>;\r\n /**\r\n * The scale of the device to be used when translating from device space to babylon space.\r\n */\r\n deviceScaleFactor: number;\r\n /**\r\n * Updates the poseControlled values based on the input device pose.\r\n * @param poseData the pose data to update the object with\r\n */\r\n updateFromDevice(poseData: DevicePose): void;\r\n}\r\n\r\n/**\r\n * Set of options to customize the webVRCamera\r\n */\r\nexport interface WebVROptions {\r\n /**\r\n * Sets if the webVR camera should be tracked to the vrDevice. (default: true)\r\n */\r\n trackPosition?: boolean;\r\n /**\r\n * Sets the scale of the vrDevice in babylon space. (default: 1)\r\n */\r\n positionScale?: number;\r\n /**\r\n * If there are more than one VRDisplays, this will choose the display matching this name. (default: pick first vrDisplay)\r\n */\r\n displayName?: string;\r\n /**\r\n * Should the native controller meshes be initialized. (default: true)\r\n */\r\n controllerMeshes?: boolean;\r\n /**\r\n * Creating a default HemiLight only on controllers. (default: true)\r\n */\r\n defaultLightingOnControllers?: boolean;\r\n /**\r\n * If you don't want to use the default VR button of the helper. (default: false)\r\n */\r\n useCustomVRButton?: boolean;\r\n\r\n /**\r\n * If you'd like to provide your own button to the VRHelper. (default: standard babylon vr button)\r\n */\r\n customVRButton?: HTMLButtonElement;\r\n\r\n /**\r\n * To change the length of the ray for gaze/controllers. Will be scaled by positionScale. (default: 100)\r\n */\r\n rayLength?: number;\r\n\r\n /**\r\n * To change the default offset from the ground to account for user's height in meters. Will be scaled by positionScale. (default: 1.7)\r\n */\r\n defaultHeight?: number;\r\n\r\n /**\r\n * If multiview should be used if available (default: false)\r\n */\r\n useMultiview?: boolean;\r\n}\r\n\r\n/**\r\n * This represents a WebVR camera.\r\n * The WebVR camera is Babylon's simple interface to interaction with Windows Mixed Reality, HTC Vive and Oculus Rift.\r\n * @deprecated Use WebXR instead - https://doc.babylonjs.com/divingDeeper/webXR\r\n * @example https://doc.babylonjs.com/how_to/webvr_camera\r\n */\r\nexport class WebVRFreeCamera extends FreeCamera implements PoseControlled {\r\n /**\r\n * @internal\r\n * The vrDisplay tied to the camera. See https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay\r\n */\r\n public _vrDevice: any = null;\r\n /**\r\n * The rawPose of the vrDevice.\r\n */\r\n public rawPose: Nullable<DevicePose> = null;\r\n private _onVREnabled: (success: boolean) => void;\r\n private _specsVersion: string = \"1.1\";\r\n private _attached: boolean = false;\r\n\r\n private _frameData: any;\r\n\r\n protected _descendants: Array<Node> = [];\r\n\r\n // Represents device position and rotation in room space. Should only be used to help calculate babylon space values\r\n private _deviceRoomPosition = Vector3.Zero();\r\n /** @internal */\r\n public _deviceRoomRotationQuaternion = Quaternion.Identity();\r\n\r\n private _standingMatrix: Nullable<Matrix> = null;\r\n\r\n /**\r\n * Represents device position in babylon space.\r\n */\r\n public devicePosition = Vector3.Zero();\r\n /**\r\n * Represents device rotation in babylon space.\r\n */\r\n public deviceRotationQuaternion = Quaternion.Identity();\r\n\r\n /**\r\n * The scale of the device to be used when translating from device space to babylon space.\r\n */\r\n public deviceScaleFactor: number = 1;\r\n\r\n private _deviceToWorld = Matrix.Identity();\r\n private _worldToDevice = Matrix.Identity();\r\n\r\n /**\r\n * References to the webVR controllers for the vrDevice.\r\n */\r\n public controllers: Array<WebVRController> = [];\r\n /**\r\n * Emits an event when a controller is attached.\r\n */\r\n public onControllersAttachedObservable = new Observable<Array<WebVRController>>();\r\n /**\r\n * Emits an event when a controller's mesh has been loaded;\r\n */\r\n public onControllerMeshLoadedObservable = new Observable<WebVRController>();\r\n /**\r\n * Emits an event when the HMD's pose has been updated.\r\n */\r\n public onPoseUpdatedFromDeviceObservable = new Observable<any>();\r\n private _poseSet = false;\r\n /**\r\n * If the rig cameras be used as parent instead of this camera.\r\n */\r\n public rigParenting: boolean = true;\r\n\r\n private _lightOnControllers: HemisphericLight;\r\n\r\n private _defaultHeight?: number = undefined;\r\n\r\n /**\r\n * Instantiates a WebVRFreeCamera.\r\n * @param name The name of the WebVRFreeCamera\r\n * @param position The starting anchor position for the camera\r\n * @param scene The scene the camera belongs to\r\n * @param _webVROptions a set of customizable options for the webVRCamera\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, private _webVROptions: WebVROptions = {}) {\r\n super(name, position, scene);\r\n this._cache.position = Vector3.Zero();\r\n if (_webVROptions.defaultHeight) {\r\n this._defaultHeight = _webVROptions.defaultHeight;\r\n this.position.y = this._defaultHeight;\r\n }\r\n\r\n this.minZ = 0.1;\r\n\r\n //legacy support - the compensation boolean was removed.\r\n if (arguments.length === 5) {\r\n // eslint-disable-next-line prefer-rest-params\r\n this._webVROptions = arguments[4];\r\n }\r\n\r\n // default webVR options\r\n if (this._webVROptions.trackPosition == undefined) {\r\n this._webVROptions.trackPosition = true;\r\n }\r\n if (this._webVROptions.controllerMeshes == undefined) {\r\n this._webVROptions.controllerMeshes = true;\r\n }\r\n if (this._webVROptions.defaultLightingOnControllers == undefined) {\r\n this._webVROptions.defaultLightingOnControllers = true;\r\n }\r\n\r\n this.rotationQuaternion = new Quaternion();\r\n\r\n if (this._webVROptions && this._webVROptions.positionScale) {\r\n this.deviceScaleFactor = this._webVROptions.positionScale;\r\n }\r\n\r\n //enable VR\r\n const engine = this.getEngine();\r\n this._onVREnabled = (success: boolean) => {\r\n if (success) {\r\n this.initControllers();\r\n }\r\n };\r\n engine.onVRRequestPresentComplete.add(this._onVREnabled);\r\n engine.initWebVR().add((event: IDisplayChangedEventArgs) => {\r\n if (!event.vrDisplay || this._vrDevice === event.vrDisplay) {\r\n return;\r\n }\r\n\r\n this._vrDevice = event.vrDisplay;\r\n\r\n //reset the rig parameters.\r\n this.setCameraRigMode(Camera.RIG_MODE_WEBVR, { parentCamera: this, vrDisplay: this._vrDevice, frameData: this._frameData, specs: this._specsVersion });\r\n\r\n if (this._attached) {\r\n this.getEngine().enableVR(this._webVROptions);\r\n }\r\n });\r\n\r\n if (typeof VRFrameData !== \"undefined\") {\r\n this._frameData = new VRFrameData();\r\n }\r\n\r\n if (_webVROptions.useMultiview) {\r\n if (!this.getScene().getEngine().getCaps().multiview) {\r\n Logger.Warn(\"Multiview is not supported, falling back to standard rendering\");\r\n this._useMultiviewToSingleView = false;\r\n } else {\r\n this._useMultiviewToSingleView = true;\r\n this._rigPostProcess = new VRMultiviewToSingleviewPostProcess(\"VRMultiviewToSingleview\", this, 1.0);\r\n }\r\n }\r\n\r\n /**\r\n * The idea behind the following lines:\r\n * objects that have the camera as parent should actually have the rig cameras as a parent.\r\n * BUT, each of those cameras has a different view matrix, which means that if we set the parent to the first rig camera,\r\n * the second will not show it correctly.\r\n *\r\n * To solve this - each object that has the camera as parent will be added to a protected array.\r\n * When the rig camera renders, it will take this array and set all of those to be its children.\r\n * This way, the right camera will be used as a parent, and the mesh will be rendered correctly.\r\n * Amazing!\r\n */\r\n this.getScene().onBeforeCameraRenderObservable.add((camera) => {\r\n if (camera.parent === this && this.rigParenting) {\r\n this._descendants = this.getDescendants(true, (n) => {\r\n // don't take the cameras or the controllers!\r\n const isController = this.controllers.some((controller) => {\r\n return controller._mesh === n;\r\n });\r\n const isRigCamera = this._rigCameras.indexOf(<Camera>n) !== -1;\r\n return !isController && !isRigCamera;\r\n });\r\n this._descendants.forEach((node) => {\r\n node.parent = camera;\r\n });\r\n }\r\n });\r\n\r\n this.getScene().onAfterCameraRenderObservable.add((camera) => {\r\n if (camera.parent === this && this.rigParenting) {\r\n this._descendants.forEach((node) => {\r\n node.parent = this;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected _setRigMode = setWebVRRigMode.bind(null, this);\r\n\r\n /**\r\n * Gets the device distance from the ground in meters.\r\n * @returns the distance in meters from the vrDevice to ground in device space. If standing matrix is not supported for the vrDevice 0 is returned.\r\n */\r\n public deviceDistanceToRoomGround(): number {\r\n if (this._standingMatrix) {\r\n // Add standing matrix offset to get real offset from ground in room\r\n this._standingMatrix.getTranslationToRef(this._workingVector);\r\n return this._deviceRoomPosition.y + this._workingVector.y;\r\n }\r\n //If VRDisplay does not inform stage parameters and no default height is set we fallback to zero.\r\n return this._defaultHeight || 0;\r\n }\r\n\r\n /**\r\n * Enables the standing matrix when supported. This can be used to position the user's view the correct height from the ground.\r\n * @param callback will be called when the standing matrix is set. Callback parameter is if the standing matrix is supported.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public useStandingMatrix(callback = (bool: boolean) => {}) {\r\n // Use standing matrix if available\r\n this.getEngine()\r\n .initWebVRAsync()\r\n .then((result) => {\r\n if (!result.vrDisplay || !result.vrDisplay.stageParameters || !result.vrDisplay.stageParameters.sittingToStandingTransform || !this._webVROptions.trackPosition) {\r\n callback(false);\r\n } else {\r\n this._standingMatrix = new Matrix();\r\n Matrix.FromFloat32ArrayToRefScaled(result.vrDisplay.stageParameters.sittingToStandingTransform, 0, 1, this._standingMatrix);\r\n if (!this.getScene().useRightHandedSystem) {\r\n if (this._standingMatrix) {\r\n this._standingMatrix.toggleModelMatrixHandInPlace();\r\n }\r\n }\r\n callback(true);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Enables the standing matrix when supported. This can be used to position the user's view the correct height from the ground.\r\n * @returns A promise with a boolean set to if the standing matrix is supported.\r\n */\r\n public useStandingMatrixAsync(): Promise<boolean> {\r\n return new Promise((res) => {\r\n this.useStandingMatrix((supported) => {\r\n res(supported);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Disposes the camera\r\n */\r\n public dispose(): void {\r\n this._detachIfAttached();\r\n this.getEngine().onVRRequestPresentComplete.removeCallback(this._onVREnabled);\r\n if (this._updateCacheWhenTrackingDisabledObserver) {\r\n this._scene.onBeforeRenderObservable.remove(this._updateCacheWhenTrackingDisabledObserver);\r\n }\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Gets a vrController by name.\r\n * @param name The name of the controller to retrieve\r\n * @returns the controller matching the name specified or null if not found\r\n */\r\n public getControllerByName(name: string): Nullable<WebVRController> {\r\n for (const gp of this.controllers) {\r\n if (gp.hand === name) {\r\n return gp;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _leftController: Nullable<WebVRController>;\r\n /**\r\n * The controller corresponding to the users left hand.\r\n */\r\n public get leftController(): Nullable<WebVRController> {\r\n if (!this._leftController) {\r\n this._leftController = this.getControllerByName(\"left\");\r\n }\r\n\r\n return this._leftController;\r\n }\r\n\r\n private _rightController: Nullable<WebVRController>;\r\n /**\r\n * The controller corresponding to the users right hand.\r\n */\r\n public get rightController(): Nullable<WebVRController> {\r\n if (!this._rightController) {\r\n this._rightController = this.getControllerByName(\"right\");\r\n }\r\n\r\n return this._rightController;\r\n }\r\n\r\n /**\r\n * Casts a ray forward from the vrCamera's gaze.\r\n * @param length Length of the ray (default: 100)\r\n * @returns the ray corresponding to the gaze\r\n */\r\n public getForwardRay(length = 100): Ray {\r\n if (this.leftCamera) {\r\n // Use left eye to avoid computation to compute center on every call\r\n return super.getForwardRay(length, this.leftCamera.getWorldMatrix(), this.leftCamera.globalPosition); // Need the actual rendered camera\r\n } else {\r\n return super.getForwardRay(length);\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n * Updates the camera based on device's frame data\r\n */\r\n public _checkInputs(): void {\r\n if (this._vrDevice && this._vrDevice.isPresenting) {\r\n this._vrDevice.getFrameData(this._frameData);\r\n\r\n this.updateFromDevice(this._frameData.pose);\r\n }\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /**\r\n * Updates the poseControlled values based on the input device pose.\r\n * @param poseData Pose coming from the device\r\n */\r\n updateFromDevice(poseData: DevicePose) {\r\n if (poseData && poseData.orientation && poseData.orientation.length === 4) {\r\n this.rawPose = poseData;\r\n this._deviceRoomRotationQuaternion.copyFromFloats(poseData.orientation[0], poseData.orientation[1], -poseData.orientation[2], -poseData.orientation[3]);\r\n\r\n if (this.getScene().useRightHandedSystem) {\r\n this._deviceRoomRotationQuaternion.z *= -1;\r\n this._deviceRoomRotationQuaternion.w *= -1;\r\n }\r\n if (this._webVROptions.trackPosition && this.rawPose.position) {\r\n this._deviceRoomPosition.copyFromFloats(this.rawPose.position[0], this.rawPose.position[1], -this.rawPose.position[2]);\r\n if (this.getScene().useRightHandedSystem) {\r\n this._deviceRoomPosition.z *= -1;\r\n }\r\n }\r\n this._poseSet = true;\r\n }\r\n }\r\n\r\n private _detachIfAttached = () => {\r\n const vrDisplay = this.getEngine().getVRDevice();\r\n if (vrDisplay && !vrDisplay.isPresenting) {\r\n this.detachControl();\r\n }\r\n };\r\n\r\n /**\r\n * WebVR's attach control will start broadcasting frames to the device.\r\n * Note that in certain browsers (chrome for example) this function must be called\r\n * within a user-interaction callback. Example:\r\n * <pre> scene.onPointerDown = function() { camera.attachControl(canvas); }</pre>\r\n *\r\n * @param noPreventDefault prevent the default html element operation when attaching the vrDevice\r\n */\r\n public attachControl(noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n super.attachControl(noPreventDefault);\r\n this._attached = true;\r\n\r\n noPreventDefault = Camera.ForceAttachControlToAlwaysPreventDefault ? false : noPreventDefault;\r\n\r\n if (this._vrDevice) {\r\n this.getEngine().enableVR(this._webVROptions);\r\n }\r\n\r\n const hostWindow = this._scene.getEngine().getHostWindow();\r\n\r\n if (hostWindow) {\r\n hostWindow.addEventListener(\"vrdisplaypresentchange\", this._detachIfAttached);\r\n }\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.getScene().gamepadManager.onGamepadConnectedObservable.remove(this._onGamepadConnectedObserver);\r\n this.getScene().gamepadManager.onGamepadDisconnectedObservable.remove(this._onGamepadDisconnectedObserver);\r\n\r\n super.detachControl();\r\n this._attached = false;\r\n this.getEngine().disableVR();\r\n window.removeEventListener(\"vrdisplaypresentchange\", this._detachIfAttached);\r\n }\r\n\r\n /**\r\n * @returns the name of this class\r\n */\r\n public getClassName(): string {\r\n return \"WebVRFreeCamera\";\r\n }\r\n\r\n /**\r\n * Calls resetPose on the vrDisplay\r\n * See: https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay/resetPose\r\n */\r\n public resetToCurrentRotation() {\r\n //uses the vrDisplay's \"resetPose()\".\r\n //pitch and roll won't be affected.\r\n this._vrDevice.resetPose();\r\n }\r\n\r\n /**\r\n * @internal\r\n * Updates the rig cameras (left and right eye)\r\n */\r\n public _updateRigCameras() {\r\n const camLeft = <TargetCamera>this._rigCameras[0];\r\n const camRight = <TargetCamera>this._rigCameras[1];\r\n camLeft.rotationQuaternion.copyFrom(this._deviceRoomRotationQuaternion);\r\n camRight.rotationQuaternion.copyFrom(this._deviceRoomRotationQuaternion);\r\n\r\n camLeft.position.copyFrom(this._deviceRoomPosition);\r\n camRight.position.copyFrom(this._deviceRoomPosition);\r\n }\r\n\r\n private _workingVector = Vector3.Zero();\r\n private _oneVector = Vector3.One();\r\n private _workingMatrix = Matrix.Identity();\r\n\r\n private _updateCacheCalled: boolean;\r\n\r\n // Remove translation from 6dof headset if trackposition is set to false\r\n private _correctPositionIfNotTrackPosition(matrix: Matrix, isViewMatrix = false) {\r\n if (this.rawPose && this.rawPose.position && !this._webVROptions.trackPosition) {\r\n Matrix.TranslationToRef(this.rawPose.position[0], this.rawPose.position[1], -this.rawPose.position[2], this._tmpMatrix);\r\n if (!isViewMatrix) {\r\n this._tmpMatrix.invert();\r\n }\r\n this._tmpMatrix.multiplyToRef(matrix, matrix);\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n * Updates the cached values of the camera\r\n * @param ignoreParentClass ignores updating the parent class's cache (default: false)\r\n */\r\n public _updateCache(ignoreParentClass?: boolean): void {\r\n if (!this.rotationQuaternion.equals(this._cache.rotationQuaternion) || !this.position.equals(this._cache.position)) {\r\n // Update to ensure devicePosition is up to date with most recent _deviceRoomPosition\r\n if (!this._updateCacheCalled) {\r\n // make sure it is only called once per loop. this.update() might cause an infinite loop.\r\n this._updateCacheCalled = true;\r\n this.update();\r\n }\r\n\r\n // Set working vector to the device position in room space rotated by the new rotation\r\n this.rotationQuaternion.toRotationMatrix(this._workingMatrix);\r\n Vector3.TransformCoordinatesToRef(this._deviceRoomPosition, this._workingMatrix, this._workingVector);\r\n\r\n // Subtract this vector from the current device position in world to get the translation for the device world matrix\r\n this.devicePosition.subtractToRef(this._workingVector, this._workingVector);\r\n Matrix.ComposeToRef(this._oneVector, this.rotationQuaternion, this._workingVector, this._deviceToWorld);\r\n\r\n // Add translation from anchor position\r\n this._deviceToWorld.getTranslationToRef(this._workingVector);\r\n this._workingVector.addInPlace(this.position);\r\n this._workingVector.subtractInPlace(this._cache.position);\r\n this._deviceToWorld.setTranslation(this._workingVector);\r\n\r\n // Set an inverted matrix to be used when updating the camera\r\n this._deviceToWorld.invertToRef(this._worldToDevice);\r\n\r\n // Update the gamepad to ensure the mesh is updated on the same frame as camera\r\n this.controllers.forEach((controller) => {\r\n controller._deviceToWorld.copyFrom(this._deviceToWorld);\r\n this._correctPositionIfNotTrackPosition(controller._deviceToWorld);\r\n controller.update();\r\n });\r\n }\r\n\r\n if (!ignoreParentClass) {\r\n super._updateCache();\r\n }\r\n this._updateCacheCalled = false;\r\n }\r\n\r\n /**\r\n * @internal\r\n * Get current device position in babylon world\r\n */\r\n public _computeDevicePosition() {\r\n Vector3.TransformCoordinatesToRef(this._deviceRoomPosition, this._deviceToWorld, this.devicePosition);\r\n }\r\n\r\n /**\r\n * Updates the current device position and rotation in the babylon world\r\n */\r\n public update() {\r\n this._computeDevicePosition();\r\n\r\n // Get current device rotation in babylon world\r\n Matrix.FromQuaternionToRef(this._deviceRoomRotationQuaternion, this._workingMatrix);\r\n this._workingMatrix.multiplyToRef(this._deviceToWorld, this._workingMatrix);\r\n Quaternion.FromRotationMatrixToRef(this._workingMatrix, this.deviceRotationQuaternion);\r\n\r\n if (this._poseSet) {\r\n this.onPoseUpdatedFromDeviceObservable.notifyObservers(null);\r\n }\r\n super.update();\r\n }\r\n\r\n /**\r\n * @internal\r\n * Gets the view matrix of this camera (Always set to identity as left and right eye cameras contain the actual view matrix)\r\n * @returns an identity matrix\r\n */\r\n public _getViewMatrix(): Matrix {\r\n return Matrix.Identity();\r\n }\r\n\r\n private _tmpMatrix = new Matrix();\r\n /**\r\n * This function is called by the two RIG cameras.\r\n * 'this' is the left or right camera (and NOT (!!!) the WebVRFreeCamera instance)\r\n * @internal\r\n */\r\n public _getWebVRViewMatrix(): Matrix {\r\n // Update the parent camera prior to using a child camera to avoid desynchronization\r\n const parentCamera: WebVRFreeCamera = this._cameraRigParams[\"parentCamera\"];\r\n parentCamera._updateCache();\r\n\r\n //WebVR 1.1\r\n const viewArray = this._cameraRigParams[\"left\"] ? this._cameraRigParams[\"frameData\"].leftViewMatrix : this._cameraRigParams[\"frameData\"].rightViewMatrix;\r\n\r\n Matrix.FromArrayToRef(viewArray, 0, this._webvrViewMatrix);\r\n\r\n if (!this.getScene().useRightHandedSystem) {\r\n this._webvrViewMatrix.toggleModelMatrixHandInPlace();\r\n }\r\n\r\n // update the camera rotation matrix\r\n this._webvrViewMatrix.getRotationMatrixToRef(this._cameraRotationMatrix);\r\n Vector3.TransformCoordinatesToRef(this._referencePoint, this._cameraRotationMatrix, this._transformedReferencePoint);\r\n\r\n // Computing target and final matrix\r\n this.position.addToRef(this._transformedReferencePoint, this._currentTarget);\r\n\r\n // should the view matrix be updated with scale and position offset?\r\n if (parentCamera.deviceScaleFactor !== 1) {\r\n this._webvrViewMatrix.invert();\r\n // scale the position, if set\r\n if (parentCamera.deviceScaleFactor) {\r\n this._webvrViewMatrix.multiplyAtIndex(12, parentCamera.deviceScaleFactor);\r\n this._webvrViewMatrix.multiplyAtIndex(13, parentCamera.deviceScaleFactor);\r\n this._webvrViewMatrix.multiplyAtIndex(14, parentCamera.deviceScaleFactor);\r\n }\r\n\r\n this._webvrViewMatrix.invert();\r\n }\r\n\r\n // Remove translation from 6dof headset if trackposition is set to false\r\n parentCamera._correctPositionIfNotTrackPosition(this._webvrViewMatrix, true);\r\n\r\n parentCamera._worldToDevice.multiplyToRef(this._webvrViewMatrix, this._webvrViewMatrix);\r\n\r\n // Compute global position\r\n this._workingMatrix = this._workingMatrix || Matrix.Identity();\r\n this._webvrViewMatrix.invertToRef(this._workingMatrix);\r\n this._workingMatrix.multiplyToRef(parentCamera.getWorldMatrix(), this._workingMatrix);\r\n this._workingMatrix.getTranslationToRef(this._globalPosition);\r\n this._markSyncedWithParent();\r\n\r\n return this._webvrViewMatrix;\r\n }\r\n\r\n /** @internal */\r\n public _getWebVRProjectionMatrix(): Matrix {\r\n const parentCamera = <WebVRFreeCamera>this.parent;\r\n\r\n parentCamera._vrDevice.depthNear = parentCamera.minZ;\r\n parentCamera._vrDevice.depthFar = parentCamera.maxZ;\r\n\r\n const projectionArray = this._cameraRigParams[\"left\"] ? this._cameraRigParams[\"frameData\"].leftProjectionMatrix : this._cameraRigParams[\"frameData\"].rightProjectionMatrix;\r\n Matrix.FromArrayToRef(projectionArray, 0, this._projectionMatrix);\r\n\r\n //babylon compatible matrix\r\n if (!this.getScene().useRightHandedSystem) {\r\n this._projectionMatrix.toggleProjectionMatrixHandInPlace();\r\n }\r\n\r\n return this._projectionMatrix;\r\n }\r\n\r\n private _onGamepadConnectedObserver: Nullable<Observer<Gamepad>>;\r\n private _onGamepadDisconnectedObserver: Nullable<Observer<Gamepad>>;\r\n private _updateCacheWhenTrackingDisabledObserver: Nullable<Observer<Scene>>;\r\n /**\r\n * Initializes the controllers and their meshes\r\n */\r\n public initControllers() {\r\n this.controllers.length = 0;\r\n\r\n const manager = this.getScene().gamepadManager;\r\n this._onGamepadDisconnectedObserver = manager.onGamepadDisconnectedObservable.add((gamepad) => {\r\n if (gamepad.type === Gamepad.POSE_ENABLED) {\r\n const webVrController: WebVRController = <WebVRController>gamepad;\r\n\r\n if (webVrController.defaultModel) {\r\n webVrController.defaultModel.setEnabled(false);\r\n }\r\n\r\n if (webVrController.hand === \"right\") {\r\n this._rightController = null;\r\n }\r\n if (webVrController.hand === \"left\") {\r\n this._leftController = null;\r\n }\r\n const controllerIndex = this.controllers.indexOf(webVrController);\r\n if (controllerIndex !== -1) {\r\n this.controllers.splice(controllerIndex, 1);\r\n }\r\n }\r\n });\r\n\r\n this._onGamepadConnectedObserver = manager.onGamepadConnectedObservable.add((gamepad) => {\r\n if (gamepad.type === Gamepad.POSE_ENABLED) {\r\n const webVrController: WebVRController = <WebVRController>gamepad;\r\n if (!this._webVROptions.trackPosition) {\r\n webVrController._disableTrackPosition(new Vector3(webVrController.hand == \"left\" ? -0.15 : 0.15, -0.5, 0.25));\r\n // Cache must be updated before rendering controllers to avoid them being one frame behind\r\n if (!this._updateCacheWhenTrackingDisabledObserver) {\r\n this._updateCacheWhenTrackingDisabledObserver = this._scene.onBeforeRenderObservable.add(() => {\r\n this._updateCache();\r\n });\r\n }\r\n }\r\n webVrController.deviceScaleFactor = this.deviceScaleFactor;\r\n webVrController._deviceToWorld.copyFrom(this._deviceToWorld);\r\n this._correctPositionIfNotTrackPosition(webVrController._deviceToWorld);\r\n\r\n if (this._webVROptions.controllerMeshes) {\r\n if (webVrController.defaultModel) {\r\n webVrController.defaultModel.setEnabled(true);\r\n } else {\r\n // Load the meshes\r\n webVrController.initControllerMesh(this.getScene(), (loadedMesh) => {\r\n loadedMesh.scaling.scaleInPlace(this.deviceScaleFactor);\r\n this.onControllerMeshLoadedObservable.notifyObservers(webVrController);\r\n if (this._webVROptions.defaultLightingOnControllers) {\r\n if (!this._lightOnControllers) {\r\n this._lightOnControllers = new HemisphericLight(\"vrControllersLight\", new Vector3(0, 1, 0), this.getScene());\r\n }\r\n const activateLightOnSubMeshes = function (mesh: AbstractMesh, light: HemisphericLight) {\r\n const children = mesh.getChildren();\r\n if (children && children.length !== 0) {\r\n children.forEach((mesh) => {\r\n light.includedOnlyMeshes.push(<AbstractMesh>mesh);\r\n activateLightOnSubMeshes(<AbstractMesh>mesh, light);\r\n });\r\n }\r\n };\r\n this._lightOnControllers.includedOnlyMeshes.push(loadedMesh);\r\n activateLightOnSubMeshes(loadedMesh, this._lightOnControllers);\r\n }\r\n });\r\n }\r\n }\r\n webVrController.attachToPoseControlledCamera(this);\r\n\r\n // since this is async - sanity check. Is the controller already stored?\r\n if (this.controllers.indexOf(webVrController) === -1) {\r\n //add to the controllers array\r\n this.controllers.push(webVrController);\r\n\r\n // Forced to add some control code for Vive as it doesn't always fill properly the \"hand\" property\r\n // Sometimes, both controllers are set correctly (left and right), sometimes none, sometimes only one of them...\r\n // So we're overriding setting left & right manually to be sure\r\n let firstViveWandDetected = false;\r\n\r\n for (let i = 0; i < this.controllers.length; i++) {\r\n if (this.controllers[i].controllerType === PoseEnabledControllerType.VIVE) {\r\n if (!firstViveWandDetected) {\r\n firstViveWandDetected = true;\r\n this.controllers[i].hand = \"left\";\r\n } else {\r\n this.controllers[i].hand = \"right\";\r\n }\r\n }\r\n }\r\n\r\n //did we find enough controllers? Great! let the developer know.\r\n if (this.controllers.length >= 2) {\r\n this.onControllersAttachedObservable.notifyObservers(this.controllers);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -237,17 +237,17 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
237
237
|
* Define if double tap/click is used to restore the previously saved state of the camera.
|
|
238
238
|
*/
|
|
239
239
|
useInputToRestoreState: boolean;
|
|
240
|
-
/** @
|
|
240
|
+
/** @internal */
|
|
241
241
|
_viewMatrix: Matrix;
|
|
242
|
-
/** @
|
|
242
|
+
/** @internal */
|
|
243
243
|
_useCtrlForPanning: boolean;
|
|
244
|
-
/** @
|
|
244
|
+
/** @internal */
|
|
245
245
|
_panningMouseButton: number;
|
|
246
246
|
/**
|
|
247
247
|
* Defines the input associated to the camera.
|
|
248
248
|
*/
|
|
249
249
|
inputs: ArcRotateCameraInputsManager;
|
|
250
|
-
/** @
|
|
250
|
+
/** @internal */
|
|
251
251
|
_reset: () => void;
|
|
252
252
|
/**
|
|
253
253
|
* Defines the allowed panning axis.
|
|
@@ -334,11 +334,10 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
334
334
|
* @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
|
|
335
335
|
*/
|
|
336
336
|
constructor(name: string, alpha: number, beta: number, radius: number, target: Vector3, scene?: Scene, setActiveOnSceneIfNoneActive?: boolean);
|
|
337
|
-
/** @
|
|
337
|
+
/** @internal */
|
|
338
338
|
_initCache(): void;
|
|
339
339
|
/**
|
|
340
|
-
* @
|
|
341
|
-
* @hidden
|
|
340
|
+
* @internal
|
|
342
341
|
*/
|
|
343
342
|
_updateCache(ignoreParentClass?: boolean): void;
|
|
344
343
|
protected _getTargetPosition(): Vector3;
|
|
@@ -353,11 +352,11 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
353
352
|
*/
|
|
354
353
|
storeState(): Camera;
|
|
355
354
|
/**
|
|
356
|
-
* @
|
|
355
|
+
* @internal
|
|
357
356
|
* Restored camera state. You must call storeState() first
|
|
358
357
|
*/
|
|
359
358
|
_restoreStateValues(): boolean;
|
|
360
|
-
/** @
|
|
359
|
+
/** @internal */
|
|
361
360
|
_isSynchronizedViewMatrix(): boolean;
|
|
362
361
|
/**
|
|
363
362
|
* Attach the input controls to a specific dom element to get the input from.
|
|
@@ -394,7 +393,7 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
394
393
|
* Detach the current controls from the specified dom element.
|
|
395
394
|
*/
|
|
396
395
|
detachControl(): void;
|
|
397
|
-
/** @
|
|
396
|
+
/** @internal */
|
|
398
397
|
_checkInputs(): void;
|
|
399
398
|
protected _checkLimits(): void;
|
|
400
399
|
/**
|
|
@@ -416,7 +415,7 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
416
415
|
* @param cloneAlphaBetaRadius If true, replicate the current setup (alpha, beta, radius) on the new target
|
|
417
416
|
*/
|
|
418
417
|
setTarget(target: AbstractMesh | Vector3, toBoundingCenter?: boolean, allowSamePosition?: boolean, cloneAlphaBetaRadius?: boolean): void;
|
|
419
|
-
/** @
|
|
418
|
+
/** @internal */
|
|
420
419
|
_getViewMatrix(): Matrix;
|
|
421
420
|
protected _onCollisionPositionChange: (collisionId: number, newPosition: Vector3, collidedMesh?: Nullable<AbstractMesh>) => void;
|
|
422
421
|
/**
|
|
@@ -442,7 +441,7 @@ export declare class ArcRotateCamera extends TargetCamera {
|
|
|
442
441
|
*/
|
|
443
442
|
createRigCamera(name: string, cameraIndex: number): Camera;
|
|
444
443
|
/**
|
|
445
|
-
* @
|
|
444
|
+
* @internal
|
|
446
445
|
* @override
|
|
447
446
|
* Override Camera._updateRigCameras
|
|
448
447
|
*/
|
|
@@ -126,7 +126,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
126
126
|
* Define if double tap/click is used to restore the previously saved state of the camera.
|
|
127
127
|
*/
|
|
128
128
|
this.useInputToRestoreState = true;
|
|
129
|
-
/** @
|
|
129
|
+
/** @internal */
|
|
130
130
|
this._viewMatrix = new Matrix();
|
|
131
131
|
/**
|
|
132
132
|
* Defines the allowed panning axis.
|
|
@@ -565,7 +565,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
565
565
|
}
|
|
566
566
|
}
|
|
567
567
|
// Cache
|
|
568
|
-
/** @
|
|
568
|
+
/** @internal */
|
|
569
569
|
_initCache() {
|
|
570
570
|
super._initCache();
|
|
571
571
|
this._cache._target = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
@@ -575,8 +575,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
575
575
|
this._cache.targetScreenOffset = Vector2.Zero();
|
|
576
576
|
}
|
|
577
577
|
/**
|
|
578
|
-
* @
|
|
579
|
-
* @hidden
|
|
578
|
+
* @internal
|
|
580
579
|
*/
|
|
581
580
|
_updateCache(ignoreParentClass) {
|
|
582
581
|
if (!ignoreParentClass) {
|
|
@@ -617,7 +616,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
617
616
|
return super.storeState();
|
|
618
617
|
}
|
|
619
618
|
/**
|
|
620
|
-
* @
|
|
619
|
+
* @internal
|
|
621
620
|
* Restored camera state. You must call storeState() first
|
|
622
621
|
*/
|
|
623
622
|
_restoreStateValues() {
|
|
@@ -637,7 +636,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
637
636
|
return true;
|
|
638
637
|
}
|
|
639
638
|
// Synchronized
|
|
640
|
-
/** @
|
|
639
|
+
/** @internal */
|
|
641
640
|
_isSynchronizedViewMatrix() {
|
|
642
641
|
if (!super._isSynchronizedViewMatrix()) {
|
|
643
642
|
return false;
|
|
@@ -688,7 +687,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
688
687
|
this._reset();
|
|
689
688
|
}
|
|
690
689
|
}
|
|
691
|
-
/** @
|
|
690
|
+
/** @internal */
|
|
692
691
|
_checkInputs() {
|
|
693
692
|
//if (async) collision inspection was triggered, don't update the camera's position - until the collision callback was called.
|
|
694
693
|
if (this._collisionTriggered) {
|
|
@@ -876,7 +875,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
876
875
|
this.rebuildAnglesAndRadius();
|
|
877
876
|
}
|
|
878
877
|
}
|
|
879
|
-
/** @
|
|
878
|
+
/** @internal */
|
|
880
879
|
_getViewMatrix() {
|
|
881
880
|
// Compute
|
|
882
881
|
const cosa = Math.cos(this.alpha);
|
|
@@ -988,7 +987,7 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
988
987
|
return rigCam;
|
|
989
988
|
}
|
|
990
989
|
/**
|
|
991
|
-
* @
|
|
990
|
+
* @internal
|
|
992
991
|
* @override
|
|
993
992
|
* Override Camera._updateRigCameras
|
|
994
993
|
*/
|