@spiffcommerce/preview 3.6.2-rc.3 → 3.6.2-rc.5
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/dist/lib/assetCache.esm.js +21 -0
- package/dist/lib/configuration.esm.js +98 -0
- package/dist/lib/core.esm.js +417 -0
- package/dist/lib/dynamicTexture.esm.js +51 -0
- package/dist/lib/glbLoaderExtensions.esm.js +137 -0
- package/dist/lib/glowLayerManager.esm.js +19 -0
- package/dist/lib/guid.esm.js +7 -0
- package/dist/lib/material.esm.js +50 -0
- package/dist/lib/modelContainer.esm.js +351 -0
- package/dist/lib/productAnimations.esm.js +123 -0
- package/dist/lib/productCamera.esm.js +113 -0
- package/dist/lib/renderConstants.esm.js +103 -0
- package/dist/lib/renderingPipeline.esm.js +99 -0
- package/dist/lib/types.esm.js +5 -0
- package/dist/lib/variants.esm.js +112 -0
- package/dist/node_modules/@babylonjs/core/Actions/abstractActionManager.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/Actions/action.esm.js +122 -0
- package/dist/node_modules/@babylonjs/core/Actions/actionEvent.esm.js +59 -0
- package/dist/node_modules/@babylonjs/core/Actions/actionManager.esm.js +335 -0
- package/dist/node_modules/@babylonjs/core/Actions/condition.esm.js +193 -0
- package/dist/node_modules/@babylonjs/core/Actions/directActions.esm.js +354 -0
- package/dist/node_modules/@babylonjs/core/Animations/animatable.esm.js +478 -0
- package/dist/node_modules/@babylonjs/core/Animations/animation.esm.js +866 -0
- package/dist/node_modules/@babylonjs/core/Animations/animationEvent.esm.js +18 -0
- package/dist/node_modules/@babylonjs/core/Animations/animationGroup.esm.js +470 -0
- package/dist/node_modules/@babylonjs/core/Animations/animationKey.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Animations/animationRange.esm.js +21 -0
- package/dist/node_modules/@babylonjs/core/Animations/easing.esm.js +93 -0
- package/dist/node_modules/@babylonjs/core/Animations/runtimeAnimation.esm.js +281 -0
- package/dist/node_modules/@babylonjs/core/Audio/sound.esm.js +568 -0
- package/dist/node_modules/@babylonjs/core/Audio/weightedsound.esm.js +117 -0
- package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/autoRotationBehavior.esm.js +145 -0
- package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/bouncingBehavior.esm.js +93 -0
- package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/framingBehavior.esm.js +295 -0
- package/dist/node_modules/@babylonjs/core/Bones/bone.esm.js +701 -0
- package/dist/node_modules/@babylonjs/core/Bones/skeleton.esm.js +478 -0
- package/dist/node_modules/@babylonjs/core/Buffers/buffer.esm.js +433 -0
- package/dist/node_modules/@babylonjs/core/Buffers/dataBuffer.esm.js +18 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraMouseWheelInput.esm.js +67 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraPointersInput.esm.js +191 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.esm.js +93 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraMouseWheelInput.esm.js +119 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraPointersInput.esm.js +119 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraKeyboardMoveInput.esm.js +108 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseInput.esm.js +114 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseWheelInput.esm.js +249 -0
- package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraTouchInput.esm.js +103 -0
- package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCamera.esm.js +589 -0
- package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCameraInputsManager.esm.js +37 -0
- package/dist/node_modules/@babylonjs/core/Cameras/camera.esm.js +686 -0
- package/dist/node_modules/@babylonjs/core/Cameras/cameraInputsManager.esm.js +147 -0
- package/dist/node_modules/@babylonjs/core/Cameras/freeCamera.esm.js +236 -0
- package/dist/node_modules/@babylonjs/core/Cameras/freeCameraInputsManager.esm.js +66 -0
- package/dist/node_modules/@babylonjs/core/Cameras/targetCamera.esm.js +214 -0
- package/dist/node_modules/@babylonjs/core/Collisions/intersectionInfo.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Collisions/meshCollisionData.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Collisions/pickingInfo.esm.js +59 -0
- package/dist/node_modules/@babylonjs/core/Compat/compatibilityOptions.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Culling/boundingBox.esm.js +174 -0
- package/dist/node_modules/@babylonjs/core/Culling/boundingInfo.esm.js +159 -0
- package/dist/node_modules/@babylonjs/core/Culling/boundingSphere.esm.js +114 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceEnums.esm.js +37 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSource.esm.js +23 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSourceManager.esm.js +106 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/eventFactory.esm.js +118 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/internalDeviceSourceManager.esm.js +46 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/nativeDeviceInputSystem.esm.js +50 -0
- package/dist/node_modules/@babylonjs/core/DeviceInput/webDeviceInputSystem.esm.js +354 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.alpha.esm.js +101 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.cubeTexture.esm.js +103 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicBuffer.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicTexture.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.multiRender.esm.js +111 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.rawTexture.esm.js +109 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.readTexture.esm.js +76 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTarget.esm.js +69 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTargetCube.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.uniformBuffer.esm.js +29 -0
- package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.views.esm.js +85 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.esm.js +36 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/shaderDefineExpression.esm.js +88 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeConditionNode.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeCursor.esm.js +44 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeNode.esm.js +31 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeTestNode.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderProcessor.esm.js +230 -0
- package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGL2ShaderProcessors.esm.js +30 -0
- package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLHardwareTexture.esm.js +34 -0
- package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLPipelineContext.esm.js +388 -0
- package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLRenderTargetWrapper.esm.js +87 -0
- package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLShaderProcessors.esm.js +16 -0
- package/dist/node_modules/@babylonjs/core/Engines/constants.esm.js +254 -0
- package/dist/node_modules/@babylonjs/core/Engines/engine.esm.js +1120 -0
- package/dist/node_modules/@babylonjs/core/Engines/engineStore.esm.js +23 -0
- package/dist/node_modules/@babylonjs/core/Engines/nullEngine.esm.js +697 -0
- package/dist/node_modules/@babylonjs/core/Engines/performanceConfigurator.esm.js +22 -0
- package/dist/node_modules/@babylonjs/core/Engines/renderTargetWrapper.esm.js +273 -0
- package/dist/node_modules/@babylonjs/core/Engines/shaderStore.esm.js +36 -0
- package/dist/node_modules/@babylonjs/core/Engines/thinEngine.esm.js +2921 -0
- package/dist/node_modules/@babylonjs/core/Events/deviceInputEvents.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Events/keyboardEvents.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/Events/pointerEvents.esm.js +63 -0
- package/dist/node_modules/@babylonjs/core/Inputs/pointerPickingConfiguration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Inputs/scene.inputManager.esm.js +418 -0
- package/dist/node_modules/@babylonjs/core/Layers/effectLayer.esm.js +437 -0
- package/dist/node_modules/@babylonjs/core/Layers/effectLayerSceneComponent.esm.js +141 -0
- package/dist/node_modules/@babylonjs/core/Layers/glowLayer.esm.js +343 -0
- package/dist/node_modules/@babylonjs/core/Layers/highlightLayer.esm.js +396 -0
- package/dist/node_modules/@babylonjs/core/Lights/directionalLight.esm.js +224 -0
- package/dist/node_modules/@babylonjs/core/Lights/hemisphericLight.esm.js +92 -0
- package/dist/node_modules/@babylonjs/core/Lights/light.esm.js +476 -0
- package/dist/node_modules/@babylonjs/core/Lights/lightConstants.esm.js +30 -0
- package/dist/node_modules/@babylonjs/core/Lights/pointLight.esm.js +153 -0
- package/dist/node_modules/@babylonjs/core/Lights/shadowLight.esm.js +196 -0
- package/dist/node_modules/@babylonjs/core/Lights/spotLight.esm.js +287 -0
- package/dist/node_modules/@babylonjs/core/Loading/sceneLoader.esm.js +551 -0
- package/dist/node_modules/@babylonjs/core/Loading/sceneLoaderFlags.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrAnisotropicConfiguration.esm.js +112 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBRDFConfiguration.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBaseMaterial.esm.js +568 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrClearCoatConfiguration.esm.js +139 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrIridescenceConfiguration.esm.js +97 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrMaterial.esm.js +496 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSheenConfiguration.esm.js +106 -0
- package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSubSurfaceConfiguration.esm.js +270 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/Filtering/hdrFiltering.esm.js +103 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader.esm.js +53 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/envTextureLoader.esm.js +51 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ktxTextureLoader.esm.js +81 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.esm.js +542 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.polynomial.esm.js +23 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/cubeTexture.esm.js +244 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/dynamicTexture.esm.js +134 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/equiRectangularCubeTexture.esm.js +89 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/hdrCubeTexture.esm.js +175 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/internalTexture.esm.js +150 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/ktx2decoderTypes.esm.js +17 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/mirrorTexture.esm.js +138 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/multiRenderTarget.esm.js +223 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/rawCubeTexture.esm.js +58 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture.esm.js +156 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture2DArray.esm.js +53 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/renderTargetTexture.esm.js +605 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/texture.esm.js +421 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/textureSampler.esm.js +101 -0
- package/dist/node_modules/@babylonjs/core/Materials/Textures/thinTexture.esm.js +170 -0
- package/dist/node_modules/@babylonjs/core/Materials/clipPlaneMaterialHelper.esm.js +28 -0
- package/dist/node_modules/@babylonjs/core/Materials/colorCurves.esm.js +397 -0
- package/dist/node_modules/@babylonjs/core/Materials/drawWrapper.esm.js +22 -0
- package/dist/node_modules/@babylonjs/core/Materials/effect.esm.js +890 -0
- package/dist/node_modules/@babylonjs/core/Materials/effectFallbacks.esm.js +73 -0
- package/dist/node_modules/@babylonjs/core/Materials/effectRenderer.esm.js +132 -0
- package/dist/node_modules/@babylonjs/core/Materials/imageProcessingConfiguration.esm.js +428 -0
- package/dist/node_modules/@babylonjs/core/Materials/material.detailMapConfiguration.esm.js +90 -0
- package/dist/node_modules/@babylonjs/core/Materials/material.esm.js +906 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialDefines.esm.js +161 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialFlags.esm.js +226 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialHelper.esm.js +501 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialPluginBase.esm.js +226 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialPluginEvent.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialPluginManager.esm.js +212 -0
- package/dist/node_modules/@babylonjs/core/Materials/materialStencilState.esm.js +145 -0
- package/dist/node_modules/@babylonjs/core/Materials/multiMaterial.esm.js +164 -0
- package/dist/node_modules/@babylonjs/core/Materials/prePassConfiguration.esm.js +38 -0
- package/dist/node_modules/@babylonjs/core/Materials/pushMaterial.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/Materials/shaderLanguage.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Materials/shaderMaterial.esm.js +838 -0
- package/dist/node_modules/@babylonjs/core/Materials/standardMaterial.esm.js +934 -0
- package/dist/node_modules/@babylonjs/core/Materials/uniformBuffer.esm.js +541 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.axis.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.color.esm.js +903 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.constants.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.frustum.esm.js +91 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.functions.esm.js +43 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.path.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.plane.esm.js +145 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.scalar.esm.js +284 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.size.esm.js +124 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.vector.esm.js +4915 -0
- package/dist/node_modules/@babylonjs/core/Maths/math.viewport.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/Maths/sphericalPolynomial.esm.js +177 -0
- package/dist/node_modules/@babylonjs/core/Meshes/Builders/boxBuilder.esm.js +260 -0
- package/dist/node_modules/@babylonjs/core/Meshes/Compression/dracoCompression.esm.js +233 -0
- package/dist/node_modules/@babylonjs/core/Meshes/Compression/meshoptCompression.esm.js +47 -0
- package/dist/node_modules/@babylonjs/core/Meshes/WebGL/webGLDataBuffer.esm.js +12 -0
- package/dist/node_modules/@babylonjs/core/Meshes/abstractMesh.esm.js +1448 -0
- package/dist/node_modules/@babylonjs/core/Meshes/geometry.esm.js +729 -0
- package/dist/node_modules/@babylonjs/core/Meshes/instancedMesh.esm.js +455 -0
- package/dist/node_modules/@babylonjs/core/Meshes/mesh.esm.js +2526 -0
- package/dist/node_modules/@babylonjs/core/Meshes/mesh.vertexData.esm.js +865 -0
- package/dist/node_modules/@babylonjs/core/Meshes/meshLODLevel.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Meshes/subMesh.esm.js +422 -0
- package/dist/node_modules/@babylonjs/core/Meshes/thinInstanceMesh.esm.js +129 -0
- package/dist/node_modules/@babylonjs/core/Meshes/transformNode.esm.js +796 -0
- package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/cubemapToSphericalPolynomial.esm.js +111 -0
- package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/hdr.esm.js +122 -0
- package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/panoramaToCubemap.esm.js +78 -0
- package/dist/node_modules/@babylonjs/core/Misc/andOrNotEvaluator.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/Misc/arrayTools.esm.js +52 -0
- package/dist/node_modules/@babylonjs/core/Misc/assetsManager.esm.js +561 -0
- package/dist/node_modules/@babylonjs/core/Misc/brdfTextureTools.esm.js +31 -0
- package/dist/node_modules/@babylonjs/core/Misc/copyTools.esm.js +44 -0
- package/dist/node_modules/@babylonjs/core/Misc/coroutine.esm.js +53 -0
- package/dist/node_modules/@babylonjs/core/Misc/dataReader.esm.js +55 -0
- package/dist/node_modules/@babylonjs/core/Misc/dds.esm.js +329 -0
- package/dist/node_modules/@babylonjs/core/Misc/decorators.esm.js +332 -0
- package/dist/node_modules/@babylonjs/core/Misc/deepCopier.esm.js +52 -0
- package/dist/node_modules/@babylonjs/core/Misc/deferred.esm.js +25 -0
- package/dist/node_modules/@babylonjs/core/Misc/devTools.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Misc/domManagement.esm.js +21 -0
- package/dist/node_modules/@babylonjs/core/Misc/dumpTools.esm.js +117 -0
- package/dist/node_modules/@babylonjs/core/Misc/environmentTextureTools.esm.js +187 -0
- package/dist/node_modules/@babylonjs/core/Misc/error.esm.js +40 -0
- package/dist/node_modules/@babylonjs/core/Misc/fileTools.esm.js +339 -0
- package/dist/node_modules/@babylonjs/core/Misc/filesInputStore.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Misc/guid.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Misc/instantiationTools.esm.js +26 -0
- package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer.esm.js +79 -0
- package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer2.esm.js +281 -0
- package/dist/node_modules/@babylonjs/core/Misc/logger.esm.js +77 -0
- package/dist/node_modules/@babylonjs/core/Misc/observable.esm.js +231 -0
- package/dist/node_modules/@babylonjs/core/Misc/perfCounter.esm.js +99 -0
- package/dist/node_modules/@babylonjs/core/Misc/performanceMonitor.esm.js +144 -0
- package/dist/node_modules/@babylonjs/core/Misc/precisionDate.esm.js +12 -0
- package/dist/node_modules/@babylonjs/core/Misc/retryStrategy.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Misc/rgbdTextureTools.esm.js +51 -0
- package/dist/node_modules/@babylonjs/core/Misc/screenshotTools.esm.js +92 -0
- package/dist/node_modules/@babylonjs/core/Misc/smartArray.esm.js +118 -0
- package/dist/node_modules/@babylonjs/core/Misc/stringDictionary.esm.js +129 -0
- package/dist/node_modules/@babylonjs/core/Misc/stringTools.esm.js +26 -0
- package/dist/node_modules/@babylonjs/core/Misc/tags.esm.js +97 -0
- package/dist/node_modules/@babylonjs/core/Misc/textureTools.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/Misc/timingTools.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Misc/tools.esm.js +929 -0
- package/dist/node_modules/@babylonjs/core/Misc/typeStore.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Misc/uniqueIdGenerator.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Misc/webRequest.esm.js +135 -0
- package/dist/node_modules/@babylonjs/core/Misc/workerPool.esm.js +80 -0
- package/dist/node_modules/@babylonjs/core/Morph/morphTarget.esm.js +187 -0
- package/dist/node_modules/@babylonjs/core/Morph/morphTargetManager.esm.js +249 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.esm.js +349 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.esm.js +306 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.esm.js +161 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.esm.js +589 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.esm.js +512 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderEffect.esm.js +114 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipeline.esm.js +139 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.esm.js +99 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/bloomEffect.esm.js +76 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/bloomMergePostProcess.esm.js +40 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/blurPostProcess.esm.js +165 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/chromaticAberrationPostProcess.esm.js +61 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/circleOfConfusionPostProcess.esm.js +62 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldBlurPostProcess.esm.js +58 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldEffect.esm.js +131 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldMergePostProcess.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/extractHighlightsPostProcess.esm.js +27 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/fxaaPostProcess.esm.js +41 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/grainPostProcess.esm.js +46 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/imageProcessingPostProcess.esm.js +359 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/motionBlurPostProcess.esm.js +178 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/passPostProcess.esm.js +40 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/postProcess.esm.js +457 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/postProcessManager.esm.js +94 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/screenSpaceReflectionPostProcess.esm.js +147 -0
- package/dist/node_modules/@babylonjs/core/PostProcesses/sharpenPostProcess.esm.js +46 -0
- package/dist/node_modules/@babylonjs/core/Probes/reflectionProbe.esm.js +184 -0
- package/dist/node_modules/@babylonjs/core/Rendering/boundingBoxRenderer.esm.js +170 -0
- package/dist/node_modules/@babylonjs/core/Rendering/depthRenderer.esm.js +185 -0
- package/dist/node_modules/@babylonjs/core/Rendering/depthRendererSceneComponent.esm.js +65 -0
- package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRenderer.esm.js +353 -0
- package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRendererSceneComponent.esm.js +55 -0
- package/dist/node_modules/@babylonjs/core/Rendering/motionBlurConfiguration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Rendering/renderingGroup.esm.js +223 -0
- package/dist/node_modules/@babylonjs/core/Rendering/renderingManager.esm.js +185 -0
- package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflections2Configuration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflectionsConfiguration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Rendering/ssao2Configuration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.esm.js +48 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.esm.js +24 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.esm.js +35 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesVertex.esm.js +56 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.esm.js +4 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragment.esm.js +67 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentFunctions.esm.js +58 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentMainFunctions.esm.js +93 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertex.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertexDeclaration.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.esm.js +42 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.esm.js +21 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.esm.js +21 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.esm.js +27 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragment.esm.js +12 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragmentDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalVertexDeclaration.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultFragmentDeclaration.esm.js +86 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultUboDeclaration.esm.js +50 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultVertexDeclaration.esm.js +46 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/depthPrePass.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragment.esm.js +10 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.esm.js +34 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertex.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fresnelFunction.esm.js +10 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryUboDeclaration.esm.js +5 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryVertexDeclaration.esm.js +4 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/harmonicsFunctions.esm.js +42 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/hdrFilteringFunctions.esm.js +139 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/helperFunctions.esm.js +166 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingDeclaration.esm.js +32 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingFunctions.esm.js +129 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/importanceSampling.esm.js +22 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.esm.js +31 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesVertex.esm.js +20 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment2.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.esm.js +3 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVertex.esm.js +3 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragment.esm.js +278 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.esm.js +82 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.esm.js +81 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxFragmentDeclaration.esm.js +35 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxUboDeclaration.esm.js +34 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.esm.js +93 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.esm.js +7 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mainUVVaryingDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/meshUboDeclaration.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertex.esm.js +32 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexDeclaration.esm.js +17 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobal.esm.js +8 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mrtFragmentDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitDeclaration.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitFragment.esm.js +40 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/packingFunctions.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBRDFFunctions.esm.js +268 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.esm.js +83 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlphaFresnel.esm.js +37 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.esm.js +32 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAnisotropic.esm.js +50 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockClearcoat.esm.js +276 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockDirectLighting.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalColorComposition.esm.js +45 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalLitComponents.esm.js +100 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.esm.js +27 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockGeometryInfo.esm.js +30 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockImageProcessing.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockIridescence.esm.js +63 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockLightmapInit.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalFinal.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalGeometric.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance.esm.js +24 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance0.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflection.esm.js +270 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectivity.esm.js +131 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSheen.esm.js +197 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSubSurface.esm.js +337 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDebug.esm.js +176 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.esm.js +64 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFunctions.esm.js +130 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.esm.js +53 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentDeclaration.esm.js +179 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.esm.js +18 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.esm.js +101 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrHelperFunctions.esm.js +83 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrIBLFunctions.esm.js +35 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrUboDeclaration.esm.js +65 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrVertexDeclaration.esm.js +151 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pointCloudVertex.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassDeclaration.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertex.esm.js +37 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertexDeclaration.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/reflectionFunction.esm.js +116 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.esm.js +20 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentDeclaration.esm.js +21 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexImplementation.esm.js +39 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/sceneUboDeclaration.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/screenSpaceRayTrace.esm.js +208 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.esm.js +614 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.esm.js +23 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/subSurfaceScatteringFunctions.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvAttributeDeclaration.esm.js +6 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvVariableDeclaration.esm.js +9 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.esm.js +16 -0
- package/dist/node_modules/@babylonjs/core/Shaders/bloomMerge.fragment.esm.js +14 -0
- package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.fragment.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.vertex.esm.js +22 -0
- package/dist/node_modules/@babylonjs/core/Shaders/chromaticAberration.fragment.esm.js +34 -0
- package/dist/node_modules/@babylonjs/core/Shaders/circleOfConfusion.fragment.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/default.fragment.esm.js +387 -0
- package/dist/node_modules/@babylonjs/core/Shaders/default.vertex.esm.js +171 -0
- package/dist/node_modules/@babylonjs/core/Shaders/depth.fragment.esm.js +47 -0
- package/dist/node_modules/@babylonjs/core/Shaders/depth.vertex.esm.js +72 -0
- package/dist/node_modules/@babylonjs/core/Shaders/depthOfField.fragment.esm.js +137 -0
- package/dist/node_modules/@babylonjs/core/Shaders/depthOfFieldMerge.fragment.esm.js +54 -0
- package/dist/node_modules/@babylonjs/core/Shaders/extractHighlights.fragment.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/fxaa.fragment.esm.js +211 -0
- package/dist/node_modules/@babylonjs/core/Shaders/fxaa.vertex.esm.js +29 -0
- package/dist/node_modules/@babylonjs/core/Shaders/geometry.fragment.esm.js +147 -0
- package/dist/node_modules/@babylonjs/core/Shaders/geometry.vertex.esm.js +164 -0
- package/dist/node_modules/@babylonjs/core/Shaders/glowBlurPostProcess.fragment.esm.js +39 -0
- package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.fragment.esm.js +73 -0
- package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.vertex.esm.js +94 -0
- package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.fragment.esm.js +29 -0
- package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.vertex.esm.js +12 -0
- package/dist/node_modules/@babylonjs/core/Shaders/grain.fragment.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.fragment.esm.js +19 -0
- package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.vertex.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/imageProcessing.fragment.esm.js +26 -0
- package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.fragment.esm.js +49 -0
- package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.vertex.esm.js +17 -0
- package/dist/node_modules/@babylonjs/core/Shaders/lensHighlights.fragment.esm.js +115 -0
- package/dist/node_modules/@babylonjs/core/Shaders/motionBlur.fragment.esm.js +74 -0
- package/dist/node_modules/@babylonjs/core/Shaders/pass.fragment.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/passCube.fragment.esm.js +27 -0
- package/dist/node_modules/@babylonjs/core/Shaders/pbr.fragment.esm.js +648 -0
- package/dist/node_modules/@babylonjs/core/Shaders/pbr.vertex.esm.js +236 -0
- package/dist/node_modules/@babylonjs/core/Shaders/postprocess.vertex.esm.js +13 -0
- package/dist/node_modules/@babylonjs/core/Shaders/rgbdDecode.fragment.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Shaders/rgbdEncode.fragment.esm.js +11 -0
- package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection.fragment.esm.js +136 -0
- package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2.fragment.esm.js +215 -0
- package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2Blur.fragment.esm.js +52 -0
- package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2BlurCombiner.fragment.esm.js +59 -0
- package/dist/node_modules/@babylonjs/core/Shaders/sharpen.fragment.esm.js +18 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ssao.fragment.esm.js +55 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ssao2.fragment.esm.js +165 -0
- package/dist/node_modules/@babylonjs/core/Shaders/ssaoCombine.fragment.esm.js +15 -0
- package/dist/node_modules/@babylonjs/core/Shaders/standard.fragment.esm.js +339 -0
- package/dist/node_modules/@babylonjs/core/States/alphaCullingState.esm.js +35 -0
- package/dist/node_modules/@babylonjs/core/States/depthCullingState.esm.js +69 -0
- package/dist/node_modules/@babylonjs/core/States/stencilState.esm.js +62 -0
- package/dist/node_modules/@babylonjs/core/States/stencilStateComposer.esm.js +70 -0
- package/dist/node_modules/@babylonjs/core/abstractScene.esm.js +71 -0
- package/dist/node_modules/@babylonjs/core/assetContainer.esm.js +425 -0
- package/dist/node_modules/@babylonjs/core/node.esm.js +536 -0
- package/dist/node_modules/@babylonjs/core/scene.esm.js +2809 -0
- package/dist/node_modules/@babylonjs/core/sceneComponent.esm.js +102 -0
- package/dist/node_modules/@babylonjs/core/tslib.es6.esm.js +12 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.esm.js +37 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.esm.js +902 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.esm.js +42 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.esm.js +195 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.esm.js +75 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.esm.js +77 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.esm.js +53 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.esm.js +31 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.esm.js +29 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.esm.js +47 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.esm.js +173 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.esm.js +82 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.esm.js +68 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.esm.js +60 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.esm.js +39 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.esm.js +42 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.esm.js +32 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.esm.js +35 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.esm.js +41 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.esm.js +41 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.esm.js +41 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.esm.js +41 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_translucency.esm.js +41 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.esm.js +136 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.esm.js +37 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.esm.js +178 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.esm.js +40 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.esm.js +17 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.esm.js +29 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.esm.js +29 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.esm.js +31 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.esm.js +149 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.esm.js +170 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.esm.js +29 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.esm.js +29 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.esm.js +1562 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.esm.js +66 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.esm.js +462 -0
- package/dist/node_modules/@babylonjs/loaders/glTF/glTFValidation.esm.js +81 -0
- package/package.json +6 -4
- /package/dist/{src/index.esm.js → index.esm.js} +0 -0
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import { Tools as P } from "../Misc/tools.esm.js";
|
|
2
|
+
import { Observable as A } from "../Misc/observable.esm.js";
|
|
3
|
+
import { Vector3 as y } from "../Maths/math.vector.esm.js";
|
|
4
|
+
import { Engine as t } from "../Engines/engine.esm.js";
|
|
5
|
+
import { Logger as g } from "../Misc/logger.esm.js";
|
|
6
|
+
import { _WarnImport as T } from "../Misc/devTools.esm.js";
|
|
7
|
+
import { EngineStore as b } from "../Engines/engineStore.esm.js";
|
|
8
|
+
class p {
|
|
9
|
+
/**
|
|
10
|
+
* Does the sound loop after it finishes playing once.
|
|
11
|
+
*/
|
|
12
|
+
get loop() {
|
|
13
|
+
return this._loop;
|
|
14
|
+
}
|
|
15
|
+
set loop(i) {
|
|
16
|
+
i !== this._loop && (this._loop = i, this.updateOptions({ loop: i }));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Gets the current time for the sound.
|
|
20
|
+
*/
|
|
21
|
+
get currentTime() {
|
|
22
|
+
var i;
|
|
23
|
+
if (this._htmlAudioElement)
|
|
24
|
+
return this._htmlAudioElement.currentTime;
|
|
25
|
+
if (!((i = t.audioEngine) === null || i === void 0) && i.audioContext && (this.isPlaying || this.isPaused)) {
|
|
26
|
+
const e = this.isPaused ? 0 : t.audioEngine.audioContext.currentTime - this._startTime;
|
|
27
|
+
return this._currentTime + e;
|
|
28
|
+
}
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Does this sound enables spatial sound.
|
|
33
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#creating-a-spatial-3d-sound
|
|
34
|
+
*/
|
|
35
|
+
get spatialSound() {
|
|
36
|
+
return this._spatialSound;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Does this sound enables spatial sound.
|
|
40
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#creating-a-spatial-3d-sound
|
|
41
|
+
*/
|
|
42
|
+
set spatialSound(i) {
|
|
43
|
+
if (i == this._spatialSound)
|
|
44
|
+
return;
|
|
45
|
+
const e = this.isPlaying;
|
|
46
|
+
this.pause(), i ? (this._spatialSound = i, this._updateSpatialParameters()) : this._disableSpatialSound(), e && this.play();
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create a sound and attach it to a scene
|
|
50
|
+
* @param name Name of your sound
|
|
51
|
+
* @param urlOrArrayBuffer Url to the sound to load async or ArrayBuffer, it also works with MediaStreams and AudioBuffers
|
|
52
|
+
* @param scene defines the scene the sound belongs to
|
|
53
|
+
* @param readyToPlayCallback Provide a callback function if you'd like to load your code once the sound is ready to be played
|
|
54
|
+
* @param options Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel, streaming
|
|
55
|
+
*/
|
|
56
|
+
constructor(i, e, n, h = null, o) {
|
|
57
|
+
var c, f, s, a, l;
|
|
58
|
+
if (this.autoplay = !1, this._loop = !1, this.useCustomAttenuation = !1, this.isPlaying = !1, this.isPaused = !1, this.refDistance = 1, this.rolloffFactor = 1, this.maxDistance = 100, this.distanceModel = "linear", this.metadata = null, this.onEndedObservable = new A(), this._spatialSound = !1, this._panningModel = "equalpower", this._playbackRate = 1, this._streaming = !1, this._startTime = 0, this._currentTime = 0, this._position = y.Zero(), this._localDirection = new y(1, 0, 0), this._volume = 1, this._isReadyToPlay = !1, this._isDirectional = !1, this._coneInnerAngle = 360, this._coneOuterAngle = 360, this._coneOuterGain = 0, this._isOutputConnected = !1, this._urlType = "Unknown", this.name = i, n = n || b.LastCreatedScene, !!n)
|
|
59
|
+
if (this._scene = n, p._SceneComponentInitialization(n), this._readyToPlayCallback = h, this._customAttenuationFunction = (r, u, _, m, d) => u < _ ? r * (1 - u / _) : 0, o && (this.autoplay = o.autoplay || !1, this._loop = o.loop || !1, o.volume !== void 0 && (this._volume = o.volume), this._spatialSound = (c = o.spatialSound) !== null && c !== void 0 ? c : !1, this.maxDistance = (f = o.maxDistance) !== null && f !== void 0 ? f : 100, this.useCustomAttenuation = (s = o.useCustomAttenuation) !== null && s !== void 0 ? s : !1, this.rolloffFactor = o.rolloffFactor || 1, this.refDistance = o.refDistance || 1, this.distanceModel = o.distanceModel || "linear", this._playbackRate = o.playbackRate || 1, this._streaming = (a = o.streaming) !== null && a !== void 0 ? a : !1, this._length = o.length, this._offset = o.offset), !((l = t.audioEngine) === null || l === void 0) && l.canUseWebAudio && t.audioEngine.audioContext) {
|
|
60
|
+
this._soundGain = t.audioEngine.audioContext.createGain(), this._soundGain.gain.value = this._volume, this._inputAudioNode = this._soundGain, this._outputAudioNode = this._soundGain, this._spatialSound && this._createSpatialParameters(), this._scene.mainSoundTrack.addSound(this);
|
|
61
|
+
let r = !0;
|
|
62
|
+
if (e)
|
|
63
|
+
try {
|
|
64
|
+
typeof e == "string" ? this._urlType = "String" : e instanceof ArrayBuffer ? this._urlType = "ArrayBuffer" : e instanceof HTMLMediaElement ? this._urlType = "MediaElement" : e instanceof MediaStream ? this._urlType = "MediaStream" : e instanceof AudioBuffer ? this._urlType = "AudioBuffer" : Array.isArray(e) && (this._urlType = "Array");
|
|
65
|
+
let u = [], _ = !1;
|
|
66
|
+
switch (this._urlType) {
|
|
67
|
+
case "MediaElement":
|
|
68
|
+
this._streaming = !0, this._isReadyToPlay = !0, this._streamingSource = t.audioEngine.audioContext.createMediaElementSource(e), this.autoplay && this.play(0, this._offset, this._length), this._readyToPlayCallback && this._readyToPlayCallback();
|
|
69
|
+
break;
|
|
70
|
+
case "MediaStream":
|
|
71
|
+
this._streaming = !0, this._isReadyToPlay = !0, this._streamingSource = t.audioEngine.audioContext.createMediaStreamSource(e), this.autoplay && this.play(0, this._offset, this._length), this._readyToPlayCallback && this._readyToPlayCallback();
|
|
72
|
+
break;
|
|
73
|
+
case "ArrayBuffer":
|
|
74
|
+
e.byteLength > 0 && (_ = !0, this._soundLoaded(e));
|
|
75
|
+
break;
|
|
76
|
+
case "AudioBuffer":
|
|
77
|
+
this._audioBufferLoaded(e);
|
|
78
|
+
break;
|
|
79
|
+
case "String":
|
|
80
|
+
u.push(e);
|
|
81
|
+
case "Array":
|
|
82
|
+
u.length === 0 && (u = e);
|
|
83
|
+
for (let m = 0; m < u.length; m++) {
|
|
84
|
+
const d = u[m];
|
|
85
|
+
if (_ = o && o.skipCodecCheck || d.indexOf(".mp3", d.length - 4) !== -1 && t.audioEngine.isMP3supported || d.indexOf(".ogg", d.length - 4) !== -1 && t.audioEngine.isOGGsupported || d.indexOf(".wav", d.length - 4) !== -1 || d.indexOf(".m4a", d.length - 4) !== -1 || d.indexOf(".mp4", d.length - 4) !== -1 || d.indexOf("blob:") !== -1, _) {
|
|
86
|
+
this._streaming ? (this._htmlAudioElement = new Audio(d), this._htmlAudioElement.controls = !1, this._htmlAudioElement.loop = this.loop, P.SetCorsBehavior(d, this._htmlAudioElement), this._htmlAudioElement.preload = "auto", this._htmlAudioElement.addEventListener("canplaythrough", () => {
|
|
87
|
+
this._isReadyToPlay = !0, this.autoplay && this.play(0, this._offset, this._length), this._readyToPlayCallback && this._readyToPlayCallback();
|
|
88
|
+
}), document.body.appendChild(this._htmlAudioElement), this._htmlAudioElement.load()) : this._scene._loadFile(d, (v) => {
|
|
89
|
+
this._soundLoaded(v);
|
|
90
|
+
}, void 0, !0, !0, (v) => {
|
|
91
|
+
v && g.Error("XHR " + v.status + " error on: " + d + "."), g.Error("Sound creation aborted."), this._scene.mainSoundTrack.removeSound(this);
|
|
92
|
+
});
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
default:
|
|
98
|
+
r = !1;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
r ? _ || (this._isReadyToPlay = !0, this._readyToPlayCallback && setTimeout(() => {
|
|
102
|
+
this._readyToPlayCallback && this._readyToPlayCallback();
|
|
103
|
+
}, 1e3)) : g.Error("Parameter must be a URL to the sound, an Array of URLs (.mp3 & .ogg) or an ArrayBuffer of the sound.");
|
|
104
|
+
} catch {
|
|
105
|
+
g.Error("Unexpected error. Sound creation aborted."), this._scene.mainSoundTrack.removeSound(this);
|
|
106
|
+
}
|
|
107
|
+
} else
|
|
108
|
+
this._scene.mainSoundTrack.addSound(this), t.audioEngine && !t.audioEngine.WarnedWebAudioUnsupported && (g.Error("Web Audio is not supported by your browser."), t.audioEngine.WarnedWebAudioUnsupported = !0), this._readyToPlayCallback && setTimeout(() => {
|
|
109
|
+
this._readyToPlayCallback && this._readyToPlayCallback();
|
|
110
|
+
}, 1e3);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Release the sound and its associated resources
|
|
114
|
+
*/
|
|
115
|
+
dispose() {
|
|
116
|
+
var i;
|
|
117
|
+
!((i = t.audioEngine) === null || i === void 0) && i.canUseWebAudio && (this.isPlaying && this.stop(), this._isReadyToPlay = !1, this.soundTrackId === -1 ? this._scene.mainSoundTrack.removeSound(this) : this._scene.soundTracks && this._scene.soundTracks[this.soundTrackId].removeSound(this), this._soundGain && (this._soundGain.disconnect(), this._soundGain = null), this._soundPanner && (this._soundPanner.disconnect(), this._soundPanner = null), this._soundSource && (this._soundSource.disconnect(), this._soundSource = null), this._audioBuffer = null, this._htmlAudioElement && (this._htmlAudioElement.pause(), this._htmlAudioElement.src = "", document.body.removeChild(this._htmlAudioElement)), this._streamingSource && this._streamingSource.disconnect(), this._connectedTransformNode && this._registerFunc && (this._connectedTransformNode.unregisterAfterWorldMatrixUpdate(this._registerFunc), this._connectedTransformNode = null), this._clearTimeoutsAndObservers());
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Gets if the sounds is ready to be played or not.
|
|
121
|
+
* @returns true if ready, otherwise false
|
|
122
|
+
*/
|
|
123
|
+
isReady() {
|
|
124
|
+
return this._isReadyToPlay;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the current class name.
|
|
128
|
+
* @returns current class name
|
|
129
|
+
*/
|
|
130
|
+
getClassName() {
|
|
131
|
+
return "Sound";
|
|
132
|
+
}
|
|
133
|
+
_audioBufferLoaded(i) {
|
|
134
|
+
var e;
|
|
135
|
+
!((e = t.audioEngine) === null || e === void 0) && e.audioContext && (this._audioBuffer = i, this._isReadyToPlay = !0, this.autoplay && this.play(0, this._offset, this._length), this._readyToPlayCallback && this._readyToPlayCallback());
|
|
136
|
+
}
|
|
137
|
+
_soundLoaded(i) {
|
|
138
|
+
var e;
|
|
139
|
+
!((e = t.audioEngine) === null || e === void 0) && e.audioContext && t.audioEngine.audioContext.decodeAudioData(i, (n) => {
|
|
140
|
+
this._audioBufferLoaded(n);
|
|
141
|
+
}, (n) => {
|
|
142
|
+
g.Error("Error while decoding audio data for: " + this.name + " / Error: " + n);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Sets the data of the sound from an audiobuffer
|
|
147
|
+
* @param audioBuffer The audioBuffer containing the data
|
|
148
|
+
*/
|
|
149
|
+
setAudioBuffer(i) {
|
|
150
|
+
var e;
|
|
151
|
+
!((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && (this._audioBuffer = i, this._isReadyToPlay = !0);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Updates the current sounds options such as maxdistance, loop...
|
|
155
|
+
* @param options A JSON object containing values named as the object properties
|
|
156
|
+
*/
|
|
157
|
+
updateOptions(i) {
|
|
158
|
+
var e, n, h, o, c, f, s, a, l, r, u;
|
|
159
|
+
i && (this.loop = (e = i.loop) !== null && e !== void 0 ? e : this.loop, this.maxDistance = (n = i.maxDistance) !== null && n !== void 0 ? n : this.maxDistance, this.useCustomAttenuation = (h = i.useCustomAttenuation) !== null && h !== void 0 ? h : this.useCustomAttenuation, this.rolloffFactor = (o = i.rolloffFactor) !== null && o !== void 0 ? o : this.rolloffFactor, this.refDistance = (c = i.refDistance) !== null && c !== void 0 ? c : this.refDistance, this.distanceModel = (f = i.distanceModel) !== null && f !== void 0 ? f : this.distanceModel, this._playbackRate = (s = i.playbackRate) !== null && s !== void 0 ? s : this._playbackRate, this._length = (a = i.length) !== null && a !== void 0 ? a : void 0, this.spatialSound = (l = i.spatialSound) !== null && l !== void 0 ? l : this._spatialSound, this._setOffset((r = i.offset) !== null && r !== void 0 ? r : void 0), this.setVolume((u = i.volume) !== null && u !== void 0 ? u : this._volume), this._updateSpatialParameters(), this.isPlaying && (this._streaming && this._htmlAudioElement ? (this._htmlAudioElement.playbackRate = this._playbackRate, this._htmlAudioElement.loop !== this.loop && (this._htmlAudioElement.loop = this.loop)) : this._soundSource && (this._soundSource.playbackRate.value = this._playbackRate, this._soundSource.loop !== this.loop && (this._soundSource.loop = this.loop), this._offset !== void 0 && this._soundSource.loopStart !== this._offset && (this._soundSource.loopStart = this._offset), this._length !== void 0 && this._length !== this._soundSource.loopEnd && (this._soundSource.loopEnd = (this._offset | 0) + this._length))));
|
|
160
|
+
}
|
|
161
|
+
_createSpatialParameters() {
|
|
162
|
+
var i, e;
|
|
163
|
+
!((i = t.audioEngine) === null || i === void 0) && i.canUseWebAudio && t.audioEngine.audioContext && (this._scene.headphone && (this._panningModel = "HRTF"), this._soundPanner = (e = this._soundPanner) !== null && e !== void 0 ? e : t.audioEngine.audioContext.createPanner(), this._soundPanner && this._outputAudioNode && (this._updateSpatialParameters(), this._soundPanner.connect(this._outputAudioNode), this._inputAudioNode = this._soundPanner));
|
|
164
|
+
}
|
|
165
|
+
_disableSpatialSound() {
|
|
166
|
+
var i;
|
|
167
|
+
this._spatialSound && (this._inputAudioNode = this._soundGain, (i = this._soundPanner) === null || i === void 0 || i.disconnect(), this._soundPanner = null, this._spatialSound = !1);
|
|
168
|
+
}
|
|
169
|
+
_updateSpatialParameters() {
|
|
170
|
+
this._spatialSound && (this._soundPanner ? this.useCustomAttenuation ? (this._soundPanner.distanceModel = "linear", this._soundPanner.maxDistance = Number.MAX_VALUE, this._soundPanner.refDistance = 1, this._soundPanner.rolloffFactor = 1, this._soundPanner.panningModel = this._panningModel) : (this._soundPanner.distanceModel = this.distanceModel, this._soundPanner.maxDistance = this.maxDistance, this._soundPanner.refDistance = this.refDistance, this._soundPanner.rolloffFactor = this.rolloffFactor, this._soundPanner.panningModel = this._panningModel) : this._createSpatialParameters());
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Switch the panning model to HRTF:
|
|
174
|
+
* Renders a stereo output of higher quality than equalpower — it uses a convolution with measured impulse responses from human subjects.
|
|
175
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#creating-a-spatial-3d-sound
|
|
176
|
+
*/
|
|
177
|
+
switchPanningModelToHRTF() {
|
|
178
|
+
this._panningModel = "HRTF", this._switchPanningModel();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Switch the panning model to Equal Power:
|
|
182
|
+
* Represents the equal-power panning algorithm, generally regarded as simple and efficient. equalpower is the default value.
|
|
183
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#creating-a-spatial-3d-sound
|
|
184
|
+
*/
|
|
185
|
+
switchPanningModelToEqualPower() {
|
|
186
|
+
this._panningModel = "equalpower", this._switchPanningModel();
|
|
187
|
+
}
|
|
188
|
+
_switchPanningModel() {
|
|
189
|
+
var i;
|
|
190
|
+
!((i = t.audioEngine) === null || i === void 0) && i.canUseWebAudio && this._spatialSound && this._soundPanner && (this._soundPanner.panningModel = this._panningModel);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Connect this sound to a sound track audio node like gain...
|
|
194
|
+
* @param soundTrackAudioNode the sound track audio node to connect to
|
|
195
|
+
*/
|
|
196
|
+
connectToSoundTrackAudioNode(i) {
|
|
197
|
+
var e;
|
|
198
|
+
!((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._outputAudioNode && (this._isOutputConnected && this._outputAudioNode.disconnect(), this._outputAudioNode.connect(i), this._isOutputConnected = !0);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Transform this sound into a directional source
|
|
202
|
+
* @param coneInnerAngle Size of the inner cone in degree
|
|
203
|
+
* @param coneOuterAngle Size of the outer cone in degree
|
|
204
|
+
* @param coneOuterGain Volume of the sound outside the outer cone (between 0.0 and 1.0)
|
|
205
|
+
*/
|
|
206
|
+
setDirectionalCone(i, e, n) {
|
|
207
|
+
if (e < i) {
|
|
208
|
+
g.Error("setDirectionalCone(): outer angle of the cone must be superior or equal to the inner angle.");
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
this._coneInnerAngle = i, this._coneOuterAngle = e, this._coneOuterGain = n, this._isDirectional = !0, this.isPlaying && this.loop && (this.stop(), this.play(0, this._offset, this._length));
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Gets or sets the inner angle for the directional cone.
|
|
215
|
+
*/
|
|
216
|
+
get directionalConeInnerAngle() {
|
|
217
|
+
return this._coneInnerAngle;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Gets or sets the inner angle for the directional cone.
|
|
221
|
+
*/
|
|
222
|
+
set directionalConeInnerAngle(i) {
|
|
223
|
+
var e;
|
|
224
|
+
if (i != this._coneInnerAngle) {
|
|
225
|
+
if (this._coneOuterAngle < i) {
|
|
226
|
+
g.Error("directionalConeInnerAngle: outer angle of the cone must be superior or equal to the inner angle.");
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
this._coneInnerAngle = i, !((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._spatialSound && this._soundPanner && (this._soundPanner.coneInnerAngle = this._coneInnerAngle);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Gets or sets the outer angle for the directional cone.
|
|
234
|
+
*/
|
|
235
|
+
get directionalConeOuterAngle() {
|
|
236
|
+
return this._coneOuterAngle;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Gets or sets the outer angle for the directional cone.
|
|
240
|
+
*/
|
|
241
|
+
set directionalConeOuterAngle(i) {
|
|
242
|
+
var e;
|
|
243
|
+
if (i != this._coneOuterAngle) {
|
|
244
|
+
if (i < this._coneInnerAngle) {
|
|
245
|
+
g.Error("directionalConeOuterAngle: outer angle of the cone must be superior or equal to the inner angle.");
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
this._coneOuterAngle = i, !((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._spatialSound && this._soundPanner && (this._soundPanner.coneOuterAngle = this._coneOuterAngle);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Sets the position of the emitter if spatial sound is enabled
|
|
253
|
+
* @param newPosition Defines the new position
|
|
254
|
+
*/
|
|
255
|
+
setPosition(i) {
|
|
256
|
+
var e;
|
|
257
|
+
i.equals(this._position) || (this._position.copyFrom(i), !((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._spatialSound && this._soundPanner && !isNaN(this._position.x) && !isNaN(this._position.y) && !isNaN(this._position.z) && (this._soundPanner.positionX.value = this._position.x, this._soundPanner.positionY.value = this._position.y, this._soundPanner.positionZ.value = this._position.z));
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Sets the local direction of the emitter if spatial sound is enabled
|
|
261
|
+
* @param newLocalDirection Defines the new local direction
|
|
262
|
+
*/
|
|
263
|
+
setLocalDirectionToMesh(i) {
|
|
264
|
+
var e;
|
|
265
|
+
this._localDirection = i, !((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._connectedTransformNode && this.isPlaying && this._updateDirection();
|
|
266
|
+
}
|
|
267
|
+
_updateDirection() {
|
|
268
|
+
if (!this._connectedTransformNode || !this._soundPanner)
|
|
269
|
+
return;
|
|
270
|
+
const i = this._connectedTransformNode.getWorldMatrix(), e = y.TransformNormal(this._localDirection, i);
|
|
271
|
+
e.normalize(), this._soundPanner.orientationX.value = e.x, this._soundPanner.orientationY.value = e.y, this._soundPanner.orientationZ.value = e.z;
|
|
272
|
+
}
|
|
273
|
+
/** @internal */
|
|
274
|
+
updateDistanceFromListener() {
|
|
275
|
+
var i;
|
|
276
|
+
if (!((i = t.audioEngine) === null || i === void 0) && i.canUseWebAudio && this._connectedTransformNode && this.useCustomAttenuation && this._soundGain && this._scene.activeCamera) {
|
|
277
|
+
const e = this._scene.audioListenerPositionProvider ? this._connectedTransformNode.position.subtract(this._scene.audioListenerPositionProvider()).length() : this._connectedTransformNode.getDistanceToCamera(this._scene.activeCamera);
|
|
278
|
+
this._soundGain.gain.value = this._customAttenuationFunction(this._volume, e, this.maxDistance, this.refDistance, this.rolloffFactor);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Sets a new custom attenuation function for the sound.
|
|
283
|
+
* @param callback Defines the function used for the attenuation
|
|
284
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#creating-your-own-custom-attenuation-function
|
|
285
|
+
*/
|
|
286
|
+
setAttenuationFunction(i) {
|
|
287
|
+
this._customAttenuationFunction = i;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Play the sound
|
|
291
|
+
* @param time (optional) Start the sound after X seconds. Start immediately (0) by default.
|
|
292
|
+
* @param offset (optional) Start the sound at a specific time in seconds
|
|
293
|
+
* @param length (optional) Sound duration (in seconds)
|
|
294
|
+
*/
|
|
295
|
+
play(i, e, n) {
|
|
296
|
+
var h, o, c, f;
|
|
297
|
+
if (this._isReadyToPlay && this._scene.audioEnabled && (!((h = t.audioEngine) === null || h === void 0) && h.audioContext))
|
|
298
|
+
try {
|
|
299
|
+
this._clearTimeoutsAndObservers();
|
|
300
|
+
let s = i ? ((o = t.audioEngine) === null || o === void 0 ? void 0 : o.audioContext.currentTime) + i : (c = t.audioEngine) === null || c === void 0 ? void 0 : c.audioContext.currentTime;
|
|
301
|
+
if ((!this._soundSource || !this._streamingSource) && this._spatialSound && this._soundPanner && (!isNaN(this._position.x) && !isNaN(this._position.y) && !isNaN(this._position.z) && (this._soundPanner.positionX.value = this._position.x, this._soundPanner.positionY.value = this._position.y, this._soundPanner.positionZ.value = this._position.z), this._isDirectional && (this._soundPanner.coneInnerAngle = this._coneInnerAngle, this._soundPanner.coneOuterAngle = this._coneOuterAngle, this._soundPanner.coneOuterGain = this._coneOuterGain, this._connectedTransformNode ? this._updateDirection() : this._soundPanner.setOrientation(this._localDirection.x, this._localDirection.y, this._localDirection.z))), this._streaming) {
|
|
302
|
+
if (this._streamingSource || (this._streamingSource = t.audioEngine.audioContext.createMediaElementSource(this._htmlAudioElement), this._htmlAudioElement.onended = () => {
|
|
303
|
+
this._onended();
|
|
304
|
+
}, this._htmlAudioElement.playbackRate = this._playbackRate), this._streamingSource.disconnect(), this._inputAudioNode && this._streamingSource.connect(this._inputAudioNode), this._htmlAudioElement) {
|
|
305
|
+
const a = () => {
|
|
306
|
+
var l, r;
|
|
307
|
+
if (!((l = t.audioEngine) === null || l === void 0) && l.unlocked) {
|
|
308
|
+
const u = this._htmlAudioElement.play();
|
|
309
|
+
u !== void 0 && u.catch(() => {
|
|
310
|
+
var _, m;
|
|
311
|
+
(_ = t.audioEngine) === null || _ === void 0 || _.lock(), (this.loop || this.autoplay) && (this._audioUnlockedObserver = (m = t.audioEngine) === null || m === void 0 ? void 0 : m.onAudioUnlockedObservable.addOnce(() => {
|
|
312
|
+
a();
|
|
313
|
+
}));
|
|
314
|
+
});
|
|
315
|
+
} else
|
|
316
|
+
(this.loop || this.autoplay) && (this._audioUnlockedObserver = (r = t.audioEngine) === null || r === void 0 ? void 0 : r.onAudioUnlockedObservable.addOnce(() => {
|
|
317
|
+
a();
|
|
318
|
+
}));
|
|
319
|
+
};
|
|
320
|
+
a();
|
|
321
|
+
}
|
|
322
|
+
} else {
|
|
323
|
+
const a = () => {
|
|
324
|
+
var l, r, u, _;
|
|
325
|
+
if (!((l = t.audioEngine) === null || l === void 0) && l.audioContext) {
|
|
326
|
+
if (n = n || this._length, e !== void 0 && this._setOffset(e), this._soundSource) {
|
|
327
|
+
const m = this._soundSource;
|
|
328
|
+
m.onended = () => {
|
|
329
|
+
m.disconnect();
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
if (this._soundSource = (r = t.audioEngine) === null || r === void 0 ? void 0 : r.audioContext.createBufferSource(), this._soundSource && this._inputAudioNode) {
|
|
333
|
+
this._soundSource.buffer = this._audioBuffer, this._soundSource.connect(this._inputAudioNode), this._soundSource.loop = this.loop, e !== void 0 && (this._soundSource.loopStart = e), n !== void 0 && (this._soundSource.loopEnd = (e | 0) + n), this._soundSource.playbackRate.value = this._playbackRate, this._soundSource.onended = () => {
|
|
334
|
+
this._onended();
|
|
335
|
+
}, s = i ? ((u = t.audioEngine) === null || u === void 0 ? void 0 : u.audioContext.currentTime) + i : t.audioEngine.audioContext.currentTime;
|
|
336
|
+
const m = ((this.isPaused ? this.currentTime : 0) + ((_ = this._offset) !== null && _ !== void 0 ? _ : 0)) % this._soundSource.buffer.duration;
|
|
337
|
+
this._soundSource.start(s, m, this.loop ? void 0 : n);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
((f = t.audioEngine) === null || f === void 0 ? void 0 : f.audioContext.state) === "suspended" ? this._tryToPlayTimeout = setTimeout(() => {
|
|
342
|
+
var l;
|
|
343
|
+
((l = t.audioEngine) === null || l === void 0 ? void 0 : l.audioContext.state) === "suspended" ? (t.audioEngine.lock(), (this.loop || this.autoplay) && (this._audioUnlockedObserver = t.audioEngine.onAudioUnlockedObservable.addOnce(() => {
|
|
344
|
+
a();
|
|
345
|
+
}))) : a();
|
|
346
|
+
}, 500) : a();
|
|
347
|
+
}
|
|
348
|
+
this._startTime = s, this.isPlaying = !0, this.isPaused = !1;
|
|
349
|
+
} catch (s) {
|
|
350
|
+
g.Error("Error while trying to play audio: " + this.name + ", " + s.message);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
_onended() {
|
|
354
|
+
this.isPlaying = !1, this._startTime = 0, this._currentTime = 0, this.onended && this.onended(), this.onEndedObservable.notifyObservers(this);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Stop the sound
|
|
358
|
+
* @param time (optional) Stop the sound after X seconds. Stop immediately (0) by default.
|
|
359
|
+
*/
|
|
360
|
+
stop(i) {
|
|
361
|
+
var e;
|
|
362
|
+
if (this.isPlaying)
|
|
363
|
+
if (this._clearTimeoutsAndObservers(), this._streaming)
|
|
364
|
+
this._htmlAudioElement ? (this._htmlAudioElement.pause(), this._htmlAudioElement.currentTime > 0 && (this._htmlAudioElement.currentTime = 0)) : this._streamingSource.disconnect(), this.isPlaying = !1;
|
|
365
|
+
else if (!((e = t.audioEngine) === null || e === void 0) && e.audioContext && this._soundSource) {
|
|
366
|
+
const n = i ? t.audioEngine.audioContext.currentTime + i : void 0;
|
|
367
|
+
this._soundSource.onended = () => {
|
|
368
|
+
this.isPlaying = !1, this.isPaused = !1, this._startTime = 0, this._currentTime = 0, this._soundSource && (this._soundSource.onended = () => {
|
|
369
|
+
}), this._onended();
|
|
370
|
+
}, this._soundSource.stop(n);
|
|
371
|
+
} else
|
|
372
|
+
this.isPlaying = !1;
|
|
373
|
+
else
|
|
374
|
+
this.isPaused && (this.isPaused = !1, this._startTime = 0, this._currentTime = 0);
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Put the sound in pause
|
|
378
|
+
*/
|
|
379
|
+
pause() {
|
|
380
|
+
var i;
|
|
381
|
+
this.isPlaying && (this._clearTimeoutsAndObservers(), this._streaming ? (this._htmlAudioElement ? this._htmlAudioElement.pause() : this._streamingSource.disconnect(), this.isPlaying = !1, this.isPaused = !0) : !((i = t.audioEngine) === null || i === void 0) && i.audioContext && this._soundSource && (this._soundSource.onended = () => {
|
|
382
|
+
}, this._soundSource.stop(), this.isPlaying = !1, this.isPaused = !0, this._currentTime += t.audioEngine.audioContext.currentTime - this._startTime));
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Sets a dedicated volume for this sounds
|
|
386
|
+
* @param newVolume Define the new volume of the sound
|
|
387
|
+
* @param time Define time for gradual change to new volume
|
|
388
|
+
*/
|
|
389
|
+
setVolume(i, e) {
|
|
390
|
+
var n;
|
|
391
|
+
!((n = t.audioEngine) === null || n === void 0) && n.canUseWebAudio && this._soundGain && (e && t.audioEngine.audioContext ? (this._soundGain.gain.cancelScheduledValues(t.audioEngine.audioContext.currentTime), this._soundGain.gain.setValueAtTime(this._soundGain.gain.value, t.audioEngine.audioContext.currentTime), this._soundGain.gain.linearRampToValueAtTime(i, t.audioEngine.audioContext.currentTime + e)) : this._soundGain.gain.value = i), this._volume = i;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Set the sound play back rate
|
|
395
|
+
* @param newPlaybackRate Define the playback rate the sound should be played at
|
|
396
|
+
*/
|
|
397
|
+
setPlaybackRate(i) {
|
|
398
|
+
this._playbackRate = i, this.isPlaying && (this._streaming && this._htmlAudioElement ? this._htmlAudioElement.playbackRate = this._playbackRate : this._soundSource && (this._soundSource.playbackRate.value = this._playbackRate));
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Gets the sound play back rate.
|
|
402
|
+
* @returns the play back rate of the sound
|
|
403
|
+
*/
|
|
404
|
+
getPlaybackRate() {
|
|
405
|
+
return this._playbackRate;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Gets the volume of the sound.
|
|
409
|
+
* @returns the volume of the sound
|
|
410
|
+
*/
|
|
411
|
+
getVolume() {
|
|
412
|
+
return this._volume;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Attach the sound to a dedicated mesh
|
|
416
|
+
* @param transformNode The transform node to connect the sound with
|
|
417
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#attaching-a-sound-to-a-mesh
|
|
418
|
+
*/
|
|
419
|
+
attachToMesh(i) {
|
|
420
|
+
this._connectedTransformNode && this._registerFunc && (this._connectedTransformNode.unregisterAfterWorldMatrixUpdate(this._registerFunc), this._registerFunc = null), this._connectedTransformNode = i, this._spatialSound || (this._spatialSound = !0, this._createSpatialParameters(), this.isPlaying && this.loop && (this.stop(), this.play(0, this._offset, this._length))), this._onRegisterAfterWorldMatrixUpdate(this._connectedTransformNode), this._registerFunc = (e) => this._onRegisterAfterWorldMatrixUpdate(e), this._connectedTransformNode.registerAfterWorldMatrixUpdate(this._registerFunc);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Detach the sound from the previously attached mesh
|
|
424
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#attaching-a-sound-to-a-mesh
|
|
425
|
+
*/
|
|
426
|
+
detachFromMesh() {
|
|
427
|
+
this._connectedTransformNode && this._registerFunc && (this._connectedTransformNode.unregisterAfterWorldMatrixUpdate(this._registerFunc), this._registerFunc = null, this._connectedTransformNode = null);
|
|
428
|
+
}
|
|
429
|
+
_onRegisterAfterWorldMatrixUpdate(i) {
|
|
430
|
+
var e;
|
|
431
|
+
if (!i.getBoundingInfo)
|
|
432
|
+
this.setPosition(i.absolutePosition);
|
|
433
|
+
else {
|
|
434
|
+
const h = i.getBoundingInfo();
|
|
435
|
+
this.setPosition(h.boundingSphere.centerWorld);
|
|
436
|
+
}
|
|
437
|
+
!((e = t.audioEngine) === null || e === void 0) && e.canUseWebAudio && this._isDirectional && this.isPlaying && this._updateDirection();
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Clone the current sound in the scene.
|
|
441
|
+
* @returns the new sound clone
|
|
442
|
+
*/
|
|
443
|
+
clone() {
|
|
444
|
+
if (this._streaming)
|
|
445
|
+
return null;
|
|
446
|
+
{
|
|
447
|
+
const i = () => {
|
|
448
|
+
this._isReadyToPlay ? (n._audioBuffer = this.getAudioBuffer(), n._isReadyToPlay = !0, n.autoplay && n.play(0, this._offset, this._length)) : setTimeout(i, 300);
|
|
449
|
+
}, e = {
|
|
450
|
+
autoplay: this.autoplay,
|
|
451
|
+
loop: this.loop,
|
|
452
|
+
volume: this._volume,
|
|
453
|
+
spatialSound: this._spatialSound,
|
|
454
|
+
maxDistance: this.maxDistance,
|
|
455
|
+
useCustomAttenuation: this.useCustomAttenuation,
|
|
456
|
+
rolloffFactor: this.rolloffFactor,
|
|
457
|
+
refDistance: this.refDistance,
|
|
458
|
+
distanceModel: this.distanceModel
|
|
459
|
+
}, n = new p(this.name + "_cloned", new ArrayBuffer(0), this._scene, null, e);
|
|
460
|
+
return this.useCustomAttenuation && n.setAttenuationFunction(this._customAttenuationFunction), n.setPosition(this._position), n.setPlaybackRate(this._playbackRate), i(), n;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Gets the current underlying audio buffer containing the data
|
|
465
|
+
* @returns the audio buffer
|
|
466
|
+
*/
|
|
467
|
+
getAudioBuffer() {
|
|
468
|
+
return this._audioBuffer;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Gets the WebAudio AudioBufferSourceNode, lets you keep track of and stop instances of this Sound.
|
|
472
|
+
* @returns the source node
|
|
473
|
+
*/
|
|
474
|
+
getSoundSource() {
|
|
475
|
+
return this._soundSource;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Gets the WebAudio GainNode, gives you precise control over the gain of instances of this Sound.
|
|
479
|
+
* @returns the gain node
|
|
480
|
+
*/
|
|
481
|
+
getSoundGain() {
|
|
482
|
+
return this._soundGain;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Serializes the Sound in a JSON representation
|
|
486
|
+
* @returns the JSON representation of the sound
|
|
487
|
+
*/
|
|
488
|
+
serialize() {
|
|
489
|
+
const i = {
|
|
490
|
+
name: this.name,
|
|
491
|
+
url: this.name,
|
|
492
|
+
autoplay: this.autoplay,
|
|
493
|
+
loop: this.loop,
|
|
494
|
+
volume: this._volume,
|
|
495
|
+
spatialSound: this._spatialSound,
|
|
496
|
+
maxDistance: this.maxDistance,
|
|
497
|
+
rolloffFactor: this.rolloffFactor,
|
|
498
|
+
refDistance: this.refDistance,
|
|
499
|
+
distanceModel: this.distanceModel,
|
|
500
|
+
playbackRate: this._playbackRate,
|
|
501
|
+
panningModel: this._panningModel,
|
|
502
|
+
soundTrackId: this.soundTrackId,
|
|
503
|
+
metadata: this.metadata
|
|
504
|
+
};
|
|
505
|
+
return this._spatialSound && (this._connectedTransformNode && (i.connectedMeshId = this._connectedTransformNode.id), i.position = this._position.asArray(), i.refDistance = this.refDistance, i.distanceModel = this.distanceModel, i.isDirectional = this._isDirectional, i.localDirectionToMesh = this._localDirection.asArray(), i.coneInnerAngle = this._coneInnerAngle, i.coneOuterAngle = this._coneOuterAngle, i.coneOuterGain = this._coneOuterGain), i;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Parse a JSON representation of a sound to instantiate in a given scene
|
|
509
|
+
* @param parsedSound Define the JSON representation of the sound (usually coming from the serialize method)
|
|
510
|
+
* @param scene Define the scene the new parsed sound should be created in
|
|
511
|
+
* @param rootUrl Define the rooturl of the load in case we need to fetch relative dependencies
|
|
512
|
+
* @param sourceSound Define a sound place holder if do not need to instantiate a new one
|
|
513
|
+
* @returns the newly parsed sound
|
|
514
|
+
*/
|
|
515
|
+
static Parse(i, e, n, h) {
|
|
516
|
+
const o = i.name;
|
|
517
|
+
let c;
|
|
518
|
+
i.url ? c = n + i.url : c = n + o;
|
|
519
|
+
const f = {
|
|
520
|
+
autoplay: i.autoplay,
|
|
521
|
+
loop: i.loop,
|
|
522
|
+
volume: i.volume,
|
|
523
|
+
spatialSound: i.spatialSound,
|
|
524
|
+
maxDistance: i.maxDistance,
|
|
525
|
+
rolloffFactor: i.rolloffFactor,
|
|
526
|
+
refDistance: i.refDistance,
|
|
527
|
+
distanceModel: i.distanceModel,
|
|
528
|
+
playbackRate: i.playbackRate
|
|
529
|
+
};
|
|
530
|
+
let s;
|
|
531
|
+
if (!h)
|
|
532
|
+
s = new p(o, c, e, () => {
|
|
533
|
+
e.removePendingData(s);
|
|
534
|
+
}, f), e.addPendingData(s);
|
|
535
|
+
else {
|
|
536
|
+
const a = () => {
|
|
537
|
+
h._isReadyToPlay ? (s._audioBuffer = h.getAudioBuffer(), s._isReadyToPlay = !0, s.autoplay && s.play(0, s._offset, s._length)) : setTimeout(a, 300);
|
|
538
|
+
};
|
|
539
|
+
s = new p(o, new ArrayBuffer(0), e, null, f), a();
|
|
540
|
+
}
|
|
541
|
+
if (i.position) {
|
|
542
|
+
const a = y.FromArray(i.position);
|
|
543
|
+
s.setPosition(a);
|
|
544
|
+
}
|
|
545
|
+
if (i.isDirectional && (s.setDirectionalCone(i.coneInnerAngle || 360, i.coneOuterAngle || 360, i.coneOuterGain || 0), i.localDirectionToMesh)) {
|
|
546
|
+
const a = y.FromArray(i.localDirectionToMesh);
|
|
547
|
+
s.setLocalDirectionToMesh(a);
|
|
548
|
+
}
|
|
549
|
+
if (i.connectedMeshId) {
|
|
550
|
+
const a = e.getMeshById(i.connectedMeshId);
|
|
551
|
+
a && s.attachToMesh(a);
|
|
552
|
+
}
|
|
553
|
+
return i.metadata && (s.metadata = i.metadata), s;
|
|
554
|
+
}
|
|
555
|
+
_setOffset(i) {
|
|
556
|
+
this._offset !== i && (this.isPaused && (this.stop(), this.isPaused = !1), this._offset = i);
|
|
557
|
+
}
|
|
558
|
+
_clearTimeoutsAndObservers() {
|
|
559
|
+
var i;
|
|
560
|
+
this._tryToPlayTimeout && (clearTimeout(this._tryToPlayTimeout), this._tryToPlayTimeout = null), this._audioUnlockedObserver && ((i = t.audioEngine) === null || i === void 0 || i.onAudioUnlockedObservable.remove(this._audioUnlockedObserver), this._audioUnlockedObserver = null);
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
p._SceneComponentInitialization = (E) => {
|
|
564
|
+
throw T("AudioSceneComponent");
|
|
565
|
+
};
|
|
566
|
+
export {
|
|
567
|
+
p as Sound
|
|
568
|
+
};
|