@babylonjs/core 7.53.3 → 7.54.1
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/AudioV2/abstractAudio/abstractAudioBus.d.ts +2 -3
- package/AudioV2/abstractAudio/abstractAudioBus.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSound.d.ts +2 -3
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/audioEngineV2.d.ts +11 -1
- package/AudioV2/abstractAudio/audioEngineV2.js +14 -1
- package/AudioV2/abstractAudio/audioEngineV2.js.map +1 -1
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.d.ts +1 -1
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +4 -2
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +13 -13
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.d.ts +5 -2
- package/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.js +11 -9
- package/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/volumeWebAudioSubNode.d.ts +5 -2
- package/AudioV2/webAudio/subNodes/volumeWebAudioSubNode.js +11 -9
- package/AudioV2/webAudio/subNodes/volumeWebAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.d.ts +1 -1
- package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.js +2 -2
- package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/webAudioBaseSubGraph.d.ts +3 -3
- package/AudioV2/webAudio/subNodes/webAudioBaseSubGraph.js +9 -9
- package/AudioV2/webAudio/subNodes/webAudioBaseSubGraph.js.map +1 -1
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.d.ts +2 -2
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.js +11 -11
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.js.map +1 -1
- package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +11 -10
- package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
- package/AudioV2/webAudio/webAudioBus.d.ts +6 -6
- package/AudioV2/webAudio/webAudioBus.js +27 -8
- package/AudioV2/webAudio/webAudioBus.js.map +1 -1
- package/AudioV2/webAudio/webAudioEngine.d.ts +19 -7
- package/AudioV2/webAudio/webAudioEngine.js +43 -29
- package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
- package/AudioV2/webAudio/webAudioMainBus.d.ts +3 -5
- package/AudioV2/webAudio/webAudioMainBus.js +11 -12
- package/AudioV2/webAudio/webAudioMainBus.js.map +1 -1
- package/AudioV2/webAudio/webAudioMainOut.d.ts +4 -1
- package/AudioV2/webAudio/webAudioMainOut.js +6 -4
- package/AudioV2/webAudio/webAudioMainOut.js.map +1 -1
- package/AudioV2/webAudio/webAudioNode.d.ts +2 -2
- package/AudioV2/webAudio/webAudioNode.js.map +1 -1
- package/AudioV2/webAudio/webAudioStaticSound.d.ts +7 -7
- package/AudioV2/webAudio/webAudioStaticSound.js +29 -29
- package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStreamingSound.d.ts +6 -6
- package/AudioV2/webAudio/webAudioStreamingSound.js +27 -27
- package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioUnmuteUI.d.ts +15 -0
- package/AudioV2/webAudio/webAudioUnmuteUI.js +46 -0
- package/AudioV2/webAudio/webAudioUnmuteUI.js.map +1 -0
- package/Behaviors/Meshes/pointerDragBehavior.js +10 -0
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.d.ts +4 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +10 -7
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/DeviceInput/webDeviceInputSystem.js +21 -3
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- package/Engines/abstractEngine.js +5 -11
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/thinEngine.d.ts +2 -1
- package/Engines/thinEngine.js +10 -2
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +2 -1
- package/Engines/webgpuEngine.js +3 -2
- package/Engines/webgpuEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js +3 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +6 -0
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +16 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js +33 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +6 -6
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +31 -4
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +21 -1
- package/FlowGraph/flowGraphCoordinator.js +51 -2
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphParser.js +3 -0
- package/FlowGraph/flowGraphParser.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +4 -4
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.js +25 -15
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +6 -6
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +4 -2
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +2 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js +2 -0
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.js +4 -2
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js +2 -2
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/{Rendering/cullObjectsBlock.d.ts → cullObjectsBlock.d.ts} +3 -3
- package/FrameGraph/Node/Blocks/{Rendering/cullObjectsBlock.js → cullObjectsBlock.js} +4 -4
- package/FrameGraph/Node/Blocks/cullObjectsBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/executeBlock.js +1 -2
- package/FrameGraph/Node/Blocks/executeBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/index.d.ts +1 -1
- package/FrameGraph/Node/Blocks/index.js +1 -1
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/Blocks/resourceContainerBlock.js +16 -16
- package/FrameGraph/Node/Blocks/resourceContainerBlock.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +1 -1
- package/FrameGraph/Node/nodeRenderGraphBlock.js +5 -4
- package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
- package/FrameGraph/Tasks/Layers/baseLayerTask.js +4 -4
- package/FrameGraph/Tasks/Layers/baseLayerTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/cullObjectsTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js +2 -2
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js +2 -2
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.js +4 -4
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.js.map +1 -1
- package/FrameGraph/index.d.ts +1 -1
- package/FrameGraph/index.js +1 -1
- package/FrameGraph/index.js.map +1 -1
- package/Gizmos/gizmo.js +25 -17
- package/Gizmos/gizmo.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.js +4 -0
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +4 -3
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +26 -17
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/shadowMapBlock.js +8 -0
- package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +2 -0
- package/Materials/Node/nodeMaterial.js +6 -1
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +11 -2
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.js +41 -13
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +11 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.js +11 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +1 -1
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +1 -0
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +3 -0
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/material.js +1 -1
- package/Materials/material.js.map +1 -1
- package/Meshes/Node/Blocks/conditionBlock.d.ts +4 -0
- package/Meshes/Node/Blocks/conditionBlock.js +19 -8
- package/Meshes/Node/Blocks/conditionBlock.js.map +1 -1
- package/Misc/decorators.js +2 -2
- package/Misc/decorators.js.map +1 -1
- package/Misc/sceneSerializer.js +2 -0
- package/Misc/sceneSerializer.js.map +1 -1
- package/Physics/v2/Plugins/havokPlugin.js +1 -0
- package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
- package/PostProcesses/subSurfaceScatteringPostProcess.d.ts +3 -0
- package/PostProcesses/subSurfaceScatteringPostProcess.js +16 -1
- package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.js +5 -1
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js +3 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +3 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js +3 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js +3 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +3 -1
- package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js +3 -1
- package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js +3 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +3 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js +3 -1
- package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +3 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/decalFragment.js +3 -1
- package/Shaders/ShadersInclude/decalFragment.js.map +1 -1
- package/Shaders/ShadersInclude/decalFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/decalFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/decalVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/decalVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js +3 -1
- package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js +3 -1
- package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
- package/Shaders/ShadersInclude/fibonacci.js +3 -2
- package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragment.js +3 -1
- package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertex.js +3 -1
- package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js +3 -1
- package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js +3 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplattingFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/gaussianSplattingFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplattingUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/gaussianSplattingUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js +3 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +3 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +3 -1
- package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js +3 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js +3 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js +3 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +3 -1
- package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +3 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +3 -1
- package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/intersectionFunctions.js +3 -1
- package/Shaders/ShadersInclude/intersectionFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js +3 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js +3 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +3 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js +3 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +3 -1
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +3 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/lineUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lineUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lineVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/lineVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js +3 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js +3 -1
- package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js +3 -1
- package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
- package/Shaders/ShadersInclude/ltcHelperFunctions.js +3 -1
- package/Shaders/ShadersInclude/ltcHelperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +3 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +3 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +3 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +3 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js +3 -1
- package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitFragment.js +3 -1
- package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js +3 -1
- package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +5 -2
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockPrePass.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js +4 -2
- package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js +3 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +3 -1
- package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js +3 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js +3 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +3 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +3 -1
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js +3 -1
- package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +3 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js +3 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +3 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/screenSpaceRayTrace.js +3 -1
- package/Shaders/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js +3 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +3 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +3 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +3 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +3 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +3 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js +3 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +3 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +3 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js +3 -1
- package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +3 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js +3 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js +3 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js +3 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
- package/Shaders/anaglyph.fragment.js +3 -1
- package/Shaders/anaglyph.fragment.js.map +1 -1
- package/Shaders/background.fragment.js +3 -1
- package/Shaders/background.fragment.js.map +1 -1
- package/Shaders/background.vertex.js +3 -1
- package/Shaders/background.vertex.js.map +1 -1
- package/Shaders/bilateralBlur.fragment.js +3 -1
- package/Shaders/bilateralBlur.fragment.js.map +1 -1
- package/Shaders/bilateralBlurQuality.fragment.js +3 -1
- package/Shaders/bilateralBlurQuality.fragment.js.map +1 -1
- package/Shaders/blackAndWhite.fragment.js +3 -1
- package/Shaders/blackAndWhite.fragment.js.map +1 -1
- package/Shaders/bloomMerge.fragment.js +3 -1
- package/Shaders/bloomMerge.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js +3 -1
- package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js +3 -1
- package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
- package/Shaders/chromaticAberration.fragment.js +3 -1
- package/Shaders/chromaticAberration.fragment.js.map +1 -1
- package/Shaders/circleOfConfusion.fragment.js +3 -1
- package/Shaders/circleOfConfusion.fragment.js.map +1 -1
- package/Shaders/color.fragment.js +3 -1
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.js +3 -1
- package/Shaders/color.vertex.js.map +1 -1
- package/Shaders/colorCorrection.fragment.js +3 -1
- package/Shaders/colorCorrection.fragment.js.map +1 -1
- package/Shaders/convolution.fragment.js +3 -1
- package/Shaders/convolution.fragment.js.map +1 -1
- package/Shaders/copyTexture3DLayerToTexture.fragment.js +3 -1
- package/Shaders/copyTexture3DLayerToTexture.fragment.js.map +1 -1
- package/Shaders/copyTextureToTexture.fragment.js +3 -1
- package/Shaders/copyTextureToTexture.fragment.js.map +1 -1
- package/Shaders/default.fragment.js +3 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.js +3 -1
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/depth.fragment.js +3 -1
- package/Shaders/depth.fragment.js.map +1 -1
- package/Shaders/depth.vertex.js +3 -1
- package/Shaders/depth.vertex.js.map +1 -1
- package/Shaders/depthBoxBlur.fragment.js +3 -1
- package/Shaders/depthBoxBlur.fragment.js.map +1 -1
- package/Shaders/depthOfField.fragment.js +3 -1
- package/Shaders/depthOfField.fragment.js.map +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +3 -1
- package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
- package/Shaders/displayPass.fragment.js +3 -1
- package/Shaders/displayPass.fragment.js.map +1 -1
- package/Shaders/equirectangularPanorama.fragment.js +3 -1
- package/Shaders/equirectangularPanorama.fragment.js.map +1 -1
- package/Shaders/extractHighlights.fragment.js +3 -1
- package/Shaders/extractHighlights.fragment.js.map +1 -1
- package/Shaders/filter.fragment.js +3 -1
- package/Shaders/filter.fragment.js.map +1 -1
- package/Shaders/fluidRenderingBilateralBlur.fragment.js +3 -1
- package/Shaders/fluidRenderingBilateralBlur.fragment.js.map +1 -1
- package/Shaders/fluidRenderingParticleDepth.fragment.js +3 -1
- package/Shaders/fluidRenderingParticleDepth.fragment.js.map +1 -1
- package/Shaders/fluidRenderingParticleDepth.vertex.js +3 -1
- package/Shaders/fluidRenderingParticleDepth.vertex.js.map +1 -1
- package/Shaders/fluidRenderingParticleDiffuse.fragment.js +3 -1
- package/Shaders/fluidRenderingParticleDiffuse.fragment.js.map +1 -1
- package/Shaders/fluidRenderingParticleDiffuse.vertex.js +3 -1
- package/Shaders/fluidRenderingParticleDiffuse.vertex.js.map +1 -1
- package/Shaders/fluidRenderingParticleThickness.fragment.js +3 -1
- package/Shaders/fluidRenderingParticleThickness.fragment.js.map +1 -1
- package/Shaders/fluidRenderingParticleThickness.vertex.js +3 -1
- package/Shaders/fluidRenderingParticleThickness.vertex.js.map +1 -1
- package/Shaders/fluidRenderingRender.fragment.js +3 -1
- package/Shaders/fluidRenderingRender.fragment.js.map +1 -1
- package/Shaders/fluidRenderingStandardBlur.fragment.js +3 -1
- package/Shaders/fluidRenderingStandardBlur.fragment.js.map +1 -1
- package/Shaders/fxaa.fragment.js +3 -1
- package/Shaders/fxaa.fragment.js.map +1 -1
- package/Shaders/fxaa.vertex.js +3 -1
- package/Shaders/fxaa.vertex.js.map +1 -1
- package/Shaders/gaussianSplatting.fragment.js +3 -1
- package/Shaders/gaussianSplatting.fragment.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +3 -1
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/geometry.fragment.js +3 -1
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/geometry.vertex.js +3 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js +3 -1
- package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.fragment.js +3 -1
- package/Shaders/glowMapGeneration.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.vertex.js +3 -1
- package/Shaders/glowMapGeneration.vertex.js.map +1 -1
- package/Shaders/glowMapMerge.fragment.js +3 -1
- package/Shaders/glowMapMerge.fragment.js.map +1 -1
- package/Shaders/glowMapMerge.vertex.js +3 -1
- package/Shaders/glowMapMerge.vertex.js.map +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +3 -1
- package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.vertex.js +3 -1
- package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
- package/Shaders/gpuTransform.fragment.js +3 -1
- package/Shaders/gpuTransform.fragment.js.map +1 -1
- package/Shaders/gpuTransform.vertex.js +3 -1
- package/Shaders/gpuTransform.vertex.js.map +1 -1
- package/Shaders/gpuUpdateParticles.fragment.js +3 -1
- package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js +3 -1
- package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
- package/Shaders/grain.fragment.js +3 -1
- package/Shaders/grain.fragment.js.map +1 -1
- package/Shaders/greasedLine.fragment.js +3 -1
- package/Shaders/greasedLine.fragment.js.map +1 -1
- package/Shaders/greasedLine.vertex.js +3 -1
- package/Shaders/greasedLine.vertex.js.map +1 -1
- package/Shaders/hdrFiltering.fragment.js +3 -1
- package/Shaders/hdrFiltering.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.vertex.js +3 -1
- package/Shaders/hdrFiltering.vertex.js.map +1 -1
- package/Shaders/hdrIrradianceFiltering.fragment.js +3 -1
- package/Shaders/hdrIrradianceFiltering.fragment.js.map +1 -1
- package/Shaders/hdrIrradianceFiltering.vertex.js +3 -1
- package/Shaders/hdrIrradianceFiltering.vertex.js.map +1 -1
- package/Shaders/highlights.fragment.js +3 -1
- package/Shaders/highlights.fragment.js.map +1 -1
- package/Shaders/iblCdfDebug.fragment.js +3 -1
- package/Shaders/iblCdfDebug.fragment.js.map +1 -1
- package/Shaders/iblCdfx.fragment.js +3 -1
- package/Shaders/iblCdfx.fragment.js.map +1 -1
- package/Shaders/iblCdfy.fragment.js +3 -1
- package/Shaders/iblCdfy.fragment.js.map +1 -1
- package/Shaders/iblCombineVoxelGrids.fragment.js +3 -1
- package/Shaders/iblCombineVoxelGrids.fragment.js.map +1 -1
- package/Shaders/iblGenerateVoxelMip.fragment.js +3 -1
- package/Shaders/iblGenerateVoxelMip.fragment.js.map +1 -1
- package/Shaders/iblIcdf.fragment.js +3 -1
- package/Shaders/iblIcdf.fragment.js.map +1 -1
- package/Shaders/iblScaledLuminance.fragment.js +3 -1
- package/Shaders/iblScaledLuminance.fragment.js.map +1 -1
- package/Shaders/iblShadowAccumulation.fragment.js +3 -1
- package/Shaders/iblShadowAccumulation.fragment.js.map +1 -1
- package/Shaders/iblShadowDebug.fragment.js +3 -1
- package/Shaders/iblShadowDebug.fragment.js.map +1 -1
- package/Shaders/iblShadowGBufferDebug.fragment.js +3 -1
- package/Shaders/iblShadowGBufferDebug.fragment.js.map +1 -1
- package/Shaders/iblShadowSpatialBlur.fragment.js +3 -1
- package/Shaders/iblShadowSpatialBlur.fragment.js.map +1 -1
- package/Shaders/iblShadowVoxelTracing.fragment.js +3 -1
- package/Shaders/iblShadowVoxelTracing.fragment.js.map +1 -1
- package/Shaders/iblShadowsCombine.fragment.js +3 -1
- package/Shaders/iblShadowsCombine.fragment.js.map +1 -1
- package/Shaders/iblVoxelGrid.fragment.js +3 -1
- package/Shaders/iblVoxelGrid.fragment.js.map +1 -1
- package/Shaders/iblVoxelGrid.vertex.js +3 -1
- package/Shaders/iblVoxelGrid.vertex.js.map +1 -1
- package/Shaders/iblVoxelGrid2dArrayDebug.fragment.js +3 -1
- package/Shaders/iblVoxelGrid2dArrayDebug.fragment.js.map +1 -1
- package/Shaders/iblVoxelGrid3dDebug.fragment.js +3 -1
- package/Shaders/iblVoxelGrid3dDebug.fragment.js.map +1 -1
- package/Shaders/iblVoxelSlabDebug.fragment.js +3 -1
- package/Shaders/iblVoxelSlabDebug.fragment.js.map +1 -1
- package/Shaders/iblVoxelSlabDebug.vertex.js +3 -1
- package/Shaders/iblVoxelSlabDebug.vertex.js.map +1 -1
- package/Shaders/imageProcessing.fragment.js +4 -2
- package/Shaders/imageProcessing.fragment.js.map +1 -1
- package/Shaders/kernelBlur.fragment.js +3 -1
- package/Shaders/kernelBlur.fragment.js.map +1 -1
- package/Shaders/kernelBlur.vertex.js +3 -1
- package/Shaders/kernelBlur.vertex.js.map +1 -1
- package/Shaders/layer.fragment.js +3 -1
- package/Shaders/layer.fragment.js.map +1 -1
- package/Shaders/layer.vertex.js +3 -1
- package/Shaders/layer.vertex.js.map +1 -1
- package/Shaders/lensFlare.fragment.js +3 -1
- package/Shaders/lensFlare.fragment.js.map +1 -1
- package/Shaders/lensFlare.vertex.js +3 -1
- package/Shaders/lensFlare.vertex.js.map +1 -1
- package/Shaders/lensHighlights.fragment.js +3 -1
- package/Shaders/lensHighlights.fragment.js.map +1 -1
- package/Shaders/line.fragment.js +3 -1
- package/Shaders/line.fragment.js.map +1 -1
- package/Shaders/line.vertex.js +3 -1
- package/Shaders/line.vertex.js.map +1 -1
- package/Shaders/lod.fragment.js +3 -1
- package/Shaders/lod.fragment.js.map +1 -1
- package/Shaders/lodCube.fragment.js +3 -1
- package/Shaders/lodCube.fragment.js.map +1 -1
- package/Shaders/meshUVSpaceRenderer.fragment.js +3 -1
- package/Shaders/meshUVSpaceRenderer.fragment.js.map +1 -1
- package/Shaders/meshUVSpaceRenderer.vertex.js +3 -1
- package/Shaders/meshUVSpaceRenderer.vertex.js.map +1 -1
- package/Shaders/meshUVSpaceRendererFinaliser.fragment.js +3 -1
- package/Shaders/meshUVSpaceRendererFinaliser.fragment.js.map +1 -1
- package/Shaders/meshUVSpaceRendererFinaliser.vertex.js +3 -1
- package/Shaders/meshUVSpaceRendererFinaliser.vertex.js.map +1 -1
- package/Shaders/meshUVSpaceRendererMasker.fragment.js +3 -1
- package/Shaders/meshUVSpaceRendererMasker.fragment.js.map +1 -1
- package/Shaders/meshUVSpaceRendererMasker.vertex.js +3 -1
- package/Shaders/meshUVSpaceRendererMasker.vertex.js.map +1 -1
- package/Shaders/minmaxRedux.fragment.js +3 -1
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/Shaders/motionBlur.fragment.js +4 -2
- package/Shaders/motionBlur.fragment.js.map +1 -1
- package/Shaders/noise.fragment.js +3 -1
- package/Shaders/noise.fragment.js.map +1 -1
- package/Shaders/oitBackBlend.fragment.js +3 -1
- package/Shaders/oitBackBlend.fragment.js.map +1 -1
- package/Shaders/oitFinal.fragment.js +3 -1
- package/Shaders/oitFinal.fragment.js.map +1 -1
- package/Shaders/outline.fragment.js +3 -1
- package/Shaders/outline.fragment.js.map +1 -1
- package/Shaders/outline.vertex.js +3 -1
- package/Shaders/outline.vertex.js.map +1 -1
- package/Shaders/particles.fragment.js +3 -1
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.js +3 -1
- package/Shaders/particles.vertex.js.map +1 -1
- package/Shaders/pass.fragment.js +3 -1
- package/Shaders/pass.fragment.js.map +1 -1
- package/Shaders/passCube.fragment.js +3 -1
- package/Shaders/passCube.fragment.js.map +1 -1
- package/Shaders/pbr.fragment.js +6 -1
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.js +3 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/picking.fragment.js +3 -1
- package/Shaders/picking.fragment.js.map +1 -1
- package/Shaders/picking.vertex.js +3 -1
- package/Shaders/picking.vertex.js.map +1 -1
- package/Shaders/postprocess.vertex.js +3 -1
- package/Shaders/postprocess.vertex.js.map +1 -1
- package/Shaders/procedural.vertex.js +3 -1
- package/Shaders/procedural.vertex.js.map +1 -1
- package/Shaders/refraction.fragment.js +3 -1
- package/Shaders/refraction.fragment.js.map +1 -1
- package/Shaders/rgbdDecode.fragment.js +3 -1
- package/Shaders/rgbdDecode.fragment.js.map +1 -1
- package/Shaders/rgbdEncode.fragment.js +3 -1
- package/Shaders/rgbdEncode.fragment.js.map +1 -1
- package/Shaders/rsmFullGlobalIllumination.fragment.js +3 -1
- package/Shaders/rsmFullGlobalIllumination.fragment.js.map +1 -1
- package/Shaders/rsmGlobalIllumination.fragment.js +3 -1
- package/Shaders/rsmGlobalIllumination.fragment.js.map +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js +3 -1
- package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection.fragment.js +3 -1
- package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2.fragment.js +4 -2
- package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2Blur.fragment.js +3 -1
- package/Shaders/screenSpaceReflection2Blur.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js +3 -1
- package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
- package/Shaders/shadowMap.fragment.js +3 -1
- package/Shaders/shadowMap.fragment.js.map +1 -1
- package/Shaders/shadowMap.vertex.js +3 -1
- package/Shaders/shadowMap.vertex.js.map +1 -1
- package/Shaders/sharpen.fragment.js +3 -1
- package/Shaders/sharpen.fragment.js.map +1 -1
- package/Shaders/spriteMap.fragment.js +3 -1
- package/Shaders/spriteMap.fragment.js.map +1 -1
- package/Shaders/spriteMap.vertex.js +3 -1
- package/Shaders/spriteMap.vertex.js.map +1 -1
- package/Shaders/sprites.fragment.js +3 -1
- package/Shaders/sprites.fragment.js.map +1 -1
- package/Shaders/sprites.vertex.js +3 -1
- package/Shaders/sprites.vertex.js.map +1 -1
- package/Shaders/ssao.fragment.js +3 -1
- package/Shaders/ssao.fragment.js.map +1 -1
- package/Shaders/ssao2.fragment.js +3 -1
- package/Shaders/ssao2.fragment.js.map +1 -1
- package/Shaders/ssaoCombine.fragment.js +3 -1
- package/Shaders/ssaoCombine.fragment.js.map +1 -1
- package/Shaders/standard.fragment.js +3 -1
- package/Shaders/standard.fragment.js.map +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js +3 -1
- package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
- package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +8 -6
- package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
- package/Shaders/taa.fragment.js +3 -1
- package/Shaders/taa.fragment.js.map +1 -1
- package/Shaders/tonemap.fragment.js +3 -1
- package/Shaders/tonemap.fragment.js.map +1 -1
- package/Shaders/velocity.fragment.js +3 -1
- package/Shaders/velocity.fragment.js.map +1 -1
- package/Shaders/velocity.vertex.js +3 -1
- package/Shaders/velocity.vertex.js.map +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +3 -1
- package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +3 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js +3 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js +3 -1
- package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +3 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +3 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bayerDitherFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/bayerDitherFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/decalFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/decalFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/depthPrePass.js +3 -1
- package/ShadersWGSL/ShadersInclude/depthPrePass.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/diffusionProfile.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/diffusionProfile.js +12 -0
- package/ShadersWGSL/ShadersInclude/diffusionProfile.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/fibonacci.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/fibonacci.js +17 -0
- package/ShadersWGSL/ShadersInclude/fibonacci.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/fogFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/fogFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/fogVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/fogVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/fresnelFunction.js +3 -1
- package/ShadersWGSL/ShadersInclude/fresnelFunction.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/helperFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingCompatibility.js +3 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/importanceSampling.js +3 -1
- package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/intersectionFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/intersectionFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurFragment2.js +3 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurFragment2.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurVaryingDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/kernelBlurVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/logDepthFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/logDepthFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/logDepthVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/logDepthVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/ltcHelperFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/ltcHelperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +3 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/oitDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/oitDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/oitFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/oitFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/packingFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/packingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +5 -2
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDebug.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrDebug.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pointCloudVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/pointCloudVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pointCloudVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/reflectionFunction.js +3 -1
- package/ShadersWGSL/ShadersInclude/reflectionFunction.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js +3 -1
- package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/screenSpaceRayTrace.js +3 -1
- package/ShadersWGSL/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragment.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragmentExtraDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexExtraDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexNormalBias.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/shadowsVertex.js +3 -1
- package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js +3 -1
- package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js +3 -1
- package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/vertexColorMixing.js +3 -1
- package/ShadersWGSL/ShadersInclude/vertexColorMixing.js.map +1 -1
- package/ShadersWGSL/anaglyph.fragment.js +3 -1
- package/ShadersWGSL/anaglyph.fragment.js.map +1 -1
- package/ShadersWGSL/background.fragment.js +3 -1
- package/ShadersWGSL/background.fragment.js.map +1 -1
- package/ShadersWGSL/background.vertex.js +3 -1
- package/ShadersWGSL/background.vertex.js.map +1 -1
- package/ShadersWGSL/bilateralBlur.fragment.js +3 -1
- package/ShadersWGSL/bilateralBlur.fragment.js.map +1 -1
- package/ShadersWGSL/bilateralBlurQuality.fragment.js +3 -1
- package/ShadersWGSL/bilateralBlurQuality.fragment.js.map +1 -1
- package/ShadersWGSL/blackAndWhite.fragment.js +3 -1
- package/ShadersWGSL/blackAndWhite.fragment.js.map +1 -1
- package/ShadersWGSL/bloomMerge.fragment.js +3 -1
- package/ShadersWGSL/bloomMerge.fragment.js.map +1 -1
- package/ShadersWGSL/boundingBoxRenderer.fragment.js +3 -1
- package/ShadersWGSL/boundingBoxRenderer.fragment.js.map +1 -1
- package/ShadersWGSL/boundingBoxRenderer.vertex.js +3 -1
- package/ShadersWGSL/boundingBoxRenderer.vertex.js.map +1 -1
- package/ShadersWGSL/boundingInfo.compute.js +3 -1
- package/ShadersWGSL/boundingInfo.compute.js.map +1 -1
- package/ShadersWGSL/chromaticAberration.fragment.js +3 -1
- package/ShadersWGSL/chromaticAberration.fragment.js.map +1 -1
- package/ShadersWGSL/circleOfConfusion.fragment.js +3 -1
- package/ShadersWGSL/circleOfConfusion.fragment.js.map +1 -1
- package/ShadersWGSL/clearQuad.fragment.js +3 -1
- package/ShadersWGSL/clearQuad.fragment.js.map +1 -1
- package/ShadersWGSL/clearQuad.vertex.js +3 -1
- package/ShadersWGSL/clearQuad.vertex.js.map +1 -1
- package/ShadersWGSL/color.fragment.js +3 -1
- package/ShadersWGSL/color.fragment.js.map +1 -1
- package/ShadersWGSL/color.vertex.js +3 -1
- package/ShadersWGSL/color.vertex.js.map +1 -1
- package/ShadersWGSL/colorCorrection.fragment.js +3 -1
- package/ShadersWGSL/colorCorrection.fragment.js.map +1 -1
- package/ShadersWGSL/convolution.fragment.js +3 -1
- package/ShadersWGSL/convolution.fragment.js.map +1 -1
- package/ShadersWGSL/copyTexture3DLayerToTexture.fragment.js +3 -1
- package/ShadersWGSL/copyTexture3DLayerToTexture.fragment.js.map +1 -1
- package/ShadersWGSL/copyTextureToTexture.fragment.js +3 -1
- package/ShadersWGSL/copyTextureToTexture.fragment.js.map +1 -1
- package/ShadersWGSL/default.fragment.js +3 -1
- package/ShadersWGSL/default.fragment.js.map +1 -1
- package/ShadersWGSL/default.vertex.js +3 -1
- package/ShadersWGSL/default.vertex.js.map +1 -1
- package/ShadersWGSL/depth.fragment.js +3 -1
- package/ShadersWGSL/depth.fragment.js.map +1 -1
- package/ShadersWGSL/depth.vertex.js +3 -1
- package/ShadersWGSL/depth.vertex.js.map +1 -1
- package/ShadersWGSL/depthBoxBlur.fragment.js +3 -1
- package/ShadersWGSL/depthBoxBlur.fragment.js.map +1 -1
- package/ShadersWGSL/depthOfFieldMerge.fragment.js +3 -1
- package/ShadersWGSL/depthOfFieldMerge.fragment.js.map +1 -1
- package/ShadersWGSL/displayPass.fragment.js +3 -1
- package/ShadersWGSL/displayPass.fragment.js.map +1 -1
- package/ShadersWGSL/extractHighlights.fragment.js +3 -1
- package/ShadersWGSL/extractHighlights.fragment.js.map +1 -1
- package/ShadersWGSL/filter.fragment.js +3 -1
- package/ShadersWGSL/filter.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingBilateralBlur.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingBilateralBlur.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleDepth.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleDepth.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleDiffuse.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleDiffuse.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleDiffuse.vertex.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleDiffuse.vertex.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleThickness.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleThickness.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js +3 -1
- package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js.map +1 -1
- package/ShadersWGSL/fluidRenderingRender.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingRender.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingStandardBlur.fragment.js +3 -1
- package/ShadersWGSL/fluidRenderingStandardBlur.fragment.js.map +1 -1
- package/ShadersWGSL/fxaa.fragment.js +3 -1
- package/ShadersWGSL/fxaa.fragment.js.map +1 -1
- package/ShadersWGSL/fxaa.vertex.js +3 -1
- package/ShadersWGSL/fxaa.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js +3 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +3 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/geometry.fragment.js +3 -1
- package/ShadersWGSL/geometry.fragment.js.map +1 -1
- package/ShadersWGSL/geometry.vertex.js +3 -1
- package/ShadersWGSL/geometry.vertex.js.map +1 -1
- package/ShadersWGSL/glowBlurPostProcess.fragment.js +3 -1
- package/ShadersWGSL/glowBlurPostProcess.fragment.js.map +1 -1
- package/ShadersWGSL/glowMapGeneration.fragment.js +3 -1
- package/ShadersWGSL/glowMapGeneration.fragment.js.map +1 -1
- package/ShadersWGSL/glowMapGeneration.vertex.js +3 -1
- package/ShadersWGSL/glowMapGeneration.vertex.js.map +1 -1
- package/ShadersWGSL/glowMapMerge.fragment.js +3 -1
- package/ShadersWGSL/glowMapMerge.fragment.js.map +1 -1
- package/ShadersWGSL/glowMapMerge.vertex.js +3 -1
- package/ShadersWGSL/glowMapMerge.vertex.js.map +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +3 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
- package/ShadersWGSL/grain.fragment.js +3 -1
- package/ShadersWGSL/grain.fragment.js.map +1 -1
- package/ShadersWGSL/greasedLine.fragment.js +3 -1
- package/ShadersWGSL/greasedLine.fragment.js.map +1 -1
- package/ShadersWGSL/greasedLine.vertex.js +3 -1
- package/ShadersWGSL/greasedLine.vertex.js.map +1 -1
- package/ShadersWGSL/hdrFiltering.fragment.js +3 -1
- package/ShadersWGSL/hdrFiltering.fragment.js.map +1 -1
- package/ShadersWGSL/hdrFiltering.vertex.js +3 -1
- package/ShadersWGSL/hdrFiltering.vertex.js.map +1 -1
- package/ShadersWGSL/hdrIrradianceFiltering.fragment.js +3 -1
- package/ShadersWGSL/hdrIrradianceFiltering.fragment.js.map +1 -1
- package/ShadersWGSL/hdrIrradianceFiltering.vertex.js +3 -1
- package/ShadersWGSL/hdrIrradianceFiltering.vertex.js.map +1 -1
- package/ShadersWGSL/highlights.fragment.js +3 -1
- package/ShadersWGSL/highlights.fragment.js.map +1 -1
- package/ShadersWGSL/iblCdfDebug.fragment.js +3 -1
- package/ShadersWGSL/iblCdfDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblCdfx.fragment.js +3 -1
- package/ShadersWGSL/iblCdfx.fragment.js.map +1 -1
- package/ShadersWGSL/iblCdfy.fragment.js +3 -1
- package/ShadersWGSL/iblCdfy.fragment.js.map +1 -1
- package/ShadersWGSL/iblCombineVoxelGrids.fragment.js +3 -1
- package/ShadersWGSL/iblCombineVoxelGrids.fragment.js.map +1 -1
- package/ShadersWGSL/iblGenerateVoxelMip.fragment.js +3 -1
- package/ShadersWGSL/iblGenerateVoxelMip.fragment.js.map +1 -1
- package/ShadersWGSL/iblIcdf.fragment.js +3 -1
- package/ShadersWGSL/iblIcdf.fragment.js.map +1 -1
- package/ShadersWGSL/iblScaledLuminance.fragment.js +3 -1
- package/ShadersWGSL/iblScaledLuminance.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowAccumulation.fragment.js +3 -1
- package/ShadersWGSL/iblShadowAccumulation.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowDebug.fragment.js +3 -1
- package/ShadersWGSL/iblShadowDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowGBufferDebug.fragment.js +3 -1
- package/ShadersWGSL/iblShadowGBufferDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowSpatialBlur.fragment.js +3 -1
- package/ShadersWGSL/iblShadowSpatialBlur.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowVoxelTracing.fragment.js +3 -1
- package/ShadersWGSL/iblShadowVoxelTracing.fragment.js.map +1 -1
- package/ShadersWGSL/iblShadowsCombine.fragment.js +3 -1
- package/ShadersWGSL/iblShadowsCombine.fragment.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid.fragment.js +3 -1
- package/ShadersWGSL/iblVoxelGrid.fragment.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.js +3 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid2dArrayDebug.fragment.js +3 -1
- package/ShadersWGSL/iblVoxelGrid2dArrayDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid3dDebug.fragment.js +3 -1
- package/ShadersWGSL/iblVoxelGrid3dDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblVoxelSlabDebug.fragment.js +3 -1
- package/ShadersWGSL/iblVoxelSlabDebug.fragment.js.map +1 -1
- package/ShadersWGSL/iblVoxelSlabDebug.vertex.js +3 -1
- package/ShadersWGSL/iblVoxelSlabDebug.vertex.js.map +1 -1
- package/ShadersWGSL/imageProcessing.fragment.js +4 -2
- package/ShadersWGSL/imageProcessing.fragment.js.map +1 -1
- package/ShadersWGSL/kernelBlur.fragment.js +3 -1
- package/ShadersWGSL/kernelBlur.fragment.js.map +1 -1
- package/ShadersWGSL/kernelBlur.vertex.js +3 -1
- package/ShadersWGSL/kernelBlur.vertex.js.map +1 -1
- package/ShadersWGSL/layer.fragment.js +3 -1
- package/ShadersWGSL/layer.fragment.js.map +1 -1
- package/ShadersWGSL/layer.vertex.js +3 -1
- package/ShadersWGSL/layer.vertex.js.map +1 -1
- package/ShadersWGSL/lensFlare.fragment.js +3 -1
- package/ShadersWGSL/lensFlare.fragment.js.map +1 -1
- package/ShadersWGSL/lensFlare.vertex.js +3 -1
- package/ShadersWGSL/lensFlare.vertex.js.map +1 -1
- package/ShadersWGSL/line.fragment.js +3 -1
- package/ShadersWGSL/line.fragment.js.map +1 -1
- package/ShadersWGSL/line.vertex.js +3 -1
- package/ShadersWGSL/line.vertex.js.map +1 -1
- package/ShadersWGSL/lod.fragment.js +3 -1
- package/ShadersWGSL/lod.fragment.js.map +1 -1
- package/ShadersWGSL/lodCube.fragment.js +3 -1
- package/ShadersWGSL/lodCube.fragment.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRenderer.fragment.js +3 -1
- package/ShadersWGSL/meshUVSpaceRenderer.fragment.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRenderer.vertex.js +3 -1
- package/ShadersWGSL/meshUVSpaceRenderer.vertex.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRendererFinaliser.fragment.js +3 -1
- package/ShadersWGSL/meshUVSpaceRendererFinaliser.fragment.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRendererFinaliser.vertex.js +3 -1
- package/ShadersWGSL/meshUVSpaceRendererFinaliser.vertex.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRendererMasker.fragment.js +3 -1
- package/ShadersWGSL/meshUVSpaceRendererMasker.fragment.js.map +1 -1
- package/ShadersWGSL/meshUVSpaceRendererMasker.vertex.js +3 -1
- package/ShadersWGSL/meshUVSpaceRendererMasker.vertex.js.map +1 -1
- package/ShadersWGSL/motionBlur.fragment.js +4 -2
- package/ShadersWGSL/motionBlur.fragment.js.map +1 -1
- package/ShadersWGSL/oitBackBlend.fragment.js +3 -1
- package/ShadersWGSL/oitBackBlend.fragment.js.map +1 -1
- package/ShadersWGSL/oitFinal.fragment.js +3 -1
- package/ShadersWGSL/oitFinal.fragment.js.map +1 -1
- package/ShadersWGSL/outline.fragment.js +3 -1
- package/ShadersWGSL/outline.fragment.js.map +1 -1
- package/ShadersWGSL/outline.vertex.js +3 -1
- package/ShadersWGSL/outline.vertex.js.map +1 -1
- package/ShadersWGSL/particles.fragment.js +3 -1
- package/ShadersWGSL/particles.fragment.js.map +1 -1
- package/ShadersWGSL/particles.vertex.js +3 -1
- package/ShadersWGSL/particles.vertex.js.map +1 -1
- package/ShadersWGSL/pass.fragment.js +3 -1
- package/ShadersWGSL/pass.fragment.js.map +1 -1
- package/ShadersWGSL/passCube.fragment.js +3 -1
- package/ShadersWGSL/passCube.fragment.js.map +1 -1
- package/ShadersWGSL/pbr.fragment.js +6 -1
- package/ShadersWGSL/pbr.fragment.js.map +1 -1
- package/ShadersWGSL/pbr.vertex.js +3 -1
- package/ShadersWGSL/pbr.vertex.js.map +1 -1
- package/ShadersWGSL/picking.fragment.js +3 -1
- package/ShadersWGSL/picking.fragment.js.map +1 -1
- package/ShadersWGSL/picking.vertex.js +3 -1
- package/ShadersWGSL/picking.vertex.js.map +1 -1
- package/ShadersWGSL/postprocess.vertex.js +3 -1
- package/ShadersWGSL/postprocess.vertex.js.map +1 -1
- package/ShadersWGSL/procedural.vertex.js +3 -1
- package/ShadersWGSL/procedural.vertex.js.map +1 -1
- package/ShadersWGSL/rgbdDecode.fragment.js +3 -1
- package/ShadersWGSL/rgbdDecode.fragment.js.map +1 -1
- package/ShadersWGSL/rgbdEncode.fragment.js +3 -1
- package/ShadersWGSL/rgbdEncode.fragment.js.map +1 -1
- package/ShadersWGSL/rsmFullGlobalIllumination.fragment.js +3 -1
- package/ShadersWGSL/rsmFullGlobalIllumination.fragment.js.map +1 -1
- package/ShadersWGSL/rsmGlobalIllumination.fragment.js +3 -1
- package/ShadersWGSL/rsmGlobalIllumination.fragment.js.map +1 -1
- package/ShadersWGSL/screenSpaceReflection2.fragment.js +4 -2
- package/ShadersWGSL/screenSpaceReflection2.fragment.js.map +1 -1
- package/ShadersWGSL/screenSpaceReflection2Blur.fragment.js +3 -1
- package/ShadersWGSL/screenSpaceReflection2Blur.fragment.js.map +1 -1
- package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.js +3 -1
- package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
- package/ShadersWGSL/shadowMap.fragment.js +3 -1
- package/ShadersWGSL/shadowMap.fragment.js.map +1 -1
- package/ShadersWGSL/shadowMap.vertex.js +3 -1
- package/ShadersWGSL/shadowMap.vertex.js.map +1 -1
- package/ShadersWGSL/sharpen.fragment.js +3 -1
- package/ShadersWGSL/sharpen.fragment.js.map +1 -1
- package/ShadersWGSL/sprites.fragment.js +3 -1
- package/ShadersWGSL/sprites.fragment.js.map +1 -1
- package/ShadersWGSL/sprites.vertex.js +3 -1
- package/ShadersWGSL/sprites.vertex.js.map +1 -1
- package/ShadersWGSL/ssao2.fragment.js +3 -1
- package/ShadersWGSL/ssao2.fragment.js.map +1 -1
- package/ShadersWGSL/ssaoCombine.fragment.js +3 -1
- package/ShadersWGSL/ssaoCombine.fragment.js.map +1 -1
- package/ShadersWGSL/subSurfaceScattering.fragment.d.ts +9 -0
- package/ShadersWGSL/subSurfaceScattering.fragment.js +77 -0
- package/ShadersWGSL/subSurfaceScattering.fragment.js.map +1 -0
- package/ShadersWGSL/taa.fragment.js +3 -1
- package/ShadersWGSL/taa.fragment.js.map +1 -1
- package/ShadersWGSL/tonemap.fragment.js +3 -1
- package/ShadersWGSL/tonemap.fragment.js.map +1 -1
- package/ShadersWGSL/vrDistortionCorrection.fragment.js +3 -1
- package/ShadersWGSL/vrDistortionCorrection.fragment.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +9 -2
- package/scene.js +9 -2
- package/scene.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.js.map +0 -1
- package/FrameGraph/Tasks/Rendering/cullObjectsTask.js.map +0 -1
- /package/FrameGraph/Tasks/{Rendering → Misc}/cullObjectsTask.d.ts +0 -0
- /package/FrameGraph/Tasks/{Rendering → Misc}/cullObjectsTask.js +0 -0
|
@@ -2,8 +2,7 @@ import { AbstractNamedAudioNode } from "./abstractAudioNode";
|
|
|
2
2
|
import type { AudioEngineV2 } from "./audioEngineV2";
|
|
3
3
|
import type { _AbstractAudioSubGraph } from "./subNodes/abstractAudioSubGraph";
|
|
4
4
|
import type { IVolumeAudioOptions } from "./subNodes/volumeAudioSubNode";
|
|
5
|
-
import type { IAudioAnalyzerOptions } from "./subProperties/abstractAudioAnalyzer";
|
|
6
|
-
import { _AudioAnalyzer } from "./subProperties/audioAnalyzer";
|
|
5
|
+
import type { AbstractAudioAnalyzer, IAudioAnalyzerOptions } from "./subProperties/abstractAudioAnalyzer";
|
|
7
6
|
/** @internal */
|
|
8
7
|
export interface IAbstractAudioBusOptions extends IAudioAnalyzerOptions, IVolumeAudioOptions {
|
|
9
8
|
}
|
|
@@ -20,7 +19,7 @@ export declare abstract class AbstractAudioBus extends AbstractNamedAudioNode {
|
|
|
20
19
|
/**
|
|
21
20
|
* The analyzer features of the bus.
|
|
22
21
|
*/
|
|
23
|
-
get analyzer():
|
|
22
|
+
get analyzer(): AbstractAudioAnalyzer;
|
|
24
23
|
/**
|
|
25
24
|
* The output volume of the bus.
|
|
26
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractAudioBus.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/abstractAudioBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAiB,MAAM,qBAAqB,CAAC;AAI5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D;;;;;GAKG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,sBAAsB;IAKjE,YAAsB,IAAY,EAAE,MAAqB;QACrD,KAAK,CAAC,IAAI,EAAE,MAAM,+CAAuC,CAAC;QALtD,cAAS,
|
|
1
|
+
{"version":3,"file":"abstractAudioBus.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/abstractAudioBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAiB,MAAM,qBAAqB,CAAC;AAI5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D;;;;;GAKG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,sBAAsB;IAKjE,YAAsB,IAAY,EAAE,MAAqB;QACrD,KAAK,CAAC,IAAI,EAAE,MAAM,+CAAuC,CAAC;QALtD,cAAS,GAAoC,IAAI,CAAC;IAM1D,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,IAAW,MAAM,CAAC,KAAa;QAC3B,2EAA2E;QAC3E,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACa,OAAO;QACnB,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["import type { Nullable } from \"../../types\";\nimport { AbstractNamedAudioNode, AudioNodeType } from \"./abstractAudioNode\";\nimport type { AudioEngineV2 } from \"./audioEngineV2\";\nimport type { _AbstractAudioSubGraph } from \"./subNodes/abstractAudioSubGraph\";\nimport type { IVolumeAudioOptions } from \"./subNodes/volumeAudioSubNode\";\nimport { _GetVolumeAudioProperty, _GetVolumeAudioSubNode } from \"./subNodes/volumeAudioSubNode\";\nimport type { AbstractAudioAnalyzer, IAudioAnalyzerOptions } from \"./subProperties/abstractAudioAnalyzer\";\nimport { _AudioAnalyzer } from \"./subProperties/audioAnalyzer\";\n\n/** @internal */\nexport interface IAbstractAudioBusOptions extends IAudioAnalyzerOptions, IVolumeAudioOptions {}\n\n/**\n * Abstract class representing an audio bus with volume control.\n *\n * An audio bus is a node in the audio graph that can have multiple inputs and outputs. It is typically used to group\n * sounds together and apply effects to them.\n */\nexport abstract class AbstractAudioBus extends AbstractNamedAudioNode {\n private _analyzer: Nullable<AbstractAudioAnalyzer> = null;\n\n protected abstract _subGraph: _AbstractAudioSubGraph;\n\n protected constructor(name: string, engine: AudioEngineV2) {\n super(name, engine, AudioNodeType.HAS_INPUTS_AND_OUTPUTS);\n }\n\n /**\n * The analyzer features of the bus.\n */\n public get analyzer(): AbstractAudioAnalyzer {\n return this._analyzer ?? (this._analyzer = new _AudioAnalyzer(this._subGraph));\n }\n\n /**\n * The output volume of the bus.\n */\n public get volume(): number {\n return _GetVolumeAudioProperty(this._subGraph, \"volume\");\n }\n\n public set volume(value: number) {\n // The volume subnode is created on initialization and should always exist.\n const node = _GetVolumeAudioSubNode(this._subGraph);\n if (!node) {\n throw new Error(\"No volume subnode\");\n }\n\n node.volume = value;\n }\n\n /**\n * Releases associated resources.\n */\n public override dispose(): void {\n super.dispose();\n\n this._analyzer?.dispose();\n this._analyzer = null;\n\n this._subGraph.dispose();\n }\n}\n"]}
|
|
@@ -7,10 +7,9 @@ import type { PrimaryAudioBus } from "./audioBus";
|
|
|
7
7
|
import type { AudioEngineV2 } from "./audioEngineV2";
|
|
8
8
|
import type { _AbstractAudioSubGraph } from "./subNodes/abstractAudioSubGraph";
|
|
9
9
|
import type { IVolumeAudioOptions } from "./subNodes/volumeAudioSubNode";
|
|
10
|
-
import type { IAudioAnalyzerOptions } from "./subProperties/abstractAudioAnalyzer";
|
|
10
|
+
import type { AbstractAudioAnalyzer, IAudioAnalyzerOptions } from "./subProperties/abstractAudioAnalyzer";
|
|
11
11
|
import type { AbstractSpatialAudio, ISpatialAudioOptions } from "./subProperties/abstractSpatialAudio";
|
|
12
12
|
import type { AbstractStereoAudio, IStereoAudioOptions } from "./subProperties/abstractStereoAudio";
|
|
13
|
-
import { _AudioAnalyzer } from "./subProperties/audioAnalyzer";
|
|
14
13
|
/** @internal */
|
|
15
14
|
export interface IAbstractSoundOptionsBase {
|
|
16
15
|
/**
|
|
@@ -75,7 +74,7 @@ export declare abstract class AbstractSound extends AbstractNamedAudioNode {
|
|
|
75
74
|
/**
|
|
76
75
|
* The analyzer features of the sound.
|
|
77
76
|
*/
|
|
78
|
-
get analyzer():
|
|
77
|
+
get analyzer(): AbstractAudioAnalyzer;
|
|
79
78
|
/**
|
|
80
79
|
* Whether the sound should start playing automatically. Defaults to `false`.
|
|
81
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractSound.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/abstractSound.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../../Misc/observable\";\nimport type { Nullable } from \"../../types\";\nimport { SoundState } from \"../soundState\";\nimport { AbstractNamedAudioNode, AudioNodeType } from \"./abstractAudioNode\";\nimport type { _AbstractSoundInstance } from \"./abstractSoundInstance\";\nimport type { PrimaryAudioBus } from \"./audioBus\";\nimport type { AudioEngineV2 } from \"./audioEngineV2\";\nimport type { _AbstractAudioSubGraph } from \"./subNodes/abstractAudioSubGraph\";\nimport type { IVolumeAudioOptions } from \"./subNodes/volumeAudioSubNode\";\nimport { _GetVolumeAudioProperty, _GetVolumeAudioSubNode } from \"./subNodes/volumeAudioSubNode\";\nimport type { IAudioAnalyzerOptions } from \"./subProperties/abstractAudioAnalyzer\";\nimport type { AbstractSpatialAudio, ISpatialAudioOptions } from \"./subProperties/abstractSpatialAudio\";\nimport type { AbstractStereoAudio, IStereoAudioOptions } from \"./subProperties/abstractStereoAudio\";\nimport { _AudioAnalyzer } from \"./subProperties/audioAnalyzer\";\n\n/** @internal */\nexport interface IAbstractSoundOptionsBase {\n /**\n * Whether the sound should start playing automatically. Defaults to `false`.\n */\n autoplay: boolean;\n /**\n * The maximum number of instances that can play at the same time. Defaults to `Infinity`.\n */\n maxInstances: number;\n}\n\n/** @internal */\nexport interface IAbstractSoundPlayOptionsBase {\n /**\n * Whether the sound should loop. Defaults to `false`.\n */\n loop: boolean;\n /**\n * The time within the sound buffer to start playing at, in seconds. Defaults to `0`.\n */\n startOffset: number;\n}\n\n/**\n * Options for creating a sound.\n */\nexport interface IAbstractSoundOptions extends IAbstractSoundOptionsBase, IAbstractSoundPlayOptions, IAudioAnalyzerOptions, ISpatialAudioOptions, IStereoAudioOptions {\n /**\n * The output bus for the sound. Defaults to `null`.\n * - If not set or `null`, the sound is automatically connected to the audio engine's default main bus.\n * @see {@link AudioEngineV2.defaultMainBus}\n */\n outBus: Nullable<PrimaryAudioBus>;\n}\n\n/**\n * Options for playing a sound.\n */\nexport interface IAbstractSoundPlayOptions extends IAbstractSoundPlayOptionsBase, IVolumeAudioOptions {}\n\n/**\n * Options stored in a sound.\n * @internal\n */\nexport interface IAbstractSoundStoredOptions extends IAbstractSoundOptionsBase, IAbstractSoundPlayOptionsBase {}\n\n/**\n * Abstract class representing a sound in the audio engine.\n */\nexport abstract class AbstractSound extends AbstractNamedAudioNode {\n private _analyzer: Nullable<_AudioAnalyzer> = null;\n private _newestInstance: Nullable<_AbstractSoundInstance> = null;\n private _outBus: Nullable<PrimaryAudioBus> = null;\n private _privateInstances = new Set<_AbstractSoundInstance>();\n private _state: SoundState = SoundState.Stopped;\n\n protected _instances: ReadonlySet<_AbstractSoundInstance> = this._privateInstances;\n protected abstract readonly _options: IAbstractSoundStoredOptions;\n protected abstract _subGraph: _AbstractAudioSubGraph;\n\n /**\n * Observable for when the sound stops playing.\n */\n public readonly onEndedObservable = new Observable<AbstractSound>();\n\n protected constructor(name: string, engine: AudioEngineV2) {\n super(name, engine, AudioNodeType.HAS_INPUTS_AND_OUTPUTS); // Inputs are for instances.\n }\n\n /**\n * The analyzer features of the sound.\n */\n public get analyzer(): _AudioAnalyzer {\n return this._analyzer ?? (this._analyzer = new _AudioAnalyzer(this._subGraph));\n }\n\n /**\n * Whether the sound should start playing automatically. Defaults to `false`.\n */\n public get autoplay(): boolean {\n return this._options.autoplay;\n }\n\n /**\n * The current playback time of the sound, in seconds.\n */\n public get currentTime(): number {\n const instance = this._getNewestInstance();\n return instance ? instance.currentTime : 0;\n }\n\n public set currentTime(value: number) {\n this.startOffset = value;\n\n const instance = this._getNewestInstance();\n if (instance) {\n instance.currentTime = value;\n }\n }\n\n /**\n * Whether the sound should loop. Defaults to `false`.\n */\n public get loop(): boolean {\n return this._options.loop;\n }\n\n public set loop(value: boolean) {\n this._options.loop = value;\n }\n\n /**\n * The maximum number of instances that can play at the same time. Defaults to `Infinity`.\n */\n public get maxInstances(): number {\n return this._options.maxInstances;\n }\n\n public set maxInstances(value: number) {\n this._options.maxInstances = value;\n }\n\n /**\n * The output bus for the sound. Defaults to `null`.\n * - If not set or `null`, the sound is automatically connected to the audio engine's default main bus.\n * @see {@link AudioEngineV2.defaultMainBus}\n */\n public get outBus(): Nullable<PrimaryAudioBus> {\n return this._outBus;\n }\n\n public set outBus(outBus: Nullable<PrimaryAudioBus>) {\n if (this._outBus === outBus) {\n return;\n }\n\n if (this._outBus) {\n this._outBus.onDisposeObservable.removeCallback(this._onOutBusDisposed);\n if (!this._disconnect(this._outBus)) {\n throw new Error(\"Disconnect failed\");\n }\n }\n\n this._outBus = outBus;\n\n if (this._outBus) {\n this._outBus.onDisposeObservable.add(this._onOutBusDisposed);\n if (!this._connect(this._outBus)) {\n throw new Error(\"Connect failed\");\n }\n }\n }\n\n /**\n * The spatial features of the sound.\n */\n public abstract spatial: AbstractSpatialAudio;\n\n /**\n * The time within the sound buffer to start playing at, in seconds. Defaults to `0`.\n */\n public get startOffset(): number {\n return this._options.startOffset;\n }\n\n public set startOffset(value: number) {\n this._options.startOffset = value;\n }\n\n /**\n * The state of the sound.\n */\n public get state(): SoundState {\n return this._state;\n }\n\n /**\n * The stereo features of the sound.\n */\n public abstract stereo: AbstractStereoAudio;\n\n /**\n * The output volume of the sound.\n */\n public get volume(): number {\n return _GetVolumeAudioProperty(this._subGraph, \"volume\");\n }\n\n public set volume(value: number) {\n // The volume subnode is created on initialization and should always exist.\n const node = _GetVolumeAudioSubNode(this._subGraph);\n if (!node) {\n throw new Error(\"No volume subnode\");\n }\n\n node.volume = value;\n }\n\n /**\n * Releases associated resources.\n */\n public override dispose(): void {\n super.dispose();\n\n this.stop();\n\n this._analyzer?.dispose();\n this._analyzer = null;\n\n this._newestInstance = null;\n this._outBus = null;\n\n this._privateInstances.clear();\n this.onEndedObservable.clear();\n }\n\n /**\n * Plays the sound.\n * - Triggers `onEndedObservable` if played for the full duration and the `loop` option is not set.\n * @param options The options to use when playing the sound. Options set here override the sound's options.\n */\n public abstract play(options?: Partial<IAbstractSoundPlayOptions>): void;\n\n /**\n * Pauses the sound.\n */\n public pause(): void {\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n next.value.pause();\n }\n\n this._state = SoundState.Paused;\n }\n\n /**\n * Resumes the sound.\n */\n public resume(): void {\n if (this._state !== SoundState.Paused) {\n return;\n }\n\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n next.value.resume();\n }\n\n this._state = SoundState.Started;\n }\n\n /**\n * Stops the sound.\n * - Triggers `onEndedObservable` if the sound is playing.\n */\n public abstract stop(): void;\n\n protected _beforePlay(instance: _AbstractSoundInstance): void {\n if (this.state === SoundState.Paused && this._instances.size > 0) {\n this.resume();\n return;\n }\n\n instance.onEndedObservable.addOnce(this._onInstanceEnded);\n this._privateInstances.add(instance);\n this._newestInstance = instance;\n }\n\n protected _afterPlay(instance: _AbstractSoundInstance): void {\n this._state = instance.state;\n }\n\n protected _getNewestInstance(): Nullable<_AbstractSoundInstance> {\n if (this._instances.size === 0) {\n return null;\n }\n\n if (!this._newestInstance) {\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n this._newestInstance = next.value;\n }\n }\n\n return this._newestInstance;\n }\n\n protected _setState(state: SoundState): void {\n this._state = state;\n }\n\n protected abstract _createInstance(): _AbstractSoundInstance;\n\n protected _stopExcessInstances(): void {\n if (this.maxInstances < Infinity) {\n const numberOfInstancesToStop = Array.from(this._instances).filter((instance) => instance.state === SoundState.Started).length - this.maxInstances;\n const it = this._instances.values();\n\n for (let i = 0; i < numberOfInstancesToStop; i++) {\n const instance = it.next().value;\n instance.stop();\n }\n }\n }\n\n private _onInstanceEnded: (instance: _AbstractSoundInstance) => void = (instance) => {\n if (this._newestInstance === instance) {\n this._newestInstance = null;\n }\n\n this._privateInstances.delete(instance);\n\n if (this._instances.size === 0) {\n this._state = SoundState.Stopped;\n this.onEndedObservable.notifyObservers(this);\n }\n };\n\n private _onOutBusDisposed = () => {\n this.outBus = null;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"abstractSound.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/abstractSound.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../../Misc/observable\";\nimport type { Nullable } from \"../../types\";\nimport { SoundState } from \"../soundState\";\nimport { AbstractNamedAudioNode, AudioNodeType } from \"./abstractAudioNode\";\nimport type { _AbstractSoundInstance } from \"./abstractSoundInstance\";\nimport type { PrimaryAudioBus } from \"./audioBus\";\nimport type { AudioEngineV2 } from \"./audioEngineV2\";\nimport type { _AbstractAudioSubGraph } from \"./subNodes/abstractAudioSubGraph\";\nimport type { IVolumeAudioOptions } from \"./subNodes/volumeAudioSubNode\";\nimport { _GetVolumeAudioProperty, _GetVolumeAudioSubNode } from \"./subNodes/volumeAudioSubNode\";\nimport type { AbstractAudioAnalyzer, IAudioAnalyzerOptions } from \"./subProperties/abstractAudioAnalyzer\";\nimport type { AbstractSpatialAudio, ISpatialAudioOptions } from \"./subProperties/abstractSpatialAudio\";\nimport type { AbstractStereoAudio, IStereoAudioOptions } from \"./subProperties/abstractStereoAudio\";\nimport { _AudioAnalyzer } from \"./subProperties/audioAnalyzer\";\n\n/** @internal */\nexport interface IAbstractSoundOptionsBase {\n /**\n * Whether the sound should start playing automatically. Defaults to `false`.\n */\n autoplay: boolean;\n /**\n * The maximum number of instances that can play at the same time. Defaults to `Infinity`.\n */\n maxInstances: number;\n}\n\n/** @internal */\nexport interface IAbstractSoundPlayOptionsBase {\n /**\n * Whether the sound should loop. Defaults to `false`.\n */\n loop: boolean;\n /**\n * The time within the sound buffer to start playing at, in seconds. Defaults to `0`.\n */\n startOffset: number;\n}\n\n/**\n * Options for creating a sound.\n */\nexport interface IAbstractSoundOptions extends IAbstractSoundOptionsBase, IAbstractSoundPlayOptions, IAudioAnalyzerOptions, ISpatialAudioOptions, IStereoAudioOptions {\n /**\n * The output bus for the sound. Defaults to `null`.\n * - If not set or `null`, the sound is automatically connected to the audio engine's default main bus.\n * @see {@link AudioEngineV2.defaultMainBus}\n */\n outBus: Nullable<PrimaryAudioBus>;\n}\n\n/**\n * Options for playing a sound.\n */\nexport interface IAbstractSoundPlayOptions extends IAbstractSoundPlayOptionsBase, IVolumeAudioOptions {}\n\n/**\n * Options stored in a sound.\n * @internal\n */\nexport interface IAbstractSoundStoredOptions extends IAbstractSoundOptionsBase, IAbstractSoundPlayOptionsBase {}\n\n/**\n * Abstract class representing a sound in the audio engine.\n */\nexport abstract class AbstractSound extends AbstractNamedAudioNode {\n private _analyzer: Nullable<AbstractAudioAnalyzer> = null;\n private _newestInstance: Nullable<_AbstractSoundInstance> = null;\n private _outBus: Nullable<PrimaryAudioBus> = null;\n private _privateInstances = new Set<_AbstractSoundInstance>();\n private _state: SoundState = SoundState.Stopped;\n\n protected _instances: ReadonlySet<_AbstractSoundInstance> = this._privateInstances;\n protected abstract readonly _options: IAbstractSoundStoredOptions;\n protected abstract _subGraph: _AbstractAudioSubGraph;\n\n /**\n * Observable for when the sound stops playing.\n */\n public readonly onEndedObservable = new Observable<AbstractSound>();\n\n protected constructor(name: string, engine: AudioEngineV2) {\n super(name, engine, AudioNodeType.HAS_INPUTS_AND_OUTPUTS); // Inputs are for instances.\n }\n\n /**\n * The analyzer features of the sound.\n */\n public get analyzer(): AbstractAudioAnalyzer {\n return this._analyzer ?? (this._analyzer = new _AudioAnalyzer(this._subGraph));\n }\n\n /**\n * Whether the sound should start playing automatically. Defaults to `false`.\n */\n public get autoplay(): boolean {\n return this._options.autoplay;\n }\n\n /**\n * The current playback time of the sound, in seconds.\n */\n public get currentTime(): number {\n const instance = this._getNewestInstance();\n return instance ? instance.currentTime : 0;\n }\n\n public set currentTime(value: number) {\n this.startOffset = value;\n\n const instance = this._getNewestInstance();\n if (instance) {\n instance.currentTime = value;\n }\n }\n\n /**\n * Whether the sound should loop. Defaults to `false`.\n */\n public get loop(): boolean {\n return this._options.loop;\n }\n\n public set loop(value: boolean) {\n this._options.loop = value;\n }\n\n /**\n * The maximum number of instances that can play at the same time. Defaults to `Infinity`.\n */\n public get maxInstances(): number {\n return this._options.maxInstances;\n }\n\n public set maxInstances(value: number) {\n this._options.maxInstances = value;\n }\n\n /**\n * The output bus for the sound. Defaults to `null`.\n * - If not set or `null`, the sound is automatically connected to the audio engine's default main bus.\n * @see {@link AudioEngineV2.defaultMainBus}\n */\n public get outBus(): Nullable<PrimaryAudioBus> {\n return this._outBus;\n }\n\n public set outBus(outBus: Nullable<PrimaryAudioBus>) {\n if (this._outBus === outBus) {\n return;\n }\n\n if (this._outBus) {\n this._outBus.onDisposeObservable.removeCallback(this._onOutBusDisposed);\n if (!this._disconnect(this._outBus)) {\n throw new Error(\"Disconnect failed\");\n }\n }\n\n this._outBus = outBus;\n\n if (this._outBus) {\n this._outBus.onDisposeObservable.add(this._onOutBusDisposed);\n if (!this._connect(this._outBus)) {\n throw new Error(\"Connect failed\");\n }\n }\n }\n\n /**\n * The spatial features of the sound.\n */\n public abstract spatial: AbstractSpatialAudio;\n\n /**\n * The time within the sound buffer to start playing at, in seconds. Defaults to `0`.\n */\n public get startOffset(): number {\n return this._options.startOffset;\n }\n\n public set startOffset(value: number) {\n this._options.startOffset = value;\n }\n\n /**\n * The state of the sound.\n */\n public get state(): SoundState {\n return this._state;\n }\n\n /**\n * The stereo features of the sound.\n */\n public abstract stereo: AbstractStereoAudio;\n\n /**\n * The output volume of the sound.\n */\n public get volume(): number {\n return _GetVolumeAudioProperty(this._subGraph, \"volume\");\n }\n\n public set volume(value: number) {\n // The volume subnode is created on initialization and should always exist.\n const node = _GetVolumeAudioSubNode(this._subGraph);\n if (!node) {\n throw new Error(\"No volume subnode\");\n }\n\n node.volume = value;\n }\n\n /**\n * Releases associated resources.\n */\n public override dispose(): void {\n super.dispose();\n\n this.stop();\n\n this._analyzer?.dispose();\n this._analyzer = null;\n\n this._newestInstance = null;\n this._outBus = null;\n\n this._privateInstances.clear();\n this.onEndedObservable.clear();\n }\n\n /**\n * Plays the sound.\n * - Triggers `onEndedObservable` if played for the full duration and the `loop` option is not set.\n * @param options The options to use when playing the sound. Options set here override the sound's options.\n */\n public abstract play(options?: Partial<IAbstractSoundPlayOptions>): void;\n\n /**\n * Pauses the sound.\n */\n public pause(): void {\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n next.value.pause();\n }\n\n this._state = SoundState.Paused;\n }\n\n /**\n * Resumes the sound.\n */\n public resume(): void {\n if (this._state !== SoundState.Paused) {\n return;\n }\n\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n next.value.resume();\n }\n\n this._state = SoundState.Started;\n }\n\n /**\n * Stops the sound.\n * - Triggers `onEndedObservable` if the sound is playing.\n */\n public abstract stop(): void;\n\n protected _beforePlay(instance: _AbstractSoundInstance): void {\n if (this.state === SoundState.Paused && this._instances.size > 0) {\n this.resume();\n return;\n }\n\n instance.onEndedObservable.addOnce(this._onInstanceEnded);\n this._privateInstances.add(instance);\n this._newestInstance = instance;\n }\n\n protected _afterPlay(instance: _AbstractSoundInstance): void {\n this._state = instance.state;\n }\n\n protected _getNewestInstance(): Nullable<_AbstractSoundInstance> {\n if (this._instances.size === 0) {\n return null;\n }\n\n if (!this._newestInstance) {\n const it = this._instances.values();\n for (let next = it.next(); !next.done; next = it.next()) {\n this._newestInstance = next.value;\n }\n }\n\n return this._newestInstance;\n }\n\n protected _setState(state: SoundState): void {\n this._state = state;\n }\n\n protected abstract _createInstance(): _AbstractSoundInstance;\n\n protected _stopExcessInstances(): void {\n if (this.maxInstances < Infinity) {\n const numberOfInstancesToStop = Array.from(this._instances).filter((instance) => instance.state === SoundState.Started).length - this.maxInstances;\n const it = this._instances.values();\n\n for (let i = 0; i < numberOfInstancesToStop; i++) {\n const instance = it.next().value;\n instance.stop();\n }\n }\n }\n\n private _onInstanceEnded: (instance: _AbstractSoundInstance) => void = (instance) => {\n if (this._newestInstance === instance) {\n this._newestInstance = null;\n }\n\n this._privateInstances.delete(instance);\n\n if (this._instances.size === 0) {\n this._state = SoundState.Stopped;\n this.onEndedObservable.notifyObservers(this);\n }\n };\n\n private _onOutBusDisposed = () => {\n this.outBus = null;\n };\n}\n"]}
|
|
@@ -15,6 +15,10 @@ export declare function LastCreatedAudioEngine(): Nullable<AudioEngineV2>;
|
|
|
15
15
|
* Options for creating a v2 audio engine.
|
|
16
16
|
*/
|
|
17
17
|
export interface IAudioEngineV2Options extends ISpatialAudioListenerOptions {
|
|
18
|
+
/**
|
|
19
|
+
* The smoothing duration to use when changing audio parameters, in seconds. Defaults to `0.01` (10 milliseconds).
|
|
20
|
+
*/
|
|
21
|
+
parameterRampDuration: number;
|
|
18
22
|
/**
|
|
19
23
|
* The initial output volume of the audio engine. Defaults to `1`.
|
|
20
24
|
*/
|
|
@@ -36,7 +40,8 @@ export declare abstract class AudioEngineV2 {
|
|
|
36
40
|
/** Owned top-level sound and bus nodes. */
|
|
37
41
|
private readonly _nodes;
|
|
38
42
|
private _defaultMainBus;
|
|
39
|
-
|
|
43
|
+
private _parameterRampDuration;
|
|
44
|
+
protected constructor(options: Partial<IAudioEngineV2Options>);
|
|
40
45
|
/**
|
|
41
46
|
* The elapsed time since the audio engine was started, in seconds.
|
|
42
47
|
*/
|
|
@@ -71,6 +76,11 @@ export declare abstract class AudioEngineV2 {
|
|
|
71
76
|
* The output volume of the audio engine.
|
|
72
77
|
*/
|
|
73
78
|
abstract volume: number;
|
|
79
|
+
/**
|
|
80
|
+
* The smoothing duration to use when changing audio parameters, in seconds. Defaults to `0.01` (10 milliseconds).
|
|
81
|
+
*/
|
|
82
|
+
get parameterRampDuration(): number;
|
|
83
|
+
set parameterRampDuration(value: number);
|
|
74
84
|
/**
|
|
75
85
|
* Creates a new audio bus.
|
|
76
86
|
* @param name - The name of the audio bus.
|
|
@@ -15,13 +15,17 @@ export function LastCreatedAudioEngine() {
|
|
|
15
15
|
* A v2 audio engine based on the WebAudio API can be created with the {@link CreateAudioEngineAsync} function.
|
|
16
16
|
*/
|
|
17
17
|
export class AudioEngineV2 {
|
|
18
|
-
constructor() {
|
|
18
|
+
constructor(options) {
|
|
19
19
|
/** Not owned, but all items should be in `_nodes` container, too, which is owned. */
|
|
20
20
|
this._mainBuses = new Set();
|
|
21
21
|
/** Owned top-level sound and bus nodes. */
|
|
22
22
|
this._nodes = new Set();
|
|
23
23
|
this._defaultMainBus = null;
|
|
24
|
+
this._parameterRampDuration = 0.01;
|
|
24
25
|
Instances.push(this);
|
|
26
|
+
if (typeof options.parameterRampDuration === "number") {
|
|
27
|
+
this.parameterRampDuration = options.parameterRampDuration;
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
27
31
|
* The default main bus that will be used for audio buses and sounds if their `outBus` option is not set.
|
|
@@ -37,6 +41,15 @@ export class AudioEngineV2 {
|
|
|
37
41
|
}
|
|
38
42
|
return this._defaultMainBus;
|
|
39
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* The smoothing duration to use when changing audio parameters, in seconds. Defaults to `0.01` (10 milliseconds).
|
|
46
|
+
*/
|
|
47
|
+
get parameterRampDuration() {
|
|
48
|
+
return this._parameterRampDuration;
|
|
49
|
+
}
|
|
50
|
+
set parameterRampDuration(value) {
|
|
51
|
+
this._parameterRampDuration = Math.max(0, value);
|
|
52
|
+
}
|
|
40
53
|
/**
|
|
41
54
|
* Releases associated resources.
|
|
42
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioEngineV2.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/audioEngineV2.ts"],"names":[],"mappings":"AASA,MAAM,SAAS,GAAoB,EAAE,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAkBD;;;;GAIG;AACH,MAAM,OAAgB,aAAa;IAS/B;QARA,qFAAqF;QACpE,eAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;QAEtD,2CAA2C;QAC1B,WAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEpD,oBAAe,GAA2B,IAAI,CAAC;QAGnD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAOD;;;;OAIG;IACH,IAAW,cAAc;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAgFD;;OAEG;IACI,OAAO;QACV,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAqBD;;;;OAIG;IACI,MAAM;QACT,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAES,WAAW,CAAC,OAAqB;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAES,cAAc,CAAC,OAAqB;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAES,QAAQ,CAAC,IAA4B;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAES,WAAW,CAAC,IAA4B;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,UAAqC,EAAE,EAAE,SAAkC,IAAI;IAC7H,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,UAAyC,EAAE,EAAE,SAAkC,IAAI;IACrI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAAY,EACZ,MAAyE,EACzE,UAAwC,EAAE,EAC1C,SAAkC,IAAI;IAEtC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAAyE,EACzE,UAA8C,EAAE,EAChD,SAAkC,IAAI;IAEtC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACrC,IAAY,EACZ,MAA4C,EAC5C,UAA2C,EAAE,EAC7C,SAAkC,IAAI;IAEtC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import type { Nullable } from \"../../types\";\nimport type { AbstractAudioNode, AbstractNamedAudioNode } from \"./abstractAudioNode\";\nimport type { AudioBus, IAudioBusOptions } from \"./audioBus\";\nimport type { IMainAudioBusOptions, MainAudioBus } from \"./mainAudioBus\";\nimport type { IStaticSoundOptions, StaticSound } from \"./staticSound\";\nimport type { IStaticSoundBufferOptions, StaticSoundBuffer } from \"./staticSoundBuffer\";\nimport type { IStreamingSoundOptions, StreamingSound } from \"./streamingSound\";\nimport type { AbstractSpatialAudioListener, ISpatialAudioListenerOptions } from \"./subProperties/abstractSpatialAudioListener\";\n\nconst Instances: AudioEngineV2[] = [];\n\n/**\n * Gets the most recently created v2 audio engine.\n * @returns The most recently created v2 audio engine.\n */\nexport function LastCreatedAudioEngine(): Nullable<AudioEngineV2> {\n if (Instances.length === 0) {\n return null;\n }\n\n return Instances[Instances.length - 1];\n}\n\n/**\n * Options for creating a v2 audio engine.\n */\nexport interface IAudioEngineV2Options extends ISpatialAudioListenerOptions {\n /**\n * The initial output volume of the audio engine. Defaults to `1`.\n */\n volume: number;\n}\n\n/**\n * The state of a v2 audio engine.\n * @see {@link AudioEngineV2.state}\n */\nexport type AudioEngineV2State = \"closed\" | \"interrupted\" | \"running\" | \"suspended\";\n\n/**\n * Abstract base class for v2 audio engines.\n *\n * A v2 audio engine based on the WebAudio API can be created with the {@link CreateAudioEngineAsync} function.\n */\nexport abstract class AudioEngineV2 {\n /** Not owned, but all items should be in `_nodes` container, too, which is owned. */\n private readonly _mainBuses = new Set<MainAudioBus>();\n\n /** Owned top-level sound and bus nodes. */\n private readonly _nodes = new Set<AbstractNamedAudioNode>();\n\n private _defaultMainBus: Nullable<MainAudioBus> = null;\n\n protected constructor() {\n Instances.push(this);\n }\n\n /**\n * The elapsed time since the audio engine was started, in seconds.\n */\n public abstract readonly currentTime: number;\n\n /**\n * The default main bus that will be used for audio buses and sounds if their `outBus` option is not set.\n * @see {@link IAudioBusOptions.outBus}\n * @see {@link IAbstractSoundOptions.outBus}\n */\n public get defaultMainBus(): Nullable<MainAudioBus> {\n if (this._mainBuses.size === 0) {\n return null;\n }\n\n if (!this._defaultMainBus) {\n this._defaultMainBus = Array.from(this._mainBuses)[0];\n }\n\n return this._defaultMainBus;\n }\n\n /**\n * The spatial audio listener properties for the audio engine.\n * - Each audio engine has exactly one listener.\n */\n public abstract readonly listener: AbstractSpatialAudioListener;\n\n /**\n * The main output node.\n * - This is the last node in the audio graph before the audio is sent to the speakers.\n */\n public abstract readonly mainOut: AbstractAudioNode;\n\n /**\n * The current state of the audio engine.\n *\n * Possible values are:\n * - `\"closed\"`: The audio engine has been closed.\n * - `\"interrupted\"`: The audio engine has been interrupted and is not running.\n * - `\"running\"`: The audio engine is running normally.\n * - `\"suspended\"`: The audio engine is suspended and is not running.\n */\n public abstract readonly state: AudioEngineV2State;\n\n /**\n * The output volume of the audio engine.\n */\n public abstract volume: number;\n\n /**\n * Creates a new audio bus.\n * @param name - The name of the audio bus.\n * @param options - The options to use when creating the audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created audio bus.\n */\n public abstract createBusAsync(name: string, options?: Partial<IAudioBusOptions>): Promise<AudioBus>;\n\n /**\n * Creates a new main audio bus.\n * @param name - The name of the main audio bus.\n * @param options - The options to use when creating the main audio bus.\n * @returns A promise that resolves with the created main audio bus.\n */\n public abstract createMainBusAsync(name: string, options?: Partial<IMainAudioBusOptions>): Promise<MainAudioBus>;\n /**\n * Creates a new static sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the static sound.\n * @returns A promise that resolves to the created static sound.\n */\n public abstract createSoundAsync(\n name: string,\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options?: Partial<IStaticSoundOptions>\n ): Promise<StaticSound>;\n\n /**\n * Creates a new static sound buffer.\n * @param source - The source of the sound buffer.\n * @param options - The options for the static sound buffer.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound buffer.\n */\n public abstract createSoundBufferAsync(\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options?: Partial<IStaticSoundBufferOptions>\n ): Promise<StaticSoundBuffer>;\n\n /**\n * Creates a new streaming sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the streaming sound.\n * @returns A promise that resolves to the created streaming sound.\n */\n public abstract createStreamingSoundAsync(name: string, source: HTMLMediaElement | string | string[], options?: Partial<IStreamingSoundOptions>): Promise<StreamingSound>;\n\n /**\n * Releases associated resources.\n */\n public dispose(): void {\n if (Instances.includes(this)) {\n Instances.splice(Instances.indexOf(this), 1);\n }\n\n const nodeIt = this._nodes.values();\n for (let next = nodeIt.next(); !next.done; next = nodeIt.next()) {\n next.value.dispose();\n }\n\n this._mainBuses.clear();\n this._nodes.clear();\n\n this._defaultMainBus = null;\n }\n\n /**\n * Checks if the specified format is valid.\n * @param format The format to check as an audio file extension like \"mp3\" or \"wav\".\n * @returns `true` if the format is valid; otherwise `false`.\n */\n public abstract isFormatValid(format: string): boolean;\n\n /**\n * Pauses the audio engine if it is running.\n * @returns A promise that resolves when the audio engine is paused.\n */\n public abstract pause(): Promise<void>;\n\n /**\n * Resumes the audio engine if it is not running.\n * @returns A promise that resolves when the audio engine is running.\n */\n public abstract resume(): Promise<void>;\n\n /**\n * Unlocks the audio engine if it is locked.\n * - Note that the returned promise may already be resolved if the audio engine is already unlocked.\n * @returns A promise that is resolved when the audio engine is unlocked.\n */\n public unlock(): Promise<void> {\n return this.resume();\n }\n\n protected _addMainBus(mainBus: MainAudioBus): void {\n this._mainBuses.add(mainBus);\n\n this._addNode(mainBus);\n }\n\n protected _removeMainBus(mainBus: MainAudioBus): void {\n this._mainBuses.delete(mainBus);\n this._defaultMainBus = null;\n\n this._removeNode(mainBus);\n }\n\n protected _addNode(node: AbstractNamedAudioNode): void {\n this._nodes.add(node);\n }\n\n protected _removeNode(node: AbstractNamedAudioNode): void {\n this._nodes.delete(node);\n }\n}\n\n/**\n * @internal\n * @param engine - The given audio engine. If `null` then the last created audio engine is used.\n * @returns the given audio engine or the last created audio engine.\n * @throws An error if the resulting engine is `null`.\n */\nexport function _GetAudioEngine(engine: Nullable<AudioEngineV2>): AudioEngineV2 {\n if (!engine) {\n engine = LastCreatedAudioEngine();\n }\n\n if (engine) {\n return engine;\n }\n\n throw new Error(\"No audio engine.\");\n}\n\n/**\n * Creates a new audio bus.\n * @param name - The name of the audio bus.\n * @param options - The options to use when creating the audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created audio bus.\n */\nexport function CreateAudioBusAsync(name: string, options: Partial<IAudioBusOptions> = {}, engine: Nullable<AudioEngineV2> = null): Promise<AudioBus> {\n engine = _GetAudioEngine(engine);\n return engine.createBusAsync(name, options);\n}\n\n/**\n * Creates a new main audio bus.\n * @param name - The name of the main audio bus.\n * @param options - The options to use when creating the main audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created main audio bus.\n */\nexport function CreateMainAudioBusAsync(name: string, options: Partial<IMainAudioBusOptions> = {}, engine: Nullable<AudioEngineV2> = null): Promise<MainAudioBus> {\n engine = _GetAudioEngine(engine);\n return engine.createMainBusAsync(name, options);\n}\n\n/**\n * Creates a new static sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the static sound.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound.\n */\nexport function CreateSoundAsync(\n name: string,\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options: Partial<IStaticSoundOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StaticSound> {\n engine = _GetAudioEngine(engine);\n return engine.createSoundAsync(name, source, options);\n}\n\n/**\n * Creates a new static sound buffer.\n * @param source - The source of the sound buffer.\n * @param options - The options for the static sound buffer.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound buffer.\n */\nexport async function CreateSoundBufferAsync(\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options: Partial<IStaticSoundBufferOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StaticSoundBuffer> {\n engine = _GetAudioEngine(engine);\n return engine.createSoundBufferAsync(source, options);\n}\n\n/**\n * Creates a new streaming sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the streaming sound.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created streaming sound.\n */\nexport function CreateStreamingSoundAsync(\n name: string,\n source: HTMLMediaElement | string | string[],\n options: Partial<IStreamingSoundOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StreamingSound> {\n engine = _GetAudioEngine(engine);\n return engine.createStreamingSoundAsync(name, source, options);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"audioEngineV2.js","sourceRoot":"","sources":["../../../../../dev/core/src/AudioV2/abstractAudio/audioEngineV2.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\nimport type { AbstractAudioNode, AbstractNamedAudioNode } from \"./abstractAudioNode\";\nimport type { AudioBus, IAudioBusOptions } from \"./audioBus\";\nimport type { IMainAudioBusOptions, MainAudioBus } from \"./mainAudioBus\";\nimport type { IStaticSoundOptions, StaticSound } from \"./staticSound\";\nimport type { IStaticSoundBufferOptions, StaticSoundBuffer } from \"./staticSoundBuffer\";\nimport type { IStreamingSoundOptions, StreamingSound } from \"./streamingSound\";\nimport type { AbstractSpatialAudioListener, ISpatialAudioListenerOptions } from \"./subProperties/abstractSpatialAudioListener\";\n\nconst Instances: AudioEngineV2[] = [];\n\n/**\n * Gets the most recently created v2 audio engine.\n * @returns The most recently created v2 audio engine.\n */\nexport function LastCreatedAudioEngine(): Nullable<AudioEngineV2> {\n if (Instances.length === 0) {\n return null;\n }\n\n return Instances[Instances.length - 1];\n}\n\n/**\n * Options for creating a v2 audio engine.\n */\nexport interface IAudioEngineV2Options extends ISpatialAudioListenerOptions {\n /**\n * The smoothing duration to use when changing audio parameters, in seconds. Defaults to `0.01` (10 milliseconds).\n */\n parameterRampDuration: number;\n /**\n * The initial output volume of the audio engine. Defaults to `1`.\n */\n volume: number;\n}\n\n/**\n * The state of a v2 audio engine.\n * @see {@link AudioEngineV2.state}\n */\nexport type AudioEngineV2State = \"closed\" | \"interrupted\" | \"running\" | \"suspended\";\n\n/**\n * Abstract base class for v2 audio engines.\n *\n * A v2 audio engine based on the WebAudio API can be created with the {@link CreateAudioEngineAsync} function.\n */\nexport abstract class AudioEngineV2 {\n /** Not owned, but all items should be in `_nodes` container, too, which is owned. */\n private readonly _mainBuses = new Set<MainAudioBus>();\n\n /** Owned top-level sound and bus nodes. */\n private readonly _nodes = new Set<AbstractNamedAudioNode>();\n\n private _defaultMainBus: Nullable<MainAudioBus> = null;\n\n private _parameterRampDuration: number = 0.01;\n\n protected constructor(options: Partial<IAudioEngineV2Options>) {\n Instances.push(this);\n\n if (typeof options.parameterRampDuration === \"number\") {\n this.parameterRampDuration = options.parameterRampDuration;\n }\n }\n\n /**\n * The elapsed time since the audio engine was started, in seconds.\n */\n public abstract readonly currentTime: number;\n\n /**\n * The default main bus that will be used for audio buses and sounds if their `outBus` option is not set.\n * @see {@link IAudioBusOptions.outBus}\n * @see {@link IAbstractSoundOptions.outBus}\n */\n public get defaultMainBus(): Nullable<MainAudioBus> {\n if (this._mainBuses.size === 0) {\n return null;\n }\n\n if (!this._defaultMainBus) {\n this._defaultMainBus = Array.from(this._mainBuses)[0];\n }\n\n return this._defaultMainBus;\n }\n\n /**\n * The spatial audio listener properties for the audio engine.\n * - Each audio engine has exactly one listener.\n */\n public abstract readonly listener: AbstractSpatialAudioListener;\n\n /**\n * The main output node.\n * - This is the last node in the audio graph before the audio is sent to the speakers.\n */\n public abstract readonly mainOut: AbstractAudioNode;\n\n /**\n * The current state of the audio engine.\n *\n * Possible values are:\n * - `\"closed\"`: The audio engine has been closed.\n * - `\"interrupted\"`: The audio engine has been interrupted and is not running.\n * - `\"running\"`: The audio engine is running normally.\n * - `\"suspended\"`: The audio engine is suspended and is not running.\n */\n public abstract readonly state: AudioEngineV2State;\n\n /**\n * The output volume of the audio engine.\n */\n public abstract volume: number;\n\n /**\n * The smoothing duration to use when changing audio parameters, in seconds. Defaults to `0.01` (10 milliseconds).\n */\n public get parameterRampDuration(): number {\n return this._parameterRampDuration;\n }\n\n public set parameterRampDuration(value: number) {\n this._parameterRampDuration = Math.max(0, value);\n }\n\n /**\n * Creates a new audio bus.\n * @param name - The name of the audio bus.\n * @param options - The options to use when creating the audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created audio bus.\n */\n public abstract createBusAsync(name: string, options?: Partial<IAudioBusOptions>): Promise<AudioBus>;\n\n /**\n * Creates a new main audio bus.\n * @param name - The name of the main audio bus.\n * @param options - The options to use when creating the main audio bus.\n * @returns A promise that resolves with the created main audio bus.\n */\n public abstract createMainBusAsync(name: string, options?: Partial<IMainAudioBusOptions>): Promise<MainAudioBus>;\n /**\n * Creates a new static sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the static sound.\n * @returns A promise that resolves to the created static sound.\n */\n public abstract createSoundAsync(\n name: string,\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options?: Partial<IStaticSoundOptions>\n ): Promise<StaticSound>;\n\n /**\n * Creates a new static sound buffer.\n * @param source - The source of the sound buffer.\n * @param options - The options for the static sound buffer.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound buffer.\n */\n public abstract createSoundBufferAsync(\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options?: Partial<IStaticSoundBufferOptions>\n ): Promise<StaticSoundBuffer>;\n\n /**\n * Creates a new streaming sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the streaming sound.\n * @returns A promise that resolves to the created streaming sound.\n */\n public abstract createStreamingSoundAsync(name: string, source: HTMLMediaElement | string | string[], options?: Partial<IStreamingSoundOptions>): Promise<StreamingSound>;\n\n /**\n * Releases associated resources.\n */\n public dispose(): void {\n if (Instances.includes(this)) {\n Instances.splice(Instances.indexOf(this), 1);\n }\n\n const nodeIt = this._nodes.values();\n for (let next = nodeIt.next(); !next.done; next = nodeIt.next()) {\n next.value.dispose();\n }\n\n this._mainBuses.clear();\n this._nodes.clear();\n\n this._defaultMainBus = null;\n }\n\n /**\n * Checks if the specified format is valid.\n * @param format The format to check as an audio file extension like \"mp3\" or \"wav\".\n * @returns `true` if the format is valid; otherwise `false`.\n */\n public abstract isFormatValid(format: string): boolean;\n\n /**\n * Pauses the audio engine if it is running.\n * @returns A promise that resolves when the audio engine is paused.\n */\n public abstract pause(): Promise<void>;\n\n /**\n * Resumes the audio engine if it is not running.\n * @returns A promise that resolves when the audio engine is running.\n */\n public abstract resume(): Promise<void>;\n\n /**\n * Unlocks the audio engine if it is locked.\n * - Note that the returned promise may already be resolved if the audio engine is already unlocked.\n * @returns A promise that is resolved when the audio engine is unlocked.\n */\n public unlock(): Promise<void> {\n return this.resume();\n }\n\n protected _addMainBus(mainBus: MainAudioBus): void {\n this._mainBuses.add(mainBus);\n\n this._addNode(mainBus);\n }\n\n protected _removeMainBus(mainBus: MainAudioBus): void {\n this._mainBuses.delete(mainBus);\n this._defaultMainBus = null;\n\n this._removeNode(mainBus);\n }\n\n protected _addNode(node: AbstractNamedAudioNode): void {\n this._nodes.add(node);\n }\n\n protected _removeNode(node: AbstractNamedAudioNode): void {\n this._nodes.delete(node);\n }\n}\n\n/**\n * @internal\n * @param engine - The given audio engine. If `null` then the last created audio engine is used.\n * @returns the given audio engine or the last created audio engine.\n * @throws An error if the resulting engine is `null`.\n */\nexport function _GetAudioEngine(engine: Nullable<AudioEngineV2>): AudioEngineV2 {\n if (!engine) {\n engine = LastCreatedAudioEngine();\n }\n\n if (engine) {\n return engine;\n }\n\n throw new Error(\"No audio engine.\");\n}\n\n/**\n * Creates a new audio bus.\n * @param name - The name of the audio bus.\n * @param options - The options to use when creating the audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created audio bus.\n */\nexport function CreateAudioBusAsync(name: string, options: Partial<IAudioBusOptions> = {}, engine: Nullable<AudioEngineV2> = null): Promise<AudioBus> {\n engine = _GetAudioEngine(engine);\n return engine.createBusAsync(name, options);\n}\n\n/**\n * Creates a new main audio bus.\n * @param name - The name of the main audio bus.\n * @param options - The options to use when creating the main audio bus.\n * @param engine - The audio engine.\n * @returns A promise that resolves with the created main audio bus.\n */\nexport function CreateMainAudioBusAsync(name: string, options: Partial<IMainAudioBusOptions> = {}, engine: Nullable<AudioEngineV2> = null): Promise<MainAudioBus> {\n engine = _GetAudioEngine(engine);\n return engine.createMainBusAsync(name, options);\n}\n\n/**\n * Creates a new static sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the static sound.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound.\n */\nexport function CreateSoundAsync(\n name: string,\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options: Partial<IStaticSoundOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StaticSound> {\n engine = _GetAudioEngine(engine);\n return engine.createSoundAsync(name, source, options);\n}\n\n/**\n * Creates a new static sound buffer.\n * @param source - The source of the sound buffer.\n * @param options - The options for the static sound buffer.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created static sound buffer.\n */\nexport async function CreateSoundBufferAsync(\n source: ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[],\n options: Partial<IStaticSoundBufferOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StaticSoundBuffer> {\n engine = _GetAudioEngine(engine);\n return engine.createSoundBufferAsync(source, options);\n}\n\n/**\n * Creates a new streaming sound.\n * @param name - The name of the sound.\n * @param source - The source of the sound.\n * @param options - The options for the streaming sound.\n * @param engine - The audio engine.\n * @returns A promise that resolves to the created streaming sound.\n */\nexport function CreateStreamingSoundAsync(\n name: string,\n source: HTMLMediaElement | string | string[],\n options: Partial<IStreamingSoundOptions> = {},\n engine: Nullable<AudioEngineV2> = null\n): Promise<StreamingSound> {\n engine = _GetAudioEngine(engine);\n return engine.createStreamingSoundAsync(name, source, options);\n}\n"]}
|
|
@@ -22,7 +22,7 @@ export declare abstract class _SpatialAudioSubNode extends _AbstractAudioSubNode
|
|
|
22
22
|
abstract rolloffFactor: number;
|
|
23
23
|
abstract rotation: Vector3;
|
|
24
24
|
abstract rotationQuaternion: Quaternion;
|
|
25
|
-
abstract
|
|
25
|
+
abstract _inNode: AudioNode;
|
|
26
26
|
/** @internal */
|
|
27
27
|
get isAttached(): boolean;
|
|
28
28
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatialAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Quaternion, Vector3 } from \"../../../Maths/math.vector\";\nimport type { Node } from \"../../../node\";\nimport type { Nullable } from \"../../../types\";\nimport type { SpatialAudioAttachmentType } from \"../../spatialAudioAttachmentType\";\nimport type { AudioEngineV2 } from \"../audioEngineV2\";\nimport { _SpatialAudioAttacherComponent } from \"../components/spatialAudioAttacherComponent\";\nimport type { ISpatialAudioOptions } from \"../subProperties/abstractSpatialAudio\";\nimport { _SpatialAudioDefaults } from \"../subProperties/abstractSpatialAudio\";\nimport type { _AbstractAudioSubGraph } from \"./abstractAudioSubGraph\";\nimport { _AbstractAudioSubNode } from \"./abstractAudioSubNode\";\nimport { AudioSubNode } from \"./audioSubNode\";\n\n/** @internal */\nexport abstract class _SpatialAudioSubNode extends _AbstractAudioSubNode {\n private _attacherComponent: Nullable<_SpatialAudioAttacherComponent> = null;\n\n protected constructor(engine: AudioEngineV2) {\n super(AudioSubNode.SPATIAL, engine);\n }\n\n public abstract coneInnerAngle: number;\n public abstract coneOuterAngle: number;\n public abstract coneOuterVolume: number;\n public abstract distanceModel: DistanceModelType;\n public abstract maxDistance: number;\n public abstract minDistance: number;\n public abstract panningModel: PanningModelType;\n public abstract position: Vector3;\n public abstract rolloffFactor: number;\n public abstract rotation: Vector3;\n public abstract rotationQuaternion: Quaternion;\n public abstract
|
|
1
|
+
{"version":3,"file":"spatialAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Quaternion, Vector3 } from \"../../../Maths/math.vector\";\nimport type { Node } from \"../../../node\";\nimport type { Nullable } from \"../../../types\";\nimport type { SpatialAudioAttachmentType } from \"../../spatialAudioAttachmentType\";\nimport type { AudioEngineV2 } from \"../audioEngineV2\";\nimport { _SpatialAudioAttacherComponent } from \"../components/spatialAudioAttacherComponent\";\nimport type { ISpatialAudioOptions } from \"../subProperties/abstractSpatialAudio\";\nimport { _SpatialAudioDefaults } from \"../subProperties/abstractSpatialAudio\";\nimport type { _AbstractAudioSubGraph } from \"./abstractAudioSubGraph\";\nimport { _AbstractAudioSubNode } from \"./abstractAudioSubNode\";\nimport { AudioSubNode } from \"./audioSubNode\";\n\n/** @internal */\nexport abstract class _SpatialAudioSubNode extends _AbstractAudioSubNode {\n private _attacherComponent: Nullable<_SpatialAudioAttacherComponent> = null;\n\n protected constructor(engine: AudioEngineV2) {\n super(AudioSubNode.SPATIAL, engine);\n }\n\n public abstract coneInnerAngle: number;\n public abstract coneOuterAngle: number;\n public abstract coneOuterVolume: number;\n public abstract distanceModel: DistanceModelType;\n public abstract maxDistance: number;\n public abstract minDistance: number;\n public abstract panningModel: PanningModelType;\n public abstract position: Vector3;\n public abstract rolloffFactor: number;\n public abstract rotation: Vector3;\n public abstract rotationQuaternion: Quaternion;\n public abstract _inNode: AudioNode;\n\n /** @internal */\n public get isAttached(): boolean {\n return this._attacherComponent !== null && this._attacherComponent.isAttached;\n }\n\n /** @internal */\n public attach(sceneNode: Nullable<Node>, useBoundingBox: boolean, attachmentType: SpatialAudioAttachmentType): void {\n this.detach();\n\n if (!this._attacherComponent) {\n this._attacherComponent = new _SpatialAudioAttacherComponent(this);\n }\n\n this._attacherComponent.attach(sceneNode, useBoundingBox, attachmentType);\n }\n\n /** @internal */\n public detach(): void {\n this._attacherComponent?.detach();\n }\n\n /** @internal */\n public override dispose(): void {\n super.dispose();\n\n this._attacherComponent?.dispose();\n this._attacherComponent = null;\n }\n\n /** @internal */\n public setOptions(options: Partial<ISpatialAudioOptions>): void {\n this.coneInnerAngle = options.spatialConeInnerAngle ?? _SpatialAudioDefaults.coneInnerAngle;\n this.coneOuterAngle = options.spatialConeOuterAngle ?? _SpatialAudioDefaults.coneOuterAngle;\n this.coneOuterVolume = options.spatialConeOuterVolume ?? _SpatialAudioDefaults.coneOuterVolume;\n this.distanceModel = options.spatialDistanceModel ?? _SpatialAudioDefaults.distanceModel;\n this.maxDistance = options.spatialMaxDistance ?? _SpatialAudioDefaults.maxDistance;\n this.minDistance = options.spatialMinDistance ?? _SpatialAudioDefaults.minDistance;\n this.panningModel = options.spatialPanningModel ?? _SpatialAudioDefaults.panningModel;\n this.rolloffFactor = options.spatialRolloffFactor ?? _SpatialAudioDefaults.rolloffFactor;\n\n if (options.spatialPosition) {\n this.position = options.spatialPosition.clone();\n }\n\n if (options.spatialRotationQuaternion) {\n this.rotationQuaternion = options.spatialRotationQuaternion.clone();\n } else if (options.spatialRotation) {\n this.rotation = options.spatialRotation.clone();\n } else {\n this.rotationQuaternion = _SpatialAudioDefaults.rotationQuaternion.clone();\n }\n\n this.update();\n }\n\n /** @internal */\n public update(): void {\n if (this.isAttached) {\n this._attacherComponent?.update();\n } else {\n this._updatePosition();\n this._updateRotation();\n }\n }\n\n public abstract _updatePosition(): void;\n public abstract _updateRotation(): void;\n}\n\n/** @internal */\nexport function _GetSpatialAudioSubNode(subGraph: _AbstractAudioSubGraph): Nullable<_SpatialAudioSubNode> {\n return subGraph.getSubNode<_SpatialAudioSubNode>(AudioSubNode.SPATIAL);\n}\n\n/** @internal */\nexport function _GetSpatialAudioProperty<K extends keyof typeof _SpatialAudioDefaults>(subGraph: _AbstractAudioSubGraph, property: K): (typeof _SpatialAudioDefaults)[K] {\n return _GetSpatialAudioSubNode(subGraph)?.[property] ?? _SpatialAudioDefaults[property];\n}\n\n/** @internal */\nexport function _SetSpatialAudioProperty<K extends keyof typeof _SpatialAudioDefaults>(subGraph: _AbstractAudioSubGraph, property: K, value: _SpatialAudioSubNode[K]): void {\n subGraph.callOnSubNode<_SpatialAudioSubNode>(AudioSubNode.SPATIAL, (node) => {\n node[property] = value;\n });\n}\n"]}
|
|
@@ -10,6 +10,8 @@ export declare class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
10
10
|
private _lastRotation;
|
|
11
11
|
private _lastRotationQuaternion;
|
|
12
12
|
/** @internal */
|
|
13
|
+
readonly engine: _WebAudioEngine;
|
|
14
|
+
/** @internal */
|
|
13
15
|
readonly position: Vector3;
|
|
14
16
|
/** @internal */
|
|
15
17
|
readonly rotation: Vector3;
|
|
@@ -44,9 +46,9 @@ export declare class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
44
46
|
get rolloffFactor(): number;
|
|
45
47
|
set rolloffFactor(value: number);
|
|
46
48
|
/** @internal */
|
|
47
|
-
get
|
|
49
|
+
get _inNode(): AudioNode;
|
|
48
50
|
/** @internal */
|
|
49
|
-
get
|
|
51
|
+
get _outNode(): AudioNode;
|
|
50
52
|
/** @internal */
|
|
51
53
|
_updatePosition(): void;
|
|
52
54
|
/** @internal */
|
|
@@ -28,7 +28,7 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
28
28
|
this.rotation = _SpatialAudioDefaults.rotation.clone();
|
|
29
29
|
/** @internal */
|
|
30
30
|
this.rotationQuaternion = _SpatialAudioDefaults.rotationQuaternion.clone();
|
|
31
|
-
this.node = new PannerNode(engine.
|
|
31
|
+
this.node = new PannerNode(engine._audioContext);
|
|
32
32
|
}
|
|
33
33
|
/** @internal */
|
|
34
34
|
get coneInnerAngle() {
|
|
@@ -91,11 +91,11 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
91
91
|
this.node.rolloffFactor = value;
|
|
92
92
|
}
|
|
93
93
|
/** @internal */
|
|
94
|
-
get
|
|
94
|
+
get _inNode() {
|
|
95
95
|
return this.node;
|
|
96
96
|
}
|
|
97
97
|
/** @internal */
|
|
98
|
-
get
|
|
98
|
+
get _outNode() {
|
|
99
99
|
return this.node;
|
|
100
100
|
}
|
|
101
101
|
/** @internal */
|
|
@@ -103,9 +103,9 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
103
103
|
if (this._lastPosition.equalsWithEpsilon(this.position)) {
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
|
-
this.node.positionX
|
|
107
|
-
this.node.positionY
|
|
108
|
-
this.node.positionZ
|
|
106
|
+
this.engine._setAudioParam(this.node.positionX, this.position.x);
|
|
107
|
+
this.engine._setAudioParam(this.node.positionY, this.position.y);
|
|
108
|
+
this.engine._setAudioParam(this.node.positionZ, this.position.z);
|
|
109
109
|
this._lastPosition.copyFrom(this.position);
|
|
110
110
|
}
|
|
111
111
|
/** @internal */
|
|
@@ -123,9 +123,9 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
123
123
|
}
|
|
124
124
|
Matrix.FromQuaternionToRef(TmpQuaternion, TmpMatrix);
|
|
125
125
|
Vector3.TransformNormalToRef(Vector3.RightReadOnly, TmpMatrix, TmpVector);
|
|
126
|
-
this.node.orientationX
|
|
127
|
-
this.node.orientationY
|
|
128
|
-
this.node.orientationZ
|
|
126
|
+
this.engine._setAudioParam(this.node.orientationX, TmpVector.x);
|
|
127
|
+
this.engine._setAudioParam(this.node.orientationY, TmpVector.y);
|
|
128
|
+
this.engine._setAudioParam(this.node.orientationZ, TmpVector.z);
|
|
129
129
|
}
|
|
130
130
|
_connect(node) {
|
|
131
131
|
const connected = super._connect(node);
|
|
@@ -133,8 +133,8 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
133
133
|
return false;
|
|
134
134
|
}
|
|
135
135
|
// If the wrapped node is not available now, it will be connected later by the subgraph.
|
|
136
|
-
if (node.
|
|
137
|
-
this.node.connect(node.
|
|
136
|
+
if (node._inNode) {
|
|
137
|
+
this.node.connect(node._inNode);
|
|
138
138
|
}
|
|
139
139
|
return true;
|
|
140
140
|
}
|
|
@@ -143,8 +143,8 @@ export class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {
|
|
|
143
143
|
if (!disconnected) {
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
|
-
if (node.
|
|
147
|
-
this.node.disconnect(node.
|
|
146
|
+
if (node._inNode) {
|
|
147
|
+
this.node.disconnect(node._inNode);
|
|
148
148
|
}
|
|
149
149
|
return true;
|
|
150
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatialWebAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, Quaternion, Vector3 } from \"../../../Maths/math.vector\";\r\nimport { _SpatialAudioSubNode } from \"../../abstractAudio/subNodes/spatialAudioSubNode\";\r\nimport { _SpatialAudioDefaults } from \"../../abstractAudio/subProperties/abstractSpatialAudio\";\r\nimport type { _WebAudioEngine } from \"../webAudioEngine\";\r\nimport type { IWebAudioInNode } from \"../webAudioNode\";\r\n\r\nconst TmpMatrix = Matrix.Zero();\r\nconst TmpQuaternion = new Quaternion();\r\nconst TmpVector = Vector3.Zero();\r\n\r\nfunction d2r(degrees: number): number {\r\n return (degrees * Math.PI) / 180;\r\n}\r\n\r\nfunction r2d(radians: number): number {\r\n return (radians * 180) / Math.PI;\r\n}\r\n\r\n/** @internal */\r\nexport async function _CreateSpatialAudioSubNodeAsync(engine: _WebAudioEngine): Promise<_SpatialAudioSubNode> {\r\n return new _SpatialWebAudioSubNode(engine);\r\n}\r\n\r\n/** @internal */\r\nexport class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {\r\n private _lastPosition: Vector3 = Vector3.Zero();\r\n private _lastRotation: Vector3 = Vector3.Zero();\r\n private _lastRotationQuaternion: Quaternion = new Quaternion();\r\n\r\n /** @internal */\r\n public readonly position = _SpatialAudioDefaults.position.clone();\r\n /** @internal */\r\n public readonly rotation: Vector3 = _SpatialAudioDefaults.rotation.clone();\r\n /** @internal */\r\n public readonly rotationQuaternion: Quaternion = _SpatialAudioDefaults.rotationQuaternion.clone();\r\n\r\n /** @internal */\r\n public readonly node: PannerNode;\r\n\r\n /** @internal */\r\n public constructor(engine: _WebAudioEngine) {\r\n super(engine);\r\n\r\n this.node = new PannerNode(engine.audioContext);\r\n }\r\n\r\n /** @internal */\r\n public get coneInnerAngle(): number {\r\n return d2r(this.node.coneInnerAngle);\r\n }\r\n\r\n public set coneInnerAngle(value: number) {\r\n this.node.coneInnerAngle = r2d(value);\r\n }\r\n\r\n /** @internal */\r\n public get coneOuterAngle(): number {\r\n return d2r(this.node.coneOuterAngle);\r\n }\r\n\r\n public set coneOuterAngle(value: number) {\r\n this.node.coneOuterAngle = r2d(value);\r\n }\r\n\r\n /** @internal */\r\n public get coneOuterVolume(): number {\r\n return this.node.coneOuterGain;\r\n }\r\n\r\n public set coneOuterVolume(value: number) {\r\n this.node.coneOuterGain = value;\r\n }\r\n\r\n /** @internal */\r\n public get distanceModel(): \"linear\" | \"inverse\" | \"exponential\" {\r\n return this.node.distanceModel;\r\n }\r\n\r\n public set distanceModel(value: \"linear\" | \"inverse\" | \"exponential\") {\r\n this.node.distanceModel = value;\r\n\r\n // Wiggle the max distance to make the change take effect.\r\n const maxDistance = this.node.maxDistance;\r\n this.node.maxDistance = maxDistance + 0.001;\r\n this.node.maxDistance = maxDistance;\r\n }\r\n\r\n /** @internal */\r\n public get minDistance(): number {\r\n return this.node.refDistance;\r\n }\r\n\r\n public set minDistance(value: number) {\r\n this.node.refDistance = value;\r\n }\r\n\r\n /** @internal */\r\n public get maxDistance(): number {\r\n return this.node.maxDistance;\r\n }\r\n\r\n public set maxDistance(value: number) {\r\n this.node.maxDistance = value;\r\n }\r\n\r\n /** @internal */\r\n public get panningModel(): \"equalpower\" | \"HRTF\" {\r\n return this.node.panningModel;\r\n }\r\n\r\n public set panningModel(value: \"equalpower\" | \"HRTF\") {\r\n this.node.panningModel = value;\r\n }\r\n\r\n /** @internal */\r\n public get rolloffFactor(): number {\r\n return this.node.rolloffFactor;\r\n }\r\n\r\n public set rolloffFactor(value: number) {\r\n this.node.rolloffFactor = value;\r\n }\r\n\r\n /** @internal */\r\n public get inNode(): AudioNode {\r\n return this.node;\r\n }\r\n\r\n /** @internal */\r\n public get outNode(): AudioNode {\r\n return this.node;\r\n }\r\n\r\n /** @internal */\r\n public _updatePosition(): void {\r\n if (this._lastPosition.equalsWithEpsilon(this.position)) {\r\n return;\r\n }\r\n\r\n this.node.positionX.value = this.position.x;\r\n this.node.positionY.value = this.position.y;\r\n this.node.positionZ.value = this.position.z;\r\n\r\n this._lastPosition.copyFrom(this.position);\r\n }\r\n\r\n /** @internal */\r\n public _updateRotation(): void {\r\n if (!this._lastRotationQuaternion.equalsWithEpsilon(this.rotationQuaternion)) {\r\n TmpQuaternion.copyFrom(this.rotationQuaternion);\r\n this._lastRotationQuaternion.copyFrom(this.rotationQuaternion);\r\n } else if (!this._lastRotation.equalsWithEpsilon(this.rotation)) {\r\n Quaternion.FromEulerAnglesToRef(this.rotation.x, this.rotation.y, this.rotation.z, TmpQuaternion);\r\n this._lastRotation.copyFrom(this.rotation);\r\n } else {\r\n return;\r\n }\r\n\r\n Matrix.FromQuaternionToRef(TmpQuaternion, TmpMatrix);\r\n Vector3.TransformNormalToRef(Vector3.RightReadOnly, TmpMatrix, TmpVector);\r\n\r\n this.node.orientationX.value = TmpVector.x;\r\n this.node.orientationY.value = TmpVector.y;\r\n this.node.orientationZ.value = TmpVector.z;\r\n }\r\n\r\n protected override _connect(node: IWebAudioInNode): boolean {\r\n const connected = super._connect(node);\r\n\r\n if (!connected) {\r\n return false;\r\n }\r\n\r\n // If the wrapped node is not available now, it will be connected later by the subgraph.\r\n if (node.inNode) {\r\n this.node.connect(node.inNode);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n protected override _disconnect(node: IWebAudioInNode): boolean {\r\n const disconnected = super._disconnect(node);\r\n\r\n if (!disconnected) {\r\n return false;\r\n }\r\n\r\n if (node.inNode) {\r\n this.node.disconnect(node.inNode);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n public getClassName(): string {\r\n return \"_SpatialWebAudioSubNode\";\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"spatialWebAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, Quaternion, Vector3 } from \"../../../Maths/math.vector\";\r\nimport { _SpatialAudioSubNode } from \"../../abstractAudio/subNodes/spatialAudioSubNode\";\r\nimport { _SpatialAudioDefaults } from \"../../abstractAudio/subProperties/abstractSpatialAudio\";\r\nimport type { _WebAudioEngine } from \"../webAudioEngine\";\r\nimport type { IWebAudioInNode } from \"../webAudioNode\";\r\n\r\nconst TmpMatrix = Matrix.Zero();\r\nconst TmpQuaternion = new Quaternion();\r\nconst TmpVector = Vector3.Zero();\r\n\r\nfunction d2r(degrees: number): number {\r\n return (degrees * Math.PI) / 180;\r\n}\r\n\r\nfunction r2d(radians: number): number {\r\n return (radians * 180) / Math.PI;\r\n}\r\n\r\n/** @internal */\r\nexport async function _CreateSpatialAudioSubNodeAsync(engine: _WebAudioEngine): Promise<_SpatialAudioSubNode> {\r\n return new _SpatialWebAudioSubNode(engine);\r\n}\r\n\r\n/** @internal */\r\nexport class _SpatialWebAudioSubNode extends _SpatialAudioSubNode {\r\n private _lastPosition: Vector3 = Vector3.Zero();\r\n private _lastRotation: Vector3 = Vector3.Zero();\r\n private _lastRotationQuaternion: Quaternion = new Quaternion();\r\n\r\n /** @internal */\r\n public override readonly engine: _WebAudioEngine;\r\n\r\n /** @internal */\r\n public readonly position = _SpatialAudioDefaults.position.clone();\r\n /** @internal */\r\n public readonly rotation: Vector3 = _SpatialAudioDefaults.rotation.clone();\r\n /** @internal */\r\n public readonly rotationQuaternion: Quaternion = _SpatialAudioDefaults.rotationQuaternion.clone();\r\n\r\n /** @internal */\r\n public readonly node: PannerNode;\r\n\r\n /** @internal */\r\n public constructor(engine: _WebAudioEngine) {\r\n super(engine);\r\n\r\n this.node = new PannerNode(engine._audioContext);\r\n }\r\n\r\n /** @internal */\r\n public get coneInnerAngle(): number {\r\n return d2r(this.node.coneInnerAngle);\r\n }\r\n\r\n public set coneInnerAngle(value: number) {\r\n this.node.coneInnerAngle = r2d(value);\r\n }\r\n\r\n /** @internal */\r\n public get coneOuterAngle(): number {\r\n return d2r(this.node.coneOuterAngle);\r\n }\r\n\r\n public set coneOuterAngle(value: number) {\r\n this.node.coneOuterAngle = r2d(value);\r\n }\r\n\r\n /** @internal */\r\n public get coneOuterVolume(): number {\r\n return this.node.coneOuterGain;\r\n }\r\n\r\n public set coneOuterVolume(value: number) {\r\n this.node.coneOuterGain = value;\r\n }\r\n\r\n /** @internal */\r\n public get distanceModel(): \"linear\" | \"inverse\" | \"exponential\" {\r\n return this.node.distanceModel;\r\n }\r\n\r\n public set distanceModel(value: \"linear\" | \"inverse\" | \"exponential\") {\r\n this.node.distanceModel = value;\r\n\r\n // Wiggle the max distance to make the change take effect.\r\n const maxDistance = this.node.maxDistance;\r\n this.node.maxDistance = maxDistance + 0.001;\r\n this.node.maxDistance = maxDistance;\r\n }\r\n\r\n /** @internal */\r\n public get minDistance(): number {\r\n return this.node.refDistance;\r\n }\r\n\r\n public set minDistance(value: number) {\r\n this.node.refDistance = value;\r\n }\r\n\r\n /** @internal */\r\n public get maxDistance(): number {\r\n return this.node.maxDistance;\r\n }\r\n\r\n public set maxDistance(value: number) {\r\n this.node.maxDistance = value;\r\n }\r\n\r\n /** @internal */\r\n public get panningModel(): \"equalpower\" | \"HRTF\" {\r\n return this.node.panningModel;\r\n }\r\n\r\n public set panningModel(value: \"equalpower\" | \"HRTF\") {\r\n this.node.panningModel = value;\r\n }\r\n\r\n /** @internal */\r\n public get rolloffFactor(): number {\r\n return this.node.rolloffFactor;\r\n }\r\n\r\n public set rolloffFactor(value: number) {\r\n this.node.rolloffFactor = value;\r\n }\r\n\r\n /** @internal */\r\n public get _inNode(): AudioNode {\r\n return this.node;\r\n }\r\n\r\n /** @internal */\r\n public get _outNode(): AudioNode {\r\n return this.node;\r\n }\r\n\r\n /** @internal */\r\n public _updatePosition(): void {\r\n if (this._lastPosition.equalsWithEpsilon(this.position)) {\r\n return;\r\n }\r\n\r\n this.engine._setAudioParam(this.node.positionX, this.position.x);\r\n this.engine._setAudioParam(this.node.positionY, this.position.y);\r\n this.engine._setAudioParam(this.node.positionZ, this.position.z);\r\n\r\n this._lastPosition.copyFrom(this.position);\r\n }\r\n\r\n /** @internal */\r\n public _updateRotation(): void {\r\n if (!this._lastRotationQuaternion.equalsWithEpsilon(this.rotationQuaternion)) {\r\n TmpQuaternion.copyFrom(this.rotationQuaternion);\r\n this._lastRotationQuaternion.copyFrom(this.rotationQuaternion);\r\n } else if (!this._lastRotation.equalsWithEpsilon(this.rotation)) {\r\n Quaternion.FromEulerAnglesToRef(this.rotation.x, this.rotation.y, this.rotation.z, TmpQuaternion);\r\n this._lastRotation.copyFrom(this.rotation);\r\n } else {\r\n return;\r\n }\r\n\r\n Matrix.FromQuaternionToRef(TmpQuaternion, TmpMatrix);\r\n Vector3.TransformNormalToRef(Vector3.RightReadOnly, TmpMatrix, TmpVector);\r\n\r\n this.engine._setAudioParam(this.node.orientationX, TmpVector.x);\r\n this.engine._setAudioParam(this.node.orientationY, TmpVector.y);\r\n this.engine._setAudioParam(this.node.orientationZ, TmpVector.z);\r\n }\r\n\r\n protected override _connect(node: IWebAudioInNode): boolean {\r\n const connected = super._connect(node);\r\n\r\n if (!connected) {\r\n return false;\r\n }\r\n\r\n // If the wrapped node is not available now, it will be connected later by the subgraph.\r\n if (node._inNode) {\r\n this.node.connect(node._inNode);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n protected override _disconnect(node: IWebAudioInNode): boolean {\r\n const disconnected = super._disconnect(node);\r\n\r\n if (!disconnected) {\r\n return false;\r\n }\r\n\r\n if (node._inNode) {\r\n this.node.disconnect(node._inNode);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n public getClassName(): string {\r\n return \"_SpatialWebAudioSubNode\";\r\n }\r\n}\r\n"]}
|
|
@@ -5,6 +5,9 @@ import type { IWebAudioInNode } from "../webAudioNode";
|
|
|
5
5
|
export declare function _CreateStereoAudioSubNodeAsync(engine: _WebAudioEngine): Promise<_StereoAudioSubNode>;
|
|
6
6
|
/** @internal */
|
|
7
7
|
export declare class _StereoWebAudioSubNode extends _StereoAudioSubNode {
|
|
8
|
+
private _pan;
|
|
9
|
+
/** @internal */
|
|
10
|
+
readonly engine: _WebAudioEngine;
|
|
8
11
|
/** @internal */
|
|
9
12
|
readonly node: StereoPannerNode;
|
|
10
13
|
/** @internal */
|
|
@@ -14,9 +17,9 @@ export declare class _StereoWebAudioSubNode extends _StereoAudioSubNode {
|
|
|
14
17
|
/** @internal */
|
|
15
18
|
set pan(value: number);
|
|
16
19
|
/** @internal */
|
|
17
|
-
get
|
|
20
|
+
get _inNode(): AudioNode;
|
|
18
21
|
/** @internal */
|
|
19
|
-
get
|
|
22
|
+
get _outNode(): AudioNode;
|
|
20
23
|
/** @internal */
|
|
21
24
|
getClassName(): string;
|
|
22
25
|
protected _connect(node: IWebAudioInNode): boolean;
|
|
@@ -8,22 +8,24 @@ export class _StereoWebAudioSubNode extends _StereoAudioSubNode {
|
|
|
8
8
|
/** @internal */
|
|
9
9
|
constructor(engine) {
|
|
10
10
|
super(engine);
|
|
11
|
-
this.
|
|
11
|
+
this._pan = 0;
|
|
12
|
+
this.node = new StereoPannerNode(engine._audioContext);
|
|
12
13
|
}
|
|
13
14
|
/** @internal */
|
|
14
15
|
get pan() {
|
|
15
|
-
return this.
|
|
16
|
+
return this._pan;
|
|
16
17
|
}
|
|
17
18
|
/** @internal */
|
|
18
19
|
set pan(value) {
|
|
19
|
-
this.
|
|
20
|
+
this._pan = value;
|
|
21
|
+
this.engine._setAudioParam(this.node.pan, value);
|
|
20
22
|
}
|
|
21
23
|
/** @internal */
|
|
22
|
-
get
|
|
24
|
+
get _inNode() {
|
|
23
25
|
return this.node;
|
|
24
26
|
}
|
|
25
27
|
/** @internal */
|
|
26
|
-
get
|
|
28
|
+
get _outNode() {
|
|
27
29
|
return this.node;
|
|
28
30
|
}
|
|
29
31
|
/** @internal */
|
|
@@ -36,8 +38,8 @@ export class _StereoWebAudioSubNode extends _StereoAudioSubNode {
|
|
|
36
38
|
return false;
|
|
37
39
|
}
|
|
38
40
|
// If the wrapped node is not available now, it will be connected later by the subgraph.
|
|
39
|
-
if (node.
|
|
40
|
-
this.node.connect(node.
|
|
41
|
+
if (node._inNode) {
|
|
42
|
+
this.node.connect(node._inNode);
|
|
41
43
|
}
|
|
42
44
|
return true;
|
|
43
45
|
}
|
|
@@ -46,8 +48,8 @@ export class _StereoWebAudioSubNode extends _StereoAudioSubNode {
|
|
|
46
48
|
if (!disconnected) {
|
|
47
49
|
return false;
|
|
48
50
|
}
|
|
49
|
-
if (node.
|
|
50
|
-
this.node.disconnect(node.
|
|
51
|
+
if (node._inNode) {
|
|
52
|
+
this.node.disconnect(node._inNode);
|
|
51
53
|
}
|
|
52
54
|
return true;
|
|
53
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stereoWebAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAItF,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAAuB;IACxE,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,gBAAgB;AAChB,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"stereoWebAudioSubNode.js","sourceRoot":"","sources":["../../../../../../dev/core/src/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAItF,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAAuB;IACxE,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,gBAAgB;AAChB,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAS3D,gBAAgB;IAChB,YAAmB,MAAuB;QACtC,KAAK,CAAC,MAAM,CAAC,CAAC;QAVV,SAAI,GAAW,CAAC,CAAC;QAYrB,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;IAChB,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,gBAAgB;IAChB,IAAW,GAAG,CAAC,KAAa;QACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB;IAChB,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,gBAAgB;IAChB,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,gBAAgB;IACT,YAAY;QACf,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAEkB,QAAQ,CAAC,IAAqB;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,wFAAwF;QACxF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEkB,WAAW,CAAC,IAAqB;QAChD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { _StereoAudioSubNode } from \"../../abstractAudio/subNodes/stereoAudioSubNode\";\nimport type { _WebAudioEngine } from \"../webAudioEngine\";\nimport type { IWebAudioInNode } from \"../webAudioNode\";\n\n/** @internal */\nexport async function _CreateStereoAudioSubNodeAsync(engine: _WebAudioEngine): Promise<_StereoAudioSubNode> {\n return new _StereoWebAudioSubNode(engine);\n}\n\n/** @internal */\nexport class _StereoWebAudioSubNode extends _StereoAudioSubNode {\n private _pan: number = 0;\n\n /** @internal */\n public override readonly engine: _WebAudioEngine;\n\n /** @internal */\n public readonly node: StereoPannerNode;\n\n /** @internal */\n public constructor(engine: _WebAudioEngine) {\n super(engine);\n\n this.node = new StereoPannerNode(engine._audioContext);\n }\n\n /** @internal */\n public get pan(): number {\n return this._pan;\n }\n\n /** @internal */\n public set pan(value: number) {\n this._pan = value;\n this.engine._setAudioParam(this.node.pan, value);\n }\n\n /** @internal */\n public get _inNode(): AudioNode {\n return this.node;\n }\n\n /** @internal */\n public get _outNode(): AudioNode {\n return this.node;\n }\n\n /** @internal */\n public getClassName(): string {\n return \"_StereoWebAudioSubNode\";\n }\n\n protected override _connect(node: IWebAudioInNode): boolean {\n const connected = super._connect(node);\n\n if (!connected) {\n return false;\n }\n\n // If the wrapped node is not available now, it will be connected later by the subgraph.\n if (node._inNode) {\n this.node.connect(node._inNode);\n }\n\n return true;\n }\n\n protected override _disconnect(node: IWebAudioInNode): boolean {\n const disconnected = super._disconnect(node);\n\n if (!disconnected) {\n return false;\n }\n\n if (node._inNode) {\n this.node.disconnect(node._inNode);\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -5,6 +5,9 @@ import type { IWebAudioInNode, IWebAudioSubNode } from "../webAudioNode";
|
|
|
5
5
|
export declare function _CreateVolumeAudioSubNodeAsync(engine: _WebAudioEngine): Promise<_VolumeAudioSubNode>;
|
|
6
6
|
/** @internal */
|
|
7
7
|
export declare class _VolumeWebAudioSubNode extends _VolumeAudioSubNode implements IWebAudioSubNode {
|
|
8
|
+
private _volume;
|
|
9
|
+
/** @internal */
|
|
10
|
+
readonly engine: _WebAudioEngine;
|
|
8
11
|
/** @internal */
|
|
9
12
|
readonly node: GainNode;
|
|
10
13
|
/** @internal */
|
|
@@ -14,9 +17,9 @@ export declare class _VolumeWebAudioSubNode extends _VolumeAudioSubNode implemen
|
|
|
14
17
|
/** @internal */
|
|
15
18
|
set volume(value: number);
|
|
16
19
|
/** @internal */
|
|
17
|
-
get
|
|
20
|
+
get _inNode(): AudioNode;
|
|
18
21
|
/** @internal */
|
|
19
|
-
get
|
|
22
|
+
get _outNode(): AudioNode;
|
|
20
23
|
protected _connect(node: IWebAudioInNode): boolean;
|
|
21
24
|
protected _disconnect(node: IWebAudioInNode): boolean;
|
|
22
25
|
/** @internal */
|