@onerjs/core 8.53.4 → 8.53.6
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/Animations/animationGroup.d.ts +0 -1
- package/Animations/animationGroup.js +0 -1
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationGroup.pure.js +2 -0
- package/Animations/animationGroup.pure.js.map +1 -1
- package/Animations/runtimeAnimation.js +11 -0
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioSceneComponent.pure.js +1 -1
- package/AudioV2/abstractAudio/abstractSound.d.ts +2 -1
- package/AudioV2/abstractAudio/abstractSound.js +7 -2
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +3 -1
- package/AudioV2/abstractAudio/abstractSoundInstance.js.map +1 -1
- package/AudioV2/abstractAudio/staticSound.d.ts +6 -0
- package/AudioV2/abstractAudio/staticSound.js +17 -1
- package/AudioV2/abstractAudio/staticSound.js.map +1 -1
- package/AudioV2/abstractAudio/staticSoundInstance.d.ts +4 -2
- package/AudioV2/abstractAudio/staticSoundInstance.js.map +1 -1
- package/AudioV2/abstractAudio/streamingSound.d.ts +6 -0
- package/AudioV2/abstractAudio/streamingSound.js +9 -1
- package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStaticSound.d.ts +7 -1
- package/AudioV2/webAudio/webAudioStaticSound.js +56 -8
- package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStreamingSound.d.ts +3 -1
- package/AudioV2/webAudio/webAudioStreamingSound.js +16 -4
- package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +2 -2
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +151 -121
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Cameras/interpolatingBehavior.d.ts +17 -2
- package/Behaviors/Cameras/interpolatingBehavior.js +53 -23
- package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
- package/Bones/bone.pure.js +3 -3
- package/Buffers/buffer.pure.js +0 -12
- package/Buffers/buffer.pure.js.map +1 -1
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js +141 -126
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.d.ts +2 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +290 -277
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js +115 -102
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +3 -0
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +334 -273
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +273 -258
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraPointersInput.js +237 -213
- package/Cameras/Inputs/arcRotateCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js +199 -168
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraMouseInput.js +243 -229
- package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js +311 -266
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/followCameraMouseWheelInput.js +139 -119
- package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/followCameraPointersInput.js +239 -203
- package/Cameras/Inputs/followCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraGamepadInput.js +127 -114
- package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +278 -244
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +216 -202
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseWheelInput.js +368 -353
- package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraTouchInput.js +185 -172
- package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
- package/Cameras/Inputs/geospatialCameraKeyboardInput.d.ts +2 -0
- package/Cameras/Inputs/geospatialCameraKeyboardInput.js +291 -246
- package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +11 -1
- package/Cameras/Inputs/geospatialCameraPointersInput.js +18 -2
- package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/orbitCameraPointersInput.js +112 -96
- package/Cameras/Inputs/orbitCameraPointersInput.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.d.ts +0 -2
- package/Cameras/VR/vrExperienceHelper.js +0 -2
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.pure.js +5 -0
- package/Cameras/VR/vrExperienceHelper.pure.js.map +1 -1
- package/Cameras/arcRotateCamera.pure.js +1559 -1479
- package/Cameras/arcRotateCamera.pure.js.map +1 -1
- package/Cameras/camera.pure.js +1225 -1178
- package/Cameras/camera.pure.js.map +1 -1
- package/Cameras/flyCamera.pure.js +369 -351
- package/Cameras/flyCamera.pure.js.map +1 -1
- package/Cameras/followCamera.pure.js +229 -192
- package/Cameras/followCamera.pure.js.map +1 -1
- package/Cameras/freeCamera.pure.js +373 -351
- package/Cameras/freeCamera.pure.js.map +1 -1
- package/Cameras/geospatialCamera.pure.d.ts +30 -7
- package/Cameras/geospatialCamera.pure.js +502 -457
- package/Cameras/geospatialCamera.pure.js.map +1 -1
- package/Cameras/geospatialCameraMovement.js +2 -2
- package/Cameras/geospatialCameraMovement.js.map +1 -1
- package/Cameras/targetCamera.pure.d.ts +7 -0
- package/Cameras/targetCamera.pure.js +550 -509
- package/Cameras/targetCamera.pure.js.map +1 -1
- package/Cameras/universalCamera.pure.js +98 -85
- package/Cameras/universalCamera.pure.js.map +1 -1
- package/Collisions/gpuPicker.d.ts +111 -4
- package/Collisions/gpuPicker.js +696 -119
- package/Collisions/gpuPicker.js.map +1 -1
- package/Compute/computeShader.pure.js +372 -355
- package/Compute/computeShader.pure.js.map +1 -1
- package/Culling/Helper/transformFeedbackBoundingHelper.pure.js +2 -2
- package/Decorators/nodeDecorator.d.ts +11 -1
- package/Decorators/nodeDecorator.js +43 -6
- package/Decorators/nodeDecorator.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js +8 -0
- package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js.map +1 -1
- package/Engines/Native/nativeHelpers.js +15 -0
- package/Engines/Native/nativeHelpers.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +7 -2
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -0
- package/Engines/Native/nativeRenderTargetWrapper.js +35 -1
- package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
- package/Engines/Processors/shaderProcessor.js +5 -3
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js +16 -3
- package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.pure.js +7 -1
- package/Engines/WebGPU/webgpuClearQuad.pure.js.map +1 -1
- package/Engines/abstractEngine.functions.d.ts +8 -2
- package/Engines/abstractEngine.functions.js +12 -4
- package/Engines/abstractEngine.functions.js.map +1 -1
- package/Engines/abstractEngine.pure.d.ts +20 -1
- package/Engines/abstractEngine.pure.js +21 -134
- package/Engines/abstractEngine.pure.js.map +1 -1
- package/Engines/engine.d.ts +208 -0
- package/Engines/engine.pure.js +0 -15
- package/Engines/engine.pure.js.map +1 -1
- package/Engines/nullEngine.pure.d.ts +66 -0
- package/Engines/nullEngine.pure.js +97 -0
- package/Engines/nullEngine.pure.js.map +1 -1
- package/Engines/thinEngine.pure.d.ts +0 -13
- package/Engines/thinEngine.pure.js +4 -23
- package/Engines/thinEngine.pure.js.map +1 -1
- package/Engines/thinNativeEngine.d.ts +0 -1
- package/Engines/thinNativeEngine.js +0 -1
- package/Engines/thinNativeEngine.js.map +1 -1
- package/Engines/thinNativeEngine.pure.d.ts +27 -0
- package/Engines/thinNativeEngine.pure.js +383 -17
- package/Engines/thinNativeEngine.pure.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +1 -0
- package/Engines/webgpuEngine.js +1 -0
- package/Engines/webgpuEngine.js.map +1 -1
- package/Engines/webgpuEngine.pure.d.ts +9 -0
- package/Engines/webgpuEngine.pure.js +7 -0
- package/Engines/webgpuEngine.pure.js.map +1 -1
- package/FlowGraph/flowGraph.js +9 -0
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphContext.js +597 -584
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.pure.d.ts +14 -0
- package/FlowGraph/flowGraphDataConnection.pure.js +38 -1
- package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
- package/FlowGraph/serialization.d.ts +11 -0
- package/FlowGraph/serialization.js +11 -1
- package/FlowGraph/serialization.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js +182 -170
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js +196 -184
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js +222 -210
- package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +123 -111
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +158 -146
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js +122 -110
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js +89 -77
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js +134 -122
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js +58 -46
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js +107 -95
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js +181 -169
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js +246 -234
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js +108 -96
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js +87 -75
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js +313 -301
- package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js +502 -490
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js +147 -135
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js +90 -78
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js +179 -167
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +462 -451
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +265 -253
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js +204 -192
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +611 -550
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js +320 -308
- package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js +87 -75
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js +154 -142
- package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js +150 -138
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.pure.js +270 -256
- package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js +95 -83
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraph.js +715 -693
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraphBlock.js +548 -533
- package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +2 -2
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +43 -51
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.d.ts +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js +66 -35
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js.map +1 -1
- package/Helpers/environmentHelper.js +2 -2
- package/Helpers/environmentHelper.js.map +1 -1
- package/Layers/effectLayer.js +529 -519
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.pure.js +428 -413
- package/Layers/glowLayer.pure.js.map +1 -1
- package/Layers/highlightLayer.pure.js +473 -458
- package/Layers/highlightLayer.pure.js.map +1 -1
- package/Layers/selectionOutlineLayer.pure.js +360 -345
- package/Layers/selectionOutlineLayer.pure.js.map +1 -1
- package/Lights/Clustered/clusteredLightContainer.pure.d.ts +1 -1
- package/Lights/Clustered/clusteredLightContainer.pure.js +583 -558
- package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +6 -1
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/areaLight.pure.js +61 -39
- package/Lights/areaLight.pure.js.map +1 -1
- package/Lights/directionalLight.pure.js +308 -284
- package/Lights/directionalLight.pure.js.map +1 -1
- package/Lights/hemisphericLight.pure.js +123 -104
- package/Lights/hemisphericLight.pure.js.map +1 -1
- package/Lights/light.d.ts +5 -3
- package/Lights/light.js +869 -827
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.pure.js +185 -174
- package/Lights/pointLight.pure.js.map +1 -1
- package/Lights/rectAreaLight.pure.d.ts +17 -0
- package/Lights/rectAreaLight.pure.js +238 -159
- package/Lights/rectAreaLight.pure.js.map +1 -1
- package/Lights/shadowLight.js +280 -268
- package/Lights/shadowLight.js.map +1 -1
- package/Lights/spotLight.pure.js +460 -427
- package/Lights/spotLight.pure.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.pure.js +17 -5
- package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
- package/Loading/sceneLoader.d.ts +5 -1
- package/Loading/sceneLoader.js +299 -402
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.pure.d.ts +18 -18
- package/Materials/Background/backgroundMaterial.pure.js +949 -794
- package/Materials/Background/backgroundMaterial.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.d.ts +15 -0
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +34 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +9 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +26 -2
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.d.ts +2 -1
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +169 -149
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.pure.js +442 -429
- package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js +396 -383
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js +237 -220
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.pure.js +1 -1
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js +150 -133
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +265 -250
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js +159 -142
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js +214 -201
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js +419 -400
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +3 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js +302 -289
- package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +1327 -1272
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js +352 -337
- package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.pure.js +297 -277
- package/Materials/Node/Blocks/PBR/refractionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.pure.js +146 -131
- package/Materials/Node/Blocks/PBR/sheenBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js +158 -145
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.pure.js +92 -77
- package/Materials/Node/Blocks/clampBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.pure.js +145 -132
- package/Materials/Node/Blocks/cloudBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/conditionalBlock.pure.js +182 -169
- package/Materials/Node/Blocks/conditionalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/curveBlock.pure.js +259 -246
- package/Materials/Node/Blocks/curveBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/debugBlock.pure.js +119 -106
- package/Materials/Node/Blocks/debugBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/loopBlock.pure.js +123 -110
- package/Materials/Node/Blocks/loopBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js +185 -172
- package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.pure.js +127 -112
- package/Materials/Node/Blocks/remapBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.pure.js +196 -185
- package/Materials/Node/Blocks/transformBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.pure.js +451 -438
- package/Materials/Node/Blocks/triPlanarBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.pure.js +184 -171
- package/Materials/Node/Blocks/trigonometryBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.pure.js +97 -84
- package/Materials/Node/Blocks/waveBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js +276 -263
- package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js.map +1 -1
- package/Materials/Node/nodeMaterial.pure.js +1765 -1737
- package/Materials/Node/nodeMaterial.pure.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +3 -3
- package/Materials/PBR/openpbrMaterial.pure.d.ts +102 -102
- package/Materials/PBR/openpbrMaterial.pure.js +3115 -2243
- package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrAnisotropicConfiguration.js +255 -227
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +9 -9
- package/Materials/PBR/pbrBRDFConfiguration.js +203 -155
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.pure.d.ts +1 -1
- package/Materials/PBR/pbrBaseMaterial.pure.js +1751 -1736
- package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +13 -13
- package/Materials/PBR/pbrBaseSimpleMaterial.js +205 -117
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +9 -9
- package/Materials/PBR/pbrClearCoatConfiguration.js +464 -406
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrIridescenceConfiguration.js +271 -239
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.pure.d.ts +66 -66
- package/Materials/PBR/pbrMaterial.pure.js +1041 -685
- package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.d.ts +5 -5
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js +176 -115
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.d.ts +7 -7
- package/Materials/PBR/pbrSheenConfiguration.js +314 -270
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.d.ts +5 -5
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js +172 -117
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +16 -16
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +864 -764
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +43 -0
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +64 -0
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -0
- package/Materials/Textures/HTML/htmlInteractionManager.d.ts +69 -0
- package/Materials/Textures/HTML/htmlInteractionManager.js +130 -0
- package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.d.ts +84 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.js +246 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.js.map +1 -0
- package/Materials/Textures/HTML/htmlTexture.d.ts +148 -0
- package/Materials/Textures/HTML/htmlTexture.js +455 -0
- package/Materials/Textures/HTML/htmlTexture.js.map +1 -0
- package/Materials/Textures/HTML/index.d.ts +4 -0
- package/Materials/Textures/HTML/index.js +5 -0
- package/Materials/Textures/HTML/index.js.map +1 -0
- package/Materials/Textures/HTML/pure.d.ts +5 -0
- package/Materials/Textures/HTML/pure.js +6 -0
- package/Materials/Textures/HTML/pure.js.map +1 -0
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js +671 -643
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
- package/Materials/Textures/baseTexture.pure.js +880 -825
- package/Materials/Textures/baseTexture.pure.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +0 -1
- package/Materials/Textures/cubeTexture.js +0 -1
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.pure.js +368 -333
- package/Materials/Textures/cubeTexture.pure.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +0 -1
- package/Materials/Textures/dynamicTexture.js +0 -1
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.pure.js +2 -0
- package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.d.ts +0 -2
- package/Materials/Textures/htmlElementTexture.js +0 -2
- package/Materials/Textures/htmlElementTexture.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.pure.js +4 -0
- package/Materials/Textures/htmlElementTexture.pure.js.map +1 -1
- package/Materials/Textures/index.d.ts +1 -0
- package/Materials/Textures/index.js +1 -1
- package/Materials/Textures/index.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +0 -1
- package/Materials/Textures/multiRenderTarget.js +0 -1
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.pure.js +2 -0
- package/Materials/Textures/multiRenderTarget.pure.js.map +1 -1
- package/Materials/Textures/pure.d.ts +1 -0
- package/Materials/Textures/pure.js +1 -0
- package/Materials/Textures/pure.js.map +1 -1
- package/Materials/Textures/texture.pure.js +961 -923
- package/Materials/Textures/texture.pure.js.map +1 -1
- package/Materials/Textures/videoTexture.pure.d.ts +3 -0
- package/Materials/Textures/videoTexture.pure.js +450 -401
- package/Materials/Textures/videoTexture.pure.js.map +1 -1
- package/Materials/colorCurves.pure.js +510 -477
- package/Materials/colorCurves.pure.js.map +1 -1
- package/Materials/effect.pure.js +0 -7
- package/Materials/effect.pure.js.map +1 -1
- package/Materials/imageProcessing.js +12 -4
- package/Materials/imageProcessing.js.map +1 -1
- package/Materials/imageProcessingConfiguration.pure.js +647 -587
- package/Materials/imageProcessingConfiguration.pure.js.map +1 -1
- package/Materials/material.decalMapConfiguration.pure.d.ts +2 -2
- package/Materials/material.decalMapConfiguration.pure.js +149 -130
- package/Materials/material.decalMapConfiguration.pure.js.map +1 -1
- package/Materials/material.detailMapConfiguration.d.ts +3 -3
- package/Materials/material.detailMapConfiguration.js +213 -175
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.pure.js +1815 -1721
- package/Materials/material.pure.js.map +1 -1
- package/Materials/materialPluginBase.pure.js +270 -249
- package/Materials/materialPluginBase.pure.js.map +1 -1
- package/Materials/materialPluginManager.pure.js +18 -8
- package/Materials/materialPluginManager.pure.js.map +1 -1
- package/Materials/materialStencilState.js +211 -200
- package/Materials/materialStencilState.js.map +1 -1
- package/Materials/meshDebugPluginMaterial.pure.d.ts +2 -2
- package/Materials/meshDebugPluginMaterial.pure.js +397 -275
- package/Materials/meshDebugPluginMaterial.pure.js.map +1 -1
- package/Materials/standardMaterial.pure.d.ts +32 -32
- package/Materials/standardMaterial.pure.js +1804 -1394
- package/Materials/standardMaterial.pure.js.map +1 -1
- package/Maths/math.color.pure.js +5 -5
- package/Maths/math.functions.js +38 -30
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.vector.pure.js +25 -25
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +18 -8
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +86 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +255 -104
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.d.ts +39 -0
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js +322 -0
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js.map +1 -0
- package/Meshes/GreasedLine/greasedLineMesh.pure.js +4 -4
- package/Meshes/GreasedLine/greasedLineRibbonMesh.pure.js +3 -3
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +107 -94
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js +276 -263
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js +247 -232
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js +299 -284
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js +196 -181
- package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/latticeBlock.pure.js +198 -179
- package/Meshes/Node/Blocks/Set/latticeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js +151 -138
- package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js +107 -94
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js +138 -125
- package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js +213 -200
- package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js +138 -125
- package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js +179 -164
- package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/boxBlock.pure.js +183 -170
- package/Meshes/Node/Blocks/Sources/boxBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js +125 -112
- package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js +153 -140
- package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/discBlock.pure.js +112 -99
- package/Meshes/Node/Blocks/Sources/discBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/gridBlock.pure.js +133 -120
- package/Meshes/Node/Blocks/Sources/gridBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js +128 -115
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/meshBlock.pure.js +116 -103
- package/Meshes/Node/Blocks/Sources/meshBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/planeBlock.pure.js +160 -147
- package/Meshes/Node/Blocks/Sources/planeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js +144 -131
- package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/torusBlock.pure.js +112 -99
- package/Meshes/Node/Blocks/Sources/torusBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js +200 -185
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/bevelBlock.pure.js +111 -98
- package/Meshes/Node/Blocks/bevelBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +182 -165
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js +89 -76
- package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/conditionBlock.pure.js +184 -169
- package/Meshes/Node/Blocks/conditionBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js +270 -255
- package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js +172 -159
- package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCurveBlock.pure.js +230 -217
- package/Meshes/Node/Blocks/geometryCurveBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryEaseBlock.pure.js +256 -245
- package/Meshes/Node/Blocks/geometryEaseBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js +206 -189
- package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTransformBlock.pure.js +166 -153
- package/Meshes/Node/Blocks/geometryTransformBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js +221 -208
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mappingBlock.pure.js +150 -137
- package/Meshes/Node/Blocks/mappingBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mathBlock.pure.js +269 -256
- package/Meshes/Node/Blocks/mathBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js +141 -128
- package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/randomBlock.pure.js +161 -148
- package/Meshes/Node/Blocks/randomBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/subdivideBlock.pure.js +102 -87
- package/Meshes/Node/Blocks/subdivideBlock.pure.js.map +1 -1
- package/Meshes/Node/nodeGeometry.js +560 -538
- package/Meshes/Node/nodeGeometry.js.map +1 -1
- package/Meshes/Node/nodeGeometryBlock.js +473 -458
- package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
- package/Meshes/abstractMesh.pure.js +2218 -2207
- package/Meshes/abstractMesh.pure.js.map +1 -1
- package/Meshes/geometry.js +30 -15
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.pure.js +26 -14
- package/Meshes/mesh.pure.js.map +1 -1
- package/Meshes/mesh.vertexData.js +1665 -1655
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/transformNode.pure.js +1400 -1372
- package/Meshes/transformNode.pure.js.map +1 -1
- package/Misc/decorators.d.ts +34 -19
- package/Misc/decorators.functions.d.ts +33 -2
- package/Misc/decorators.functions.js +114 -35
- package/Misc/decorators.functions.js.map +1 -1
- package/Misc/decorators.js +96 -68
- package/Misc/decorators.js.map +1 -1
- package/Misc/decorators.serialization.js +47 -40
- package/Misc/decorators.serialization.js.map +1 -1
- package/Misc/decorators.serializationUtilities.d.ts +24 -0
- package/Misc/decorators.serializationUtilities.js +20 -0
- package/Misc/decorators.serializationUtilities.js.map +1 -0
- package/Misc/dumpTools.pure.js +43 -33
- package/Misc/dumpTools.pure.js.map +1 -1
- package/Misc/fileTools.pure.js +8 -0
- package/Misc/fileTools.pure.js.map +1 -1
- package/Misc/observable.pure.js +0 -7
- package/Misc/observable.pure.js.map +1 -1
- package/Misc/snapshotRenderingHelper.d.ts +4 -1
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/Misc/symbolMetadataPolyfill.d.ts +11 -0
- package/Misc/symbolMetadataPolyfill.js +22 -0
- package/Misc/symbolMetadataPolyfill.js.map +1 -0
- package/Misc/tools.pure.js +2 -2
- package/Misc/tools.pure.js.map +1 -1
- package/Morph/morphTarget.js +382 -365
- package/Morph/morphTarget.js.map +1 -1
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js +160 -145
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js +187 -174
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js +238 -219
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js +140 -115
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js +157 -144
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js +133 -119
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js +93 -80
- package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleDebugBlock.pure.js +117 -105
- package/Particles/Node/Blocks/particleDebugBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js +105 -92
- package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleGradientValueBlock.pure.js +82 -69
- package/Particles/Node/Blocks/particleGradientValueBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js +113 -101
- package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleMathBlock.pure.js +278 -265
- package/Particles/Node/Blocks/particleMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleNumberMathBlock.pure.js +155 -142
- package/Particles/Node/Blocks/particleNumberMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleRandomBlock.pure.js +156 -143
- package/Particles/Node/Blocks/particleRandomBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js +217 -204
- package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleVectorMathBlock.pure.js +106 -93
- package/Particles/Node/Blocks/particleVectorMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/systemBlock.pure.js +366 -330
- package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
- package/Particles/Node/nodeParticleBlock.js +339 -324
- package/Particles/Node/nodeParticleBlock.js.map +1 -1
- package/Particles/Node/nodeParticleSystemSet.js +494 -473
- package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +0 -1
- package/Particles/gpuParticleSystem.js +0 -1
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.pure.d.ts +4 -3
- package/Particles/gpuParticleSystem.pure.js +27 -16
- package/Particles/gpuParticleSystem.pure.js.map +1 -1
- package/Particles/particleSystem.pure.js +57 -2
- package/Particles/particleSystem.pure.js.map +1 -1
- package/Particles/thinParticleSystem.d.ts +0 -1
- package/Particles/thinParticleSystem.js +0 -1
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Particles/thinParticleSystem.pure.js +2 -0
- package/Particles/thinParticleSystem.pure.js.map +1 -1
- package/Particles/webgl2ParticleSystem.pure.js +2 -0
- package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
- package/Physics/v1/physicsImpostor.pure.js +4 -4
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js +675 -656
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +521 -486
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js +241 -220
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js +852 -835
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js +1135 -1073
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js +319 -303
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +212 -199
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.pure.js +67 -55
- package/PostProcesses/blackAndWhitePostProcess.pure.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.pure.js +74 -62
- package/PostProcesses/bloomMergePostProcess.pure.js.map +1 -1
- package/PostProcesses/blurPostProcess.pure.js +127 -115
- package/PostProcesses/blurPostProcess.pure.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.pure.js +130 -118
- package/PostProcesses/chromaticAberrationPostProcess.pure.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.pure.js +115 -104
- package/PostProcesses/circleOfConfusionPostProcess.pure.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.pure.js +55 -43
- package/PostProcesses/colorCorrectionPostProcess.pure.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.pure.js +96 -84
- package/PostProcesses/convolutionPostProcess.pure.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.pure.js +68 -57
- package/PostProcesses/extractHighlightsPostProcess.pure.js.map +1 -1
- package/PostProcesses/filterPostProcess.pure.js +66 -54
- package/PostProcesses/filterPostProcess.pure.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.pure.js.map +1 -1
- package/PostProcesses/grainPostProcess.pure.js +82 -70
- package/PostProcesses/grainPostProcess.pure.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +334 -322
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.pure.js +246 -235
- package/PostProcesses/motionBlurPostProcess.pure.js.map +1 -1
- package/PostProcesses/passPostProcess.pure.js +75 -63
- package/PostProcesses/passPostProcess.pure.js.map +1 -1
- package/PostProcesses/postProcess.pure.js +899 -835
- package/PostProcesses/postProcess.pure.js.map +1 -1
- package/PostProcesses/refractionPostProcess.pure.js +114 -87
- package/PostProcesses/refractionPostProcess.pure.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js +108 -96
- package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.pure.js +241 -220
- package/PostProcesses/screenSpaceReflectionPostProcess.pure.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.pure.js +86 -74
- package/PostProcesses/sharpenPostProcess.pure.js.map +1 -1
- package/PostProcesses/tonemapPostProcess.pure.js +82 -70
- package/PostProcesses/tonemapPostProcess.pure.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +500 -465
- package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +0 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +0 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js +2 -0
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js.map +1 -1
- package/Probes/reflectionProbe.pure.js +238 -224
- package/Probes/reflectionProbe.pure.js.map +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.pure.d.ts +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.pure.js +138 -105
- package/Rendering/GlobalIllumination/giRSMManager.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.d.ts +1 -1
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js +155 -138
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -2
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +0 -2
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +5 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +0 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +0 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +1 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +34 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
- package/Rendering/edgesRenderer.pure.js.map +1 -1
- package/Rendering/prePassRenderer.d.ts +0 -2
- package/Rendering/prePassRenderer.js +0 -2
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.pure.js +2 -0
- package/Rendering/prePassRenderer.pure.js.map +1 -1
- package/Rendering/reflectiveShadowMap.pure.d.ts +1 -1
- package/Rendering/reflectiveShadowMap.pure.js +151 -130
- package/Rendering/reflectiveShadowMap.pure.js.map +1 -1
- package/Rendering/thinDepthPeelingRenderer.d.ts +0 -1
- package/Rendering/thinDepthPeelingRenderer.js +0 -1
- package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js +1 -0
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +35 -5
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
- package/Shaders/gaussianSplatting.fragment.js +17 -1
- package/Shaders/gaussianSplatting.fragment.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +1 -1
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/gaussianSplattingDepth.vertex.js +1 -1
- package/Shaders/gaussianSplattingDepth.vertex.js.map +1 -1
- package/Shaders/picking.fragment.js +39 -3
- package/Shaders/picking.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
- package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -7
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +4 -3
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js +14 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +2 -2
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -2
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
- package/ShadersWGSL/lightingVolume.compute.js +2 -2
- package/ShadersWGSL/lightingVolume.compute.js.map +1 -1
- package/ShadersWGSL/picking.fragment.js +22 -1
- package/ShadersWGSL/picking.fragment.js.map +1 -1
- package/XR/features/Layers/WebXRCompositionLayer.d.ts +3 -2
- package/XR/features/Layers/WebXRCompositionLayer.js +2 -2
- package/XR/features/Layers/WebXRCompositionLayer.js.map +1 -1
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.d.ts +59 -0
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.js +120 -0
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.js.map +1 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.d.ts +25 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.js +69 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.js.map +1 -0
- package/XR/features/WebXRLayers.pure.d.ts +8 -0
- package/XR/features/WebXRLayers.pure.js +43 -6
- package/XR/features/WebXRLayers.pure.js.map +1 -1
- package/XR/native/nativeXRRenderTarget.d.ts +2 -2
- package/XR/native/nativeXRRenderTarget.js +2 -2
- package/XR/native/nativeXRRenderTarget.js.map +1 -1
- package/XR/webXRExperienceHelper.js +10 -1
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRGraphicsBinding.d.ts +90 -0
- package/XR/webXRGraphicsBinding.js +85 -0
- package/XR/webXRGraphicsBinding.js.map +1 -0
- package/XR/webXRLayerRenderTargetTexture.d.ts +24 -0
- package/XR/webXRLayerRenderTargetTexture.js +30 -0
- package/XR/webXRLayerRenderTargetTexture.js.map +1 -0
- package/XR/webXRManagedOutputCanvas.d.ts +14 -0
- package/XR/webXRManagedOutputCanvas.js +24 -5
- package/XR/webXRManagedOutputCanvas.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +25 -4
- package/XR/webXRRenderTargetTextureProvider.js +33 -35
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.d.ts +11 -0
- package/XR/webXRSessionManager.js +37 -0
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRTypes.d.ts +9 -6
- package/XR/webXRTypes.js.map +1 -1
- package/XR/webXRWebGLLayer.d.ts +2 -2
- package/XR/webXRWebGLLayer.js +2 -2
- package/XR/webXRWebGLLayer.js.map +1 -1
- package/XR/webXRWebGLRenderTargetTextureProvider.d.ts +12 -0
- package/XR/webXRWebGLRenderTargetTextureProvider.js +58 -0
- package/XR/webXRWebGLRenderTargetTextureProvider.js.map +1 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.d.ts +69 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.js +148 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/node.js +878 -845
- package/node.js.map +1 -1
- package/package.json +8 -14
- package/scene.pure.d.ts +12 -0
- package/scene.pure.js +36 -0
- package/scene.pure.js.map +1 -1
- package/tslib.es6.js +304 -150
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** This file must only contain pure code and pure imports */
|
|
2
|
-
import {
|
|
2
|
+
import { __esDecorate, __runInitializers } from "../../tslib.es6.js";
|
|
3
3
|
import { serialize, serializeAsMatrix, serializeAsVector3 } from "../../Misc/decorators.js";
|
|
4
4
|
import { TimingTools } from "../../Misc/timingTools.js";
|
|
5
5
|
import { Matrix, TmpVectors, Vector3 } from "../../Maths/math.vector.pure.js";
|
|
@@ -9,354 +9,389 @@ import { Texture } from "../../Materials/Textures/texture.pure.js";
|
|
|
9
9
|
import { GetClass, RegisterClass } from "../../Misc/typeStore.js";
|
|
10
10
|
import { Observable } from "../../Misc/observable.pure.js";
|
|
11
11
|
import { SerializationHelper } from "../../Misc/decorators.serialization.js";
|
|
12
|
+
import { RegisterAbstractEngineCubeTexture } from "../../Engines/AbstractEngine/abstractEngine.cubeTexture.pure.js";
|
|
12
13
|
// The default scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
|
|
13
14
|
const DefaultLodScale = 0.8;
|
|
14
15
|
/**
|
|
15
16
|
* Class for creating a cube texture
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Gets the forced extension (if any)
|
|
62
|
-
*/
|
|
63
|
-
get forcedExtension() {
|
|
64
|
-
return this._forcedExtension;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Creates a cube texture to use with reflection for instance. It can be based upon dds or six images as well
|
|
68
|
-
* as prefiltered data.
|
|
69
|
-
* @param rootUrl defines the url of the texture or the root name of the six images
|
|
70
|
-
* @param sceneOrEngine defines the scene or engine the texture is attached to
|
|
71
|
-
* @param extensionsOrOptions defines the suffixes add to the picture name in case six images are in use like _px.jpg or set of all options to create the cube texture
|
|
72
|
-
* @param noMipmap defines if mipmaps should be created or not
|
|
73
|
-
* @param files defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz
|
|
74
|
-
* @param onLoad defines a callback triggered at the end of the file load if no errors occurred
|
|
75
|
-
* @param onError defines a callback triggered in case of error during load
|
|
76
|
-
* @param format defines the internal format to use for the texture once loaded
|
|
77
|
-
* @param prefiltered defines whether or not the texture is created from prefiltered data
|
|
78
|
-
* @param forcedExtension defines the extensions to use (force a special type of file to load) in case it is different from the file name
|
|
79
|
-
* @param createPolynomials defines whether or not to create polynomial harmonics from the texture data if necessary
|
|
80
|
-
* @param lodScale defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
|
|
81
|
-
* @param lodOffset defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
|
|
82
|
-
* @param loaderOptions options to be passed to the loader
|
|
83
|
-
* @param useSRGBBuffer Defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU) (default: false)
|
|
84
|
-
* @returns the cube texture
|
|
85
|
-
*/
|
|
86
|
-
constructor(rootUrl, sceneOrEngine, extensionsOrOptions = null, noMipmap = false, files = null, onLoad = null, onError = null, format = 5, prefiltered = false, forcedExtension = null, createPolynomials = false, lodScale = DefaultLodScale, lodOffset = 0, loaderOptions, useSRGBBuffer) {
|
|
87
|
-
super(sceneOrEngine);
|
|
88
|
-
/**
|
|
89
|
-
* Observable triggered once the texture has been loaded.
|
|
90
|
-
*/
|
|
91
|
-
this.onLoadObservable = new Observable();
|
|
92
|
-
/**
|
|
93
|
-
* Gets or sets the center of the bounding box associated with the cube texture.
|
|
94
|
-
* It must define where the camera used to render the texture was set
|
|
95
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#using-local-cubemap-mode
|
|
96
|
-
*/
|
|
97
|
-
this.boundingBoxPosition = Vector3.Zero();
|
|
98
|
-
this._rotationY = 0;
|
|
99
|
-
/** @internal */
|
|
100
|
-
this._files = null;
|
|
101
|
-
this._forcedExtension = null;
|
|
102
|
-
this._extensions = null;
|
|
103
|
-
this._textureMatrixRefraction = new Matrix();
|
|
104
|
-
this._buffer = null;
|
|
105
|
-
this.name = rootUrl;
|
|
106
|
-
this.url = rootUrl;
|
|
107
|
-
this._noMipmap = noMipmap;
|
|
108
|
-
this.hasAlpha = false;
|
|
109
|
-
this.isCube = true;
|
|
110
|
-
this._textureMatrix = Matrix.Identity();
|
|
111
|
-
this.coordinatesMode = Texture.CUBIC_MODE;
|
|
112
|
-
let extensions;
|
|
113
|
-
let buffer = null;
|
|
114
|
-
if (extensionsOrOptions !== null && !Array.isArray(extensionsOrOptions)) {
|
|
115
|
-
extensions = extensionsOrOptions.extensions ?? null;
|
|
116
|
-
this._noMipmap = extensionsOrOptions.noMipmap ?? false;
|
|
117
|
-
files = extensionsOrOptions.files ?? null;
|
|
118
|
-
buffer = extensionsOrOptions.buffer ?? null;
|
|
119
|
-
this._format = extensionsOrOptions.format ?? 5;
|
|
120
|
-
prefiltered = extensionsOrOptions.prefiltered ?? false;
|
|
121
|
-
forcedExtension = extensionsOrOptions.forcedExtension ?? null;
|
|
122
|
-
this._createPolynomials = extensionsOrOptions.createPolynomials ?? false;
|
|
123
|
-
this._lodScale = extensionsOrOptions.lodScale ?? DefaultLodScale;
|
|
124
|
-
this._lodOffset = extensionsOrOptions.lodOffset ?? 0;
|
|
125
|
-
this._loaderOptions = extensionsOrOptions.loaderOptions;
|
|
126
|
-
this._useSRGBBuffer = extensionsOrOptions.useSRGBBuffer;
|
|
127
|
-
this._sphericalPolynomialTargetSize = extensionsOrOptions.sphericalPolynomialTargetSize ?? 0;
|
|
128
|
-
onLoad = extensionsOrOptions.onLoad ?? null;
|
|
129
|
-
onError = extensionsOrOptions.onError ?? null;
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
this._noMipmap = noMipmap;
|
|
133
|
-
this._format = format;
|
|
134
|
-
this._createPolynomials = createPolynomials;
|
|
135
|
-
extensions = extensionsOrOptions;
|
|
136
|
-
this._loaderOptions = loaderOptions;
|
|
137
|
-
this._useSRGBBuffer = useSRGBBuffer;
|
|
138
|
-
this._lodScale = lodScale;
|
|
139
|
-
this._lodOffset = lodOffset;
|
|
140
|
-
}
|
|
141
|
-
if (!rootUrl && !files) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
this.updateURL(rootUrl, forcedExtension, onLoad, prefiltered, onError, extensions, this.getScene()?.useDelayedTextureLoading, files, buffer);
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Get the current class name of the texture useful for serialization or dynamic coding.
|
|
148
|
-
* @returns "CubeTexture"
|
|
149
|
-
*/
|
|
150
|
-
getClassName() {
|
|
151
|
-
return "CubeTexture";
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Update the url (and optional buffer) of this texture if url was null during construction.
|
|
155
|
-
* @param url the url of the texture
|
|
156
|
-
* @param forcedExtension defines the extension to use
|
|
157
|
-
* @param onLoad callback called when the texture is loaded (defaults to null)
|
|
158
|
-
* @param prefiltered Defines whether the updated texture is prefiltered or not
|
|
159
|
-
* @param onError callback called if there was an error during the loading process (defaults to null)
|
|
160
|
-
* @param extensions defines the suffixes add to the picture name in case six images are in use like _px.jpg...
|
|
161
|
-
* @param delayLoad defines if the texture should be loaded now (false by default)
|
|
162
|
-
* @param files defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz
|
|
163
|
-
* @param buffer the buffer to use instead of loading from the url
|
|
164
|
-
*/
|
|
165
|
-
updateURL(url, forcedExtension = null, onLoad = null, prefiltered = false, onError = null, extensions = null, delayLoad = false, files = null, buffer = null) {
|
|
166
|
-
if (!this.name || this.name.startsWith("data:")) {
|
|
167
|
-
this.name = url;
|
|
168
|
-
}
|
|
169
|
-
this.url = url;
|
|
170
|
-
if (forcedExtension) {
|
|
171
|
-
this._forcedExtension = forcedExtension;
|
|
172
|
-
}
|
|
173
|
-
const lastDot = url.lastIndexOf(".");
|
|
174
|
-
const extension = forcedExtension ? forcedExtension : lastDot > -1 ? url.substring(lastDot).toLowerCase() : "";
|
|
175
|
-
const isDDS = extension.indexOf(".dds") === 0;
|
|
176
|
-
const isEnv = extension.indexOf(".env") === 0;
|
|
177
|
-
const isBasis = extension.indexOf(".basis") === 0;
|
|
178
|
-
if (isEnv) {
|
|
179
|
-
this.gammaSpace = false;
|
|
180
|
-
this._prefiltered = false;
|
|
181
|
-
this.anisotropicFilteringLevel = 1;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
this._prefiltered = prefiltered;
|
|
185
|
-
if (prefiltered) {
|
|
186
|
-
this.gammaSpace = false;
|
|
187
|
-
this.anisotropicFilteringLevel = 1;
|
|
18
|
+
let CubeTexture = (() => {
|
|
19
|
+
var _a;
|
|
20
|
+
let _classSuper = BaseTexture;
|
|
21
|
+
let _instanceExtraInitializers = [];
|
|
22
|
+
let _url_decorators;
|
|
23
|
+
let _url_initializers = [];
|
|
24
|
+
let _url_extraInitializers = [];
|
|
25
|
+
let _boundingBoxPosition_decorators;
|
|
26
|
+
let _boundingBoxPosition_initializers = [];
|
|
27
|
+
let _boundingBoxPosition_extraInitializers = [];
|
|
28
|
+
let _get_boundingBoxSize_decorators;
|
|
29
|
+
let _set_rotationY_decorators;
|
|
30
|
+
let __files_decorators;
|
|
31
|
+
let __files_initializers = [];
|
|
32
|
+
let __files_extraInitializers = [];
|
|
33
|
+
let __forcedExtension_decorators;
|
|
34
|
+
let __forcedExtension_initializers = [];
|
|
35
|
+
let __forcedExtension_extraInitializers = [];
|
|
36
|
+
let __extensions_decorators;
|
|
37
|
+
let __extensions_initializers = [];
|
|
38
|
+
let __extensions_extraInitializers = [];
|
|
39
|
+
let __textureMatrix_decorators;
|
|
40
|
+
let __textureMatrix_initializers = [];
|
|
41
|
+
let __textureMatrix_extraInitializers = [];
|
|
42
|
+
let __textureMatrixRefraction_decorators;
|
|
43
|
+
let __textureMatrixRefraction_initializers = [];
|
|
44
|
+
let __textureMatrixRefraction_extraInitializers = [];
|
|
45
|
+
return _a = class CubeTexture extends _classSuper {
|
|
46
|
+
/**
|
|
47
|
+
* Gets or sets the size of the bounding box associated with the cube texture
|
|
48
|
+
* When defined, the cubemap will switch to local mode
|
|
49
|
+
* @see https://community.arm.com/graphics/b/blog/posts/reflections-based-on-local-cubemaps-in-unity
|
|
50
|
+
* @example https://www.babylonjs-playground.com/#RNASML
|
|
51
|
+
*/
|
|
52
|
+
set boundingBoxSize(value) {
|
|
53
|
+
if (this._boundingBoxSize && this._boundingBoxSize.equals(value)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._boundingBoxSize = value;
|
|
57
|
+
const scene = this.getScene();
|
|
58
|
+
if (scene) {
|
|
59
|
+
scene.markAllMaterialsAsDirty(1);
|
|
60
|
+
}
|
|
188
61
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Returns the bounding box size
|
|
64
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#using-local-cubemap-mode
|
|
65
|
+
*/
|
|
66
|
+
get boundingBoxSize() {
|
|
67
|
+
return this._boundingBoxSize;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Sets texture matrix rotation angle around Y axis in radians.
|
|
71
|
+
*/
|
|
72
|
+
set rotationY(value) {
|
|
73
|
+
this._rotationY = value;
|
|
74
|
+
this.setReflectionTextureMatrix(Matrix.RotationY(this._rotationY));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gets texture matrix rotation angle around Y axis radians.
|
|
78
|
+
*/
|
|
79
|
+
get rotationY() {
|
|
80
|
+
return this._rotationY;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Are mip maps generated for this texture or not.
|
|
84
|
+
*/
|
|
85
|
+
get noMipmap() {
|
|
86
|
+
return this._noMipmap;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets the forced extension (if any)
|
|
90
|
+
*/
|
|
91
|
+
get forcedExtension() {
|
|
92
|
+
return this._forcedExtension;
|
|
196
93
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Creates a cube texture to use with reflection for instance. It can be based upon dds or six images as well
|
|
96
|
+
* as prefiltered data.
|
|
97
|
+
* @param rootUrl defines the url of the texture or the root name of the six images
|
|
98
|
+
* @param sceneOrEngine defines the scene or engine the texture is attached to
|
|
99
|
+
* @param extensionsOrOptions defines the suffixes add to the picture name in case six images are in use like _px.jpg or set of all options to create the cube texture
|
|
100
|
+
* @param noMipmap defines if mipmaps should be created or not
|
|
101
|
+
* @param files defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz
|
|
102
|
+
* @param onLoad defines a callback triggered at the end of the file load if no errors occurred
|
|
103
|
+
* @param onError defines a callback triggered in case of error during load
|
|
104
|
+
* @param format defines the internal format to use for the texture once loaded
|
|
105
|
+
* @param prefiltered defines whether or not the texture is created from prefiltered data
|
|
106
|
+
* @param forcedExtension defines the extensions to use (force a special type of file to load) in case it is different from the file name
|
|
107
|
+
* @param createPolynomials defines whether or not to create polynomial harmonics from the texture data if necessary
|
|
108
|
+
* @param lodScale defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
|
|
109
|
+
* @param lodOffset defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
|
|
110
|
+
* @param loaderOptions options to be passed to the loader
|
|
111
|
+
* @param useSRGBBuffer Defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU) (default: false)
|
|
112
|
+
* @returns the cube texture
|
|
113
|
+
*/
|
|
114
|
+
constructor(rootUrl, sceneOrEngine, extensionsOrOptions = null, noMipmap = false, files = null, onLoad = null, onError = null, format = 5, prefiltered = false, forcedExtension = null, createPolynomials = false, lodScale = DefaultLodScale, lodOffset = 0, loaderOptions, useSRGBBuffer) {
|
|
115
|
+
super(sceneOrEngine);
|
|
116
|
+
this._delayedOnLoad = __runInitializers(this, _instanceExtraInitializers);
|
|
117
|
+
/**
|
|
118
|
+
* Observable triggered once the texture has been loaded.
|
|
119
|
+
*/
|
|
120
|
+
this.onLoadObservable = new Observable();
|
|
121
|
+
/**
|
|
122
|
+
* The url of the texture
|
|
123
|
+
*/
|
|
124
|
+
this.url = __runInitializers(this, _url_initializers, void 0);
|
|
125
|
+
/**
|
|
126
|
+
* Gets or sets the center of the bounding box associated with the cube texture.
|
|
127
|
+
* It must define where the camera used to render the texture was set
|
|
128
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#using-local-cubemap-mode
|
|
129
|
+
*/
|
|
130
|
+
this.boundingBoxPosition = (__runInitializers(this, _url_extraInitializers), __runInitializers(this, _boundingBoxPosition_initializers, Vector3.Zero()));
|
|
131
|
+
this._boundingBoxSize = __runInitializers(this, _boundingBoxPosition_extraInitializers);
|
|
132
|
+
this._rotationY = 0;
|
|
133
|
+
/** @internal */
|
|
134
|
+
this._files = __runInitializers(this, __files_initializers, null);
|
|
135
|
+
this._forcedExtension = (__runInitializers(this, __files_extraInitializers), __runInitializers(this, __forcedExtension_initializers, null));
|
|
136
|
+
this._extensions = (__runInitializers(this, __forcedExtension_extraInitializers), __runInitializers(this, __extensions_initializers, null));
|
|
137
|
+
this._textureMatrix = (__runInitializers(this, __extensions_extraInitializers), __runInitializers(this, __textureMatrix_initializers, void 0));
|
|
138
|
+
this._textureMatrixRefraction = (__runInitializers(this, __textureMatrix_extraInitializers), __runInitializers(this, __textureMatrixRefraction_initializers, new Matrix()));
|
|
139
|
+
this._format = __runInitializers(this, __textureMatrixRefraction_extraInitializers);
|
|
140
|
+
this._buffer = null;
|
|
141
|
+
RegisterAbstractEngineCubeTexture();
|
|
142
|
+
this.name = rootUrl;
|
|
143
|
+
this.url = rootUrl;
|
|
144
|
+
this._noMipmap = noMipmap;
|
|
145
|
+
this.hasAlpha = false;
|
|
146
|
+
this.isCube = true;
|
|
147
|
+
this._textureMatrix = Matrix.Identity();
|
|
148
|
+
this.coordinatesMode = Texture.CUBIC_MODE;
|
|
149
|
+
let extensions;
|
|
150
|
+
let buffer = null;
|
|
151
|
+
if (extensionsOrOptions !== null && !Array.isArray(extensionsOrOptions)) {
|
|
152
|
+
extensions = extensionsOrOptions.extensions ?? null;
|
|
153
|
+
this._noMipmap = extensionsOrOptions.noMipmap ?? false;
|
|
154
|
+
files = extensionsOrOptions.files ?? null;
|
|
155
|
+
buffer = extensionsOrOptions.buffer ?? null;
|
|
156
|
+
this._format = extensionsOrOptions.format ?? 5;
|
|
157
|
+
prefiltered = extensionsOrOptions.prefiltered ?? false;
|
|
158
|
+
forcedExtension = extensionsOrOptions.forcedExtension ?? null;
|
|
159
|
+
this._createPolynomials = extensionsOrOptions.createPolynomials ?? false;
|
|
160
|
+
this._lodScale = extensionsOrOptions.lodScale ?? DefaultLodScale;
|
|
161
|
+
this._lodOffset = extensionsOrOptions.lodOffset ?? 0;
|
|
162
|
+
this._loaderOptions = extensionsOrOptions.loaderOptions;
|
|
163
|
+
this._useSRGBBuffer = extensionsOrOptions.useSRGBBuffer;
|
|
164
|
+
this._sphericalPolynomialTargetSize = extensionsOrOptions.sphericalPolynomialTargetSize ?? 0;
|
|
165
|
+
onLoad = extensionsOrOptions.onLoad ?? null;
|
|
166
|
+
onError = extensionsOrOptions.onError ?? null;
|
|
202
167
|
}
|
|
203
|
-
|
|
168
|
+
else {
|
|
169
|
+
this._noMipmap = noMipmap;
|
|
170
|
+
this._format = format;
|
|
171
|
+
this._createPolynomials = createPolynomials;
|
|
172
|
+
extensions = extensionsOrOptions;
|
|
173
|
+
this._loaderOptions = loaderOptions;
|
|
174
|
+
this._useSRGBBuffer = useSRGBBuffer;
|
|
175
|
+
this._lodScale = lodScale;
|
|
176
|
+
this._lodOffset = lodOffset;
|
|
177
|
+
}
|
|
178
|
+
if (!rootUrl && !files) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
this.updateURL(rootUrl, forcedExtension, onLoad, prefiltered, onError, extensions, this.getScene()?.useDelayedTextureLoading, files, buffer);
|
|
204
182
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
this._loadTexture(onLoad, onError);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Delays loading of the cube texture
|
|
218
|
-
* @param forcedExtension defines the extension to use
|
|
219
|
-
*/
|
|
220
|
-
delayLoad(forcedExtension) {
|
|
221
|
-
if (this.delayLoadState !== 4) {
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
if (forcedExtension) {
|
|
225
|
-
this._forcedExtension = forcedExtension;
|
|
226
|
-
}
|
|
227
|
-
this.delayLoadState = 1;
|
|
228
|
-
this._loadTexture(this._delayedOnLoad, this._delayedOnError);
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Returns the reflection texture matrix
|
|
232
|
-
* @returns the reflection texture matrix
|
|
233
|
-
*/
|
|
234
|
-
getReflectionTextureMatrix() {
|
|
235
|
-
return this._textureMatrix;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Sets the reflection texture matrix
|
|
239
|
-
* @param value Reflection texture matrix
|
|
240
|
-
*/
|
|
241
|
-
setReflectionTextureMatrix(value) {
|
|
242
|
-
if (value.updateFlag === this._textureMatrix.updateFlag) {
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
if (value.isIdentity() !== this._textureMatrix.isIdentity()) {
|
|
246
|
-
this.getScene()?.markAllMaterialsAsDirty(1, (mat) => mat.getActiveTextures().indexOf(this) !== -1);
|
|
247
|
-
}
|
|
248
|
-
this._textureMatrix = value;
|
|
249
|
-
if (!this.getScene()?.useRightHandedSystem) {
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
const scale = TmpVectors.Vector3[0];
|
|
253
|
-
const quat = TmpVectors.Quaternion[0];
|
|
254
|
-
const trans = TmpVectors.Vector3[1];
|
|
255
|
-
this._textureMatrix.decompose(scale, quat, trans);
|
|
256
|
-
quat.z *= -1; // these two operations correspond to negating the x and y euler angles
|
|
257
|
-
quat.w *= -1;
|
|
258
|
-
Matrix.ComposeToRef(scale, quat, trans, this._textureMatrixRefraction);
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Gets a suitable rotate/transform matrix when the texture is used for refraction.
|
|
262
|
-
* There's a separate function from getReflectionTextureMatrix because refraction requires a special configuration of the matrix in right-handed mode.
|
|
263
|
-
* @returns The refraction matrix
|
|
264
|
-
*/
|
|
265
|
-
getRefractionTextureMatrix() {
|
|
266
|
-
return this.getScene()?.useRightHandedSystem ? this._textureMatrixRefraction : this._textureMatrix;
|
|
267
|
-
}
|
|
268
|
-
_loadTexture(onLoad = null, onError = null) {
|
|
269
|
-
const scene = this.getScene();
|
|
270
|
-
const oldTexture = this._texture;
|
|
271
|
-
this._texture = this._getFromCache(this.url, this._noMipmap, undefined, undefined, this._useSRGBBuffer, this.isCube);
|
|
272
|
-
const onLoadProcessing = () => {
|
|
273
|
-
this.onLoadObservable.notifyObservers(this);
|
|
274
|
-
if (oldTexture) {
|
|
275
|
-
oldTexture.dispose();
|
|
276
|
-
this.getScene()?.markAllMaterialsAsDirty(1);
|
|
183
|
+
/**
|
|
184
|
+
* Get the current class name of the texture useful for serialization or dynamic coding.
|
|
185
|
+
* @returns "CubeTexture"
|
|
186
|
+
*/
|
|
187
|
+
getClassName() {
|
|
188
|
+
return "CubeTexture";
|
|
277
189
|
}
|
|
278
|
-
|
|
279
|
-
|
|
190
|
+
/**
|
|
191
|
+
* Update the url (and optional buffer) of this texture if url was null during construction.
|
|
192
|
+
* @param url the url of the texture
|
|
193
|
+
* @param forcedExtension defines the extension to use
|
|
194
|
+
* @param onLoad callback called when the texture is loaded (defaults to null)
|
|
195
|
+
* @param prefiltered Defines whether the updated texture is prefiltered or not
|
|
196
|
+
* @param onError callback called if there was an error during the loading process (defaults to null)
|
|
197
|
+
* @param extensions defines the suffixes add to the picture name in case six images are in use like _px.jpg...
|
|
198
|
+
* @param delayLoad defines if the texture should be loaded now (false by default)
|
|
199
|
+
* @param files defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz
|
|
200
|
+
* @param buffer the buffer to use instead of loading from the url
|
|
201
|
+
*/
|
|
202
|
+
updateURL(url, forcedExtension = null, onLoad = null, prefiltered = false, onError = null, extensions = null, delayLoad = false, files = null, buffer = null) {
|
|
203
|
+
if (!this.name || this.name.startsWith("data:")) {
|
|
204
|
+
this.name = url;
|
|
205
|
+
}
|
|
206
|
+
this.url = url;
|
|
207
|
+
if (forcedExtension) {
|
|
208
|
+
this._forcedExtension = forcedExtension;
|
|
209
|
+
}
|
|
210
|
+
const lastDot = url.lastIndexOf(".");
|
|
211
|
+
const extension = forcedExtension ? forcedExtension : lastDot > -1 ? url.substring(lastDot).toLowerCase() : "";
|
|
212
|
+
const isDDS = extension.indexOf(".dds") === 0;
|
|
213
|
+
const isEnv = extension.indexOf(".env") === 0;
|
|
214
|
+
const isBasis = extension.indexOf(".basis") === 0;
|
|
215
|
+
if (isEnv) {
|
|
216
|
+
this.gammaSpace = false;
|
|
217
|
+
this._prefiltered = false;
|
|
218
|
+
this.anisotropicFilteringLevel = 1;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
this._prefiltered = prefiltered;
|
|
222
|
+
if (prefiltered) {
|
|
223
|
+
this.gammaSpace = false;
|
|
224
|
+
this.anisotropicFilteringLevel = 1;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (files) {
|
|
228
|
+
this._files = files;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
if (!isBasis && !isEnv && !isDDS && !extensions) {
|
|
232
|
+
extensions = ["_px.jpg", "_py.jpg", "_pz.jpg", "_nx.jpg", "_ny.jpg", "_nz.jpg"];
|
|
233
|
+
}
|
|
234
|
+
this._files = this._files || [];
|
|
235
|
+
this._files.length = 0;
|
|
236
|
+
if (extensions) {
|
|
237
|
+
for (let index = 0; index < extensions.length; index++) {
|
|
238
|
+
this._files.push(url + extensions[index]);
|
|
239
|
+
}
|
|
240
|
+
this._extensions = extensions;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
this._buffer = buffer;
|
|
244
|
+
if (delayLoad) {
|
|
245
|
+
this.delayLoadState = 4;
|
|
246
|
+
this._delayedOnLoad = onLoad;
|
|
247
|
+
this._delayedOnError = onError;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
this._loadTexture(onLoad, onError);
|
|
251
|
+
}
|
|
280
252
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
253
|
+
/**
|
|
254
|
+
* Delays loading of the cube texture
|
|
255
|
+
* @param forcedExtension defines the extension to use
|
|
256
|
+
*/
|
|
257
|
+
delayLoad(forcedExtension) {
|
|
258
|
+
if (this.delayLoadState !== 4) {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (forcedExtension) {
|
|
262
|
+
this._forcedExtension = forcedExtension;
|
|
263
|
+
}
|
|
264
|
+
this.delayLoadState = 1;
|
|
265
|
+
this._loadTexture(this._delayedOnLoad, this._delayedOnError);
|
|
287
266
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
267
|
+
/**
|
|
268
|
+
* Returns the reflection texture matrix
|
|
269
|
+
* @returns the reflection texture matrix
|
|
270
|
+
*/
|
|
271
|
+
getReflectionTextureMatrix() {
|
|
272
|
+
return this._textureMatrix;
|
|
293
273
|
}
|
|
294
|
-
|
|
295
|
-
|
|
274
|
+
/**
|
|
275
|
+
* Sets the reflection texture matrix
|
|
276
|
+
* @param value Reflection texture matrix
|
|
277
|
+
*/
|
|
278
|
+
setReflectionTextureMatrix(value) {
|
|
279
|
+
if (value.updateFlag === this._textureMatrix.updateFlag) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
if (value.isIdentity() !== this._textureMatrix.isIdentity()) {
|
|
283
|
+
this.getScene()?.markAllMaterialsAsDirty(1, (mat) => mat.getActiveTextures().indexOf(this) !== -1);
|
|
284
|
+
}
|
|
285
|
+
this._textureMatrix = value;
|
|
286
|
+
if (!this.getScene()?.useRightHandedSystem) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
const scale = TmpVectors.Vector3[0];
|
|
290
|
+
const quat = TmpVectors.Quaternion[0];
|
|
291
|
+
const trans = TmpVectors.Vector3[1];
|
|
292
|
+
this._textureMatrix.decompose(scale, quat, trans);
|
|
293
|
+
quat.z *= -1; // these two operations correspond to negating the x and y euler angles
|
|
294
|
+
quat.w *= -1;
|
|
295
|
+
Matrix.ComposeToRef(scale, quat, trans, this._textureMatrixRefraction);
|
|
296
296
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
297
|
+
/**
|
|
298
|
+
* Gets a suitable rotate/transform matrix when the texture is used for refraction.
|
|
299
|
+
* There's a separate function from getReflectionTextureMatrix because refraction requires a special configuration of the matrix in right-handed mode.
|
|
300
|
+
* @returns The refraction matrix
|
|
301
|
+
*/
|
|
302
|
+
getRefractionTextureMatrix() {
|
|
303
|
+
return this.getScene()?.useRightHandedSystem ? this._textureMatrixRefraction : this._textureMatrix;
|
|
302
304
|
}
|
|
303
|
-
|
|
304
|
-
this.
|
|
305
|
+
_loadTexture(onLoad = null, onError = null) {
|
|
306
|
+
const scene = this.getScene();
|
|
307
|
+
const oldTexture = this._texture;
|
|
308
|
+
this._texture = this._getFromCache(this.url, this._noMipmap, undefined, undefined, this._useSRGBBuffer, this.isCube);
|
|
309
|
+
const onLoadProcessing = () => {
|
|
310
|
+
this.onLoadObservable.notifyObservers(this);
|
|
311
|
+
if (oldTexture) {
|
|
312
|
+
oldTexture.dispose();
|
|
313
|
+
this.getScene()?.markAllMaterialsAsDirty(1);
|
|
314
|
+
}
|
|
315
|
+
if (onLoad) {
|
|
316
|
+
onLoad();
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
const errorHandler = (message, exception) => {
|
|
320
|
+
this._loadingError = true;
|
|
321
|
+
this._errorObject = { message, exception };
|
|
322
|
+
if (onError) {
|
|
323
|
+
onError(message, exception);
|
|
324
|
+
}
|
|
325
|
+
Texture.OnTextureLoadErrorObservable.notifyObservers(this);
|
|
326
|
+
};
|
|
327
|
+
if (!this._texture) {
|
|
328
|
+
if (this._prefiltered) {
|
|
329
|
+
this._texture = this._getEngine().createPrefilteredCubeTexture(this.url, scene, this._lodScale, this._lodOffset, onLoad, errorHandler, this._format, this._forcedExtension, this._createPolynomials);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
this._texture = this._getEngine().createCubeTexture(this.url, scene, this._files, this._noMipmap, onLoad, errorHandler, this._format, this._forcedExtension, false, this._lodScale, this._lodOffset, null, this._loaderOptions, !!this._useSRGBBuffer, this._buffer);
|
|
333
|
+
}
|
|
334
|
+
this._texture?.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
if (this._texture.isReady) {
|
|
338
|
+
TimingTools.SetImmediate(() => onLoadProcessing());
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
this._texture.onLoadedObservable.add(() => onLoadProcessing());
|
|
342
|
+
}
|
|
343
|
+
}
|
|
305
344
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
], CubeTexture.prototype, "_textureMatrix", void 0);
|
|
357
|
-
__decorate([
|
|
358
|
-
serializeAsMatrix("textureMatrixRefraction")
|
|
359
|
-
], CubeTexture.prototype, "_textureMatrixRefraction", void 0);
|
|
345
|
+
/**
|
|
346
|
+
* Makes a clone, or deep copy, of the cube texture
|
|
347
|
+
* @returns a new cube texture
|
|
348
|
+
*/
|
|
349
|
+
clone() {
|
|
350
|
+
let uniqueId = 0;
|
|
351
|
+
// Save the irradianceTexture before cloning. The irradianceTexture is
|
|
352
|
+
// stored on the InternalTexture (_texture._irradianceTexture), which may
|
|
353
|
+
// be shared between the source and clone when loaded from cache.
|
|
354
|
+
// BaseTexture.clone() returns null, so CopySource sets the shared
|
|
355
|
+
// irradianceTexture to null, losing it on both the original and the clone.
|
|
356
|
+
const savedIrradianceTexture = this.irradianceTexture;
|
|
357
|
+
const newCubeTexture = SerializationHelper.Clone(() => {
|
|
358
|
+
const cubeTexture = new _a(this.url, this.getScene() || this._getEngine(), this._extensions, this._noMipmap, this._files);
|
|
359
|
+
uniqueId = cubeTexture.uniqueId;
|
|
360
|
+
return cubeTexture;
|
|
361
|
+
}, this);
|
|
362
|
+
newCubeTexture.uniqueId = uniqueId;
|
|
363
|
+
// Restore the irradianceTexture if it was cleared during cloning.
|
|
364
|
+
if (savedIrradianceTexture && !this.irradianceTexture) {
|
|
365
|
+
this.irradianceTexture = savedIrradianceTexture;
|
|
366
|
+
}
|
|
367
|
+
return newCubeTexture;
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
(() => {
|
|
371
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
372
|
+
_url_decorators = [serialize()];
|
|
373
|
+
_boundingBoxPosition_decorators = [serializeAsVector3()];
|
|
374
|
+
_get_boundingBoxSize_decorators = [serializeAsVector3()];
|
|
375
|
+
_set_rotationY_decorators = [serialize("rotationY")];
|
|
376
|
+
__files_decorators = [serialize("files")];
|
|
377
|
+
__forcedExtension_decorators = [serialize("forcedExtension")];
|
|
378
|
+
__extensions_decorators = [serialize("extensions")];
|
|
379
|
+
__textureMatrix_decorators = [serializeAsMatrix("textureMatrix")];
|
|
380
|
+
__textureMatrixRefraction_decorators = [serializeAsMatrix("textureMatrixRefraction")];
|
|
381
|
+
__esDecorate(_a, null, _get_boundingBoxSize_decorators, { kind: "getter", name: "boundingBoxSize", static: false, private: false, access: { has: obj => "boundingBoxSize" in obj, get: obj => obj.boundingBoxSize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
382
|
+
__esDecorate(_a, null, _set_rotationY_decorators, { kind: "setter", name: "rotationY", static: false, private: false, access: { has: obj => "rotationY" in obj, set: (obj, value) => { obj.rotationY = value; } }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
383
|
+
__esDecorate(null, null, _url_decorators, { kind: "field", name: "url", static: false, private: false, access: { has: obj => "url" in obj, get: obj => obj.url, set: (obj, value) => { obj.url = value; } }, metadata: _metadata }, _url_initializers, _url_extraInitializers);
|
|
384
|
+
__esDecorate(null, null, _boundingBoxPosition_decorators, { kind: "field", name: "boundingBoxPosition", static: false, private: false, access: { has: obj => "boundingBoxPosition" in obj, get: obj => obj.boundingBoxPosition, set: (obj, value) => { obj.boundingBoxPosition = value; } }, metadata: _metadata }, _boundingBoxPosition_initializers, _boundingBoxPosition_extraInitializers);
|
|
385
|
+
__esDecorate(null, null, __files_decorators, { kind: "field", name: "_files", static: false, private: false, access: { has: obj => "_files" in obj, get: obj => obj._files, set: (obj, value) => { obj._files = value; } }, metadata: _metadata }, __files_initializers, __files_extraInitializers);
|
|
386
|
+
__esDecorate(null, null, __forcedExtension_decorators, { kind: "field", name: "_forcedExtension", static: false, private: false, access: { has: obj => "_forcedExtension" in obj, get: obj => obj._forcedExtension, set: (obj, value) => { obj._forcedExtension = value; } }, metadata: _metadata }, __forcedExtension_initializers, __forcedExtension_extraInitializers);
|
|
387
|
+
__esDecorate(null, null, __extensions_decorators, { kind: "field", name: "_extensions", static: false, private: false, access: { has: obj => "_extensions" in obj, get: obj => obj._extensions, set: (obj, value) => { obj._extensions = value; } }, metadata: _metadata }, __extensions_initializers, __extensions_extraInitializers);
|
|
388
|
+
__esDecorate(null, null, __textureMatrix_decorators, { kind: "field", name: "_textureMatrix", static: false, private: false, access: { has: obj => "_textureMatrix" in obj, get: obj => obj._textureMatrix, set: (obj, value) => { obj._textureMatrix = value; } }, metadata: _metadata }, __textureMatrix_initializers, __textureMatrix_extraInitializers);
|
|
389
|
+
__esDecorate(null, null, __textureMatrixRefraction_decorators, { kind: "field", name: "_textureMatrixRefraction", static: false, private: false, access: { has: obj => "_textureMatrixRefraction" in obj, get: obj => obj._textureMatrixRefraction, set: (obj, value) => { obj._textureMatrixRefraction = value; } }, metadata: _metadata }, __textureMatrixRefraction_initializers, __textureMatrixRefraction_extraInitializers);
|
|
390
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
391
|
+
})(),
|
|
392
|
+
_a;
|
|
393
|
+
})();
|
|
394
|
+
export { CubeTexture };
|
|
360
395
|
let _Registered = false;
|
|
361
396
|
/**
|
|
362
397
|
* Creates a cube texture from an array of image urls
|