@onerjs/core 8.53.5 → 8.53.7
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, serializeAsColor3 } from "../Misc/decorators.js";
|
|
4
4
|
import { Scene } from "../scene.pure.js";
|
|
5
5
|
import { EffectLayer } from "./effectLayer.js";
|
|
@@ -15,355 +15,370 @@ import { RegisterClass } from "../Misc/typeStore.js";
|
|
|
15
15
|
* Once instantiated in a scene, simply use the addMesh or removeMesh method to add or remove
|
|
16
16
|
* outlined meshes to your scene.
|
|
17
17
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
*/
|
|
37
|
-
get outlineThickness() {
|
|
38
|
-
return this._thinEffectLayer.outlineThickness;
|
|
39
|
-
}
|
|
40
|
-
set outlineThickness(value) {
|
|
41
|
-
this._thinEffectLayer.outlineThickness = value;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* The strength of the occlusion effect (default: 0.8)
|
|
45
|
-
*/
|
|
46
|
-
get occlusionStrength() {
|
|
47
|
-
return this._thinEffectLayer.occlusionStrength;
|
|
48
|
-
}
|
|
49
|
-
set occlusionStrength(value) {
|
|
50
|
-
this._thinEffectLayer.occlusionStrength = value;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* The occlusion threshold (default: 0.01)
|
|
54
|
-
*/
|
|
55
|
-
get occlusionThreshold() {
|
|
56
|
-
return this._thinEffectLayer.occlusionThreshold;
|
|
57
|
-
}
|
|
58
|
-
set occlusionThreshold(value) {
|
|
59
|
-
this._thinEffectLayer.occlusionThreshold = value;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Whether to use depth when drawing selection outlines.
|
|
63
|
-
* Disable this to avoid depth renderer usage; selected outlines will not be clipped by scene or selected geometry.
|
|
64
|
-
*/
|
|
65
|
-
get useDepthOcclusion() {
|
|
66
|
-
return this._thinEffectLayer.useDepthOcclusion;
|
|
67
|
-
}
|
|
68
|
-
set useDepthOcclusion(value) {
|
|
69
|
-
this._thinEffectLayer.useDepthOcclusion = value;
|
|
70
|
-
this._options.useDepthOcclusion = value;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Instantiates a new selection outline Layer and references it to the scene..
|
|
74
|
-
* @param name The name of the layer
|
|
75
|
-
* @param scene The scene to use the layer in
|
|
76
|
-
* @param options Sets of none mandatory options to use with the layer (see ISelectionOutlineLayerOptions for more information)
|
|
77
|
-
*/
|
|
78
|
-
constructor(name, scene, options) {
|
|
79
|
-
super(name, scene, options !== undefined ? !!options.forceGLSL : false, new ThinSelectionOutlineLayer(name, scene, options));
|
|
80
|
-
// Adapt options
|
|
81
|
-
this._options = {
|
|
82
|
-
mainTextureRatio: 1.0,
|
|
83
|
-
mainTextureFixedSize: 0,
|
|
84
|
-
alphaBlendingMode: 2,
|
|
85
|
-
camera: null,
|
|
86
|
-
mainTextureSamples: 1,
|
|
87
|
-
renderingGroupId: -1,
|
|
88
|
-
mainTextureType: 1,
|
|
89
|
-
mainTextureFormat: 7,
|
|
90
|
-
forceGLSL: false,
|
|
91
|
-
storeCameraSpaceZ: false,
|
|
92
|
-
outlineMethod: 0,
|
|
93
|
-
useDepthOcclusion: true,
|
|
94
|
-
...options,
|
|
95
|
-
};
|
|
96
|
-
// Fall back to a supported mask texture type if the device doesn't support rendering to float framebuffers
|
|
97
|
-
// or linear filtering of float textures (e.g. OES_texture_float_linear missing on some iOS versions)
|
|
98
|
-
if (this._options.mainTextureType === 1 && !(this._engine.getCaps().textureFloatRender && this._engine.getCaps().textureFloatLinearFiltering)) {
|
|
99
|
-
this._options.mainTextureType = 2;
|
|
100
|
-
}
|
|
101
|
-
if (this._options.mainTextureType === 2 && !this._engine.getCaps().textureHalfFloatRender && !this._options.storeCameraSpaceZ) {
|
|
102
|
-
this._options.mainTextureType = 0;
|
|
103
|
-
}
|
|
104
|
-
// Initialize the layer
|
|
105
|
-
this._init(this._options);
|
|
106
|
-
// Do not render as long as no meshes have been added
|
|
107
|
-
this._shouldRender = false;
|
|
108
|
-
}
|
|
109
|
-
_enableDepthRenderer() {
|
|
110
|
-
RegisterDepthRendererSceneComponent(DepthRenderer);
|
|
111
|
-
return this._scene.enableDepthRenderer();
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Checks if the layer is ready to render.
|
|
115
|
-
* When selections are active and depth occlusion is enabled, this also
|
|
116
|
-
* lazily creates the depth renderer and checks that its depth map is ready.
|
|
117
|
-
* @returns true if the layer is ready
|
|
118
|
-
*/
|
|
119
|
-
isLayerReady() {
|
|
120
|
-
if (!super.isLayerReady()) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
if (this.shouldRender() && this.useDepthOcclusion && this.occlusionStrength > 0) {
|
|
124
|
-
const depthRenderer = this._enableDepthRenderer();
|
|
125
|
-
if (!depthRenderer.getDepthMap().isReadyForRendering()) {
|
|
126
|
-
return false;
|
|
18
|
+
let SelectionOutlineLayer = (() => {
|
|
19
|
+
var _a;
|
|
20
|
+
let _classSuper = EffectLayer;
|
|
21
|
+
let _instanceExtraInitializers = [];
|
|
22
|
+
let _get_outlineColor_decorators;
|
|
23
|
+
let _get_outlineThickness_decorators;
|
|
24
|
+
let _get_occlusionStrength_decorators;
|
|
25
|
+
let _get_occlusionThreshold_decorators;
|
|
26
|
+
let _get_useDepthOcclusion_decorators;
|
|
27
|
+
let __options_decorators;
|
|
28
|
+
let __options_initializers = [];
|
|
29
|
+
let __options_extraInitializers = [];
|
|
30
|
+
return _a = class SelectionOutlineLayer extends _classSuper {
|
|
31
|
+
/**
|
|
32
|
+
* Effect Name of the selection outline layer.
|
|
33
|
+
*/
|
|
34
|
+
static get EffectName() {
|
|
35
|
+
return ThinSelectionOutlineLayer.EffectName;
|
|
127
36
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
* @param renderIndex
|
|
206
|
-
*/
|
|
207
|
-
_internalRender(effect, renderIndex) {
|
|
208
|
-
this._thinEffectLayer._internalCompose(effect, renderIndex);
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @returns true if the layer contains information to display, otherwise false.
|
|
212
|
-
*/
|
|
213
|
-
shouldRender() {
|
|
214
|
-
return this._thinEffectLayer.shouldRender();
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Returns true if the mesh should render, otherwise false.
|
|
218
|
-
* @param mesh The mesh to render
|
|
219
|
-
* @returns true if it should render otherwise false
|
|
220
|
-
*/
|
|
221
|
-
_shouldRenderMesh(mesh) {
|
|
222
|
-
return this._thinEffectLayer._shouldRenderMesh(mesh);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Returns true if the mesh can be rendered, otherwise false.
|
|
226
|
-
* @param mesh The mesh to render
|
|
227
|
-
* @param material The material used on the mesh
|
|
228
|
-
* @returns true if it can be rendered otherwise false
|
|
229
|
-
*/
|
|
230
|
-
_canRenderMesh(mesh, material) {
|
|
231
|
-
return this._thinEffectLayer._canRenderMesh(mesh, material);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Adds specific effects defines.
|
|
235
|
-
* @param defines The defines to add specifics to.
|
|
236
|
-
*/
|
|
237
|
-
_addCustomEffectDefines(defines) {
|
|
238
|
-
this._thinEffectLayer._addCustomEffectDefines(defines);
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Sets the required values for both the emissive texture and and the main color.
|
|
242
|
-
* @param mesh
|
|
243
|
-
* @param subMesh
|
|
244
|
-
* @param material
|
|
245
|
-
*/
|
|
246
|
-
_setEmissiveTextureAndColor(mesh, subMesh, material) {
|
|
247
|
-
this._thinEffectLayer._setEmissiveTextureAndColor(mesh, subMesh, material);
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Determine if a given mesh will be highlighted by the current SelectionOutlineLayer
|
|
251
|
-
* @param mesh mesh to test
|
|
252
|
-
* @returns true if the mesh will be highlighted by the current SelectionOutlineLayer
|
|
253
|
-
*/
|
|
254
|
-
hasMesh(mesh) {
|
|
255
|
-
return this._thinEffectLayer.hasMesh(mesh);
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Remove all the meshes currently referenced in the selection outline layer
|
|
259
|
-
*/
|
|
260
|
-
clearSelection() {
|
|
261
|
-
this._thinEffectLayer.clearSelection();
|
|
262
|
-
this._mainTexture.renderList = this._thinEffectLayer._selection; // update render list
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Adds mesh or group of mesh to the current selection
|
|
266
|
-
*
|
|
267
|
-
* If a group of meshes is provided, they will outline as a single unit
|
|
268
|
-
* @param meshOrGroup Meshes to add to the selection
|
|
269
|
-
*/
|
|
270
|
-
addSelection(meshOrGroup) {
|
|
271
|
-
this._thinEffectLayer.addSelection(meshOrGroup);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Adds mesh or group of mesh to the current selection
|
|
275
|
-
* @param meshOrGroup Meshes to remove from the selection
|
|
276
|
-
*/
|
|
277
|
-
removeSelection(meshOrGroup) {
|
|
278
|
-
this._thinEffectLayer.removeSelection(meshOrGroup);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Free any resources and references associated to a mesh.
|
|
282
|
-
* Internal use
|
|
283
|
-
* @param mesh The mesh to free.
|
|
284
|
-
* @internal
|
|
285
|
-
*/
|
|
286
|
-
_disposeMesh(mesh) {
|
|
287
|
-
this._thinEffectLayer._disposeMesh(mesh);
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Gets the class name of the effect layer
|
|
291
|
-
* @returns the string with the class name of the effect layer
|
|
292
|
-
*/
|
|
293
|
-
getClassName() {
|
|
294
|
-
return "SelectionOutlineLayer";
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Serializes this SelectionOutline layer
|
|
298
|
-
* @returns a serialized SelectionOutline layer object
|
|
299
|
-
*/
|
|
300
|
-
serialize() {
|
|
301
|
-
const serializationObject = SerializationHelper.Serialize(this);
|
|
302
|
-
serializationObject.customType = "BABYLON.SelectionOutlineLayer";
|
|
303
|
-
// Selected meshes
|
|
304
|
-
serializationObject.selection = [];
|
|
305
|
-
const selection = this._thinEffectLayer._selection;
|
|
306
|
-
if (selection) {
|
|
307
|
-
const meshUniqueIdToSelectionId = this._thinEffectLayer._meshUniqueIdToSelectionId;
|
|
308
|
-
// selection can be sparse since _removeMesh can remove entries
|
|
309
|
-
const selectionMap = {};
|
|
310
|
-
for (let i = 0; i < selection.length; ++i) {
|
|
311
|
-
const mesh = selection[i];
|
|
312
|
-
const selectionId = meshUniqueIdToSelectionId[mesh.uniqueId];
|
|
313
|
-
if (!selectionMap[selectionId]) {
|
|
314
|
-
selectionMap[selectionId] = {
|
|
315
|
-
meshIds: [],
|
|
316
|
-
};
|
|
37
|
+
/**
|
|
38
|
+
* The outline color (default (1, 0.5, 0))
|
|
39
|
+
*/
|
|
40
|
+
get outlineColor() {
|
|
41
|
+
return this._thinEffectLayer.outlineColor;
|
|
42
|
+
}
|
|
43
|
+
set outlineColor(value) {
|
|
44
|
+
this._thinEffectLayer.outlineColor = value;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The thickness of the edges (default: 2.0)
|
|
48
|
+
*/
|
|
49
|
+
get outlineThickness() {
|
|
50
|
+
return this._thinEffectLayer.outlineThickness;
|
|
51
|
+
}
|
|
52
|
+
set outlineThickness(value) {
|
|
53
|
+
this._thinEffectLayer.outlineThickness = value;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The strength of the occlusion effect (default: 0.8)
|
|
57
|
+
*/
|
|
58
|
+
get occlusionStrength() {
|
|
59
|
+
return this._thinEffectLayer.occlusionStrength;
|
|
60
|
+
}
|
|
61
|
+
set occlusionStrength(value) {
|
|
62
|
+
this._thinEffectLayer.occlusionStrength = value;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The occlusion threshold (default: 0.01)
|
|
66
|
+
*/
|
|
67
|
+
get occlusionThreshold() {
|
|
68
|
+
return this._thinEffectLayer.occlusionThreshold;
|
|
69
|
+
}
|
|
70
|
+
set occlusionThreshold(value) {
|
|
71
|
+
this._thinEffectLayer.occlusionThreshold = value;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether to use depth when drawing selection outlines.
|
|
75
|
+
* Disable this to avoid depth renderer usage; selected outlines will not be clipped by scene or selected geometry.
|
|
76
|
+
*/
|
|
77
|
+
get useDepthOcclusion() {
|
|
78
|
+
return this._thinEffectLayer.useDepthOcclusion;
|
|
79
|
+
}
|
|
80
|
+
set useDepthOcclusion(value) {
|
|
81
|
+
this._thinEffectLayer.useDepthOcclusion = value;
|
|
82
|
+
this._options.useDepthOcclusion = value;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Instantiates a new selection outline Layer and references it to the scene..
|
|
86
|
+
* @param name The name of the layer
|
|
87
|
+
* @param scene The scene to use the layer in
|
|
88
|
+
* @param options Sets of none mandatory options to use with the layer (see ISelectionOutlineLayerOptions for more information)
|
|
89
|
+
*/
|
|
90
|
+
constructor(name, scene, options) {
|
|
91
|
+
super(name, scene, options !== undefined ? !!options.forceGLSL : false, new ThinSelectionOutlineLayer(name, scene, options));
|
|
92
|
+
this._options = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, __options_initializers, void 0));
|
|
93
|
+
__runInitializers(this, __options_extraInitializers);
|
|
94
|
+
// Adapt options
|
|
95
|
+
this._options = {
|
|
96
|
+
mainTextureRatio: 1.0,
|
|
97
|
+
mainTextureFixedSize: 0,
|
|
98
|
+
alphaBlendingMode: 2,
|
|
99
|
+
camera: null,
|
|
100
|
+
mainTextureSamples: 1,
|
|
101
|
+
renderingGroupId: -1,
|
|
102
|
+
mainTextureType: 1,
|
|
103
|
+
mainTextureFormat: 7,
|
|
104
|
+
forceGLSL: false,
|
|
105
|
+
storeCameraSpaceZ: false,
|
|
106
|
+
outlineMethod: 0,
|
|
107
|
+
useDepthOcclusion: true,
|
|
108
|
+
...options,
|
|
109
|
+
};
|
|
110
|
+
// Fall back to a supported mask texture type if the device doesn't support rendering to float framebuffers
|
|
111
|
+
// or linear filtering of float textures (e.g. OES_texture_float_linear missing on some iOS versions)
|
|
112
|
+
if (this._options.mainTextureType === 1 && !(this._engine.getCaps().textureFloatRender && this._engine.getCaps().textureFloatLinearFiltering)) {
|
|
113
|
+
this._options.mainTextureType = 2;
|
|
317
114
|
}
|
|
318
|
-
|
|
115
|
+
if (this._options.mainTextureType === 2 && !this._engine.getCaps().textureHalfFloatRender && !this._options.storeCameraSpaceZ) {
|
|
116
|
+
this._options.mainTextureType = 0;
|
|
117
|
+
}
|
|
118
|
+
// Initialize the layer
|
|
119
|
+
this._init(this._options);
|
|
120
|
+
// Do not render as long as no meshes have been added
|
|
121
|
+
this._shouldRender = false;
|
|
319
122
|
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
const mesh = scene.getMeshById(meshId);
|
|
340
|
-
if (mesh) {
|
|
341
|
-
meshes.push(mesh);
|
|
123
|
+
_enableDepthRenderer() {
|
|
124
|
+
RegisterDepthRendererSceneComponent(DepthRenderer);
|
|
125
|
+
return this._scene.enableDepthRenderer();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Checks if the layer is ready to render.
|
|
129
|
+
* When selections are active and depth occlusion is enabled, this also
|
|
130
|
+
* lazily creates the depth renderer and checks that its depth map is ready.
|
|
131
|
+
* @returns true if the layer is ready
|
|
132
|
+
*/
|
|
133
|
+
isLayerReady() {
|
|
134
|
+
if (!super.isLayerReady()) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
if (this.shouldRender() && this.useDepthOcclusion && this.occlusionStrength > 0) {
|
|
138
|
+
const depthRenderer = this._enableDepthRenderer();
|
|
139
|
+
if (!depthRenderer.getDepthMap().isReadyForRendering()) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
342
142
|
}
|
|
143
|
+
return true;
|
|
343
144
|
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Get the effect name of the layer.
|
|
147
|
+
* @returns The effect name
|
|
148
|
+
*/
|
|
149
|
+
getEffectName() {
|
|
150
|
+
return _a.EffectName;
|
|
151
|
+
}
|
|
152
|
+
_numInternalDraws() {
|
|
153
|
+
return 1; // draw depth mask on main pass and outline on merge pass
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Create the merge effect. This is the shader use to blit the information back
|
|
157
|
+
* to the main canvas at the end of the scene rendering.
|
|
158
|
+
* @returns The effect created
|
|
159
|
+
*/
|
|
160
|
+
_createMergeEffect() {
|
|
161
|
+
return this._thinEffectLayer._createMergeEffect();
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Creates the render target textures and post processes used in the selection outline layer.
|
|
165
|
+
*/
|
|
166
|
+
_createTextureAndPostProcesses() {
|
|
167
|
+
this._textures = [];
|
|
168
|
+
this._thinEffectLayer.bindTexturesForCompose = (effect) => {
|
|
169
|
+
effect.setTexture("maskSampler", this._mainTexture);
|
|
170
|
+
if (this.useDepthOcclusion && this.occlusionStrength > 0) {
|
|
171
|
+
const depthRenderer = this._enableDepthRenderer();
|
|
172
|
+
effect.setTexture("depthSampler", depthRenderer.getDepthMap());
|
|
173
|
+
}
|
|
174
|
+
const mainTextureDesiredSize = this._mainTextureDesiredSize;
|
|
175
|
+
this._thinEffectLayer.textureWidth = mainTextureDesiredSize.width;
|
|
176
|
+
this._thinEffectLayer.textureHeight = mainTextureDesiredSize.height;
|
|
177
|
+
};
|
|
178
|
+
this._thinEffectLayer._createTextureAndPostProcesses();
|
|
179
|
+
this._postProcesses = [];
|
|
180
|
+
this._mainTexture.samples = this._options.mainTextureSamples;
|
|
181
|
+
this._mainTexture.onAfterUnbindObservable.add(() => {
|
|
182
|
+
// glow layer and highlight layer both call this._scene.postProcessManager.directRender
|
|
183
|
+
// when you call this._scene.postProcessManager.directRender, it has 4 side effects:
|
|
184
|
+
// 1. binds the framebuffer
|
|
185
|
+
// 2. setAlphaMode(ALPHA_DISABLE)
|
|
186
|
+
// 3. setDepthBuffer(true)
|
|
187
|
+
// 4. setDepthWrite(true)
|
|
188
|
+
// glow layer and highlight layer are restore framebuffer and depends on other side effects
|
|
189
|
+
// but for now 3 and 4 are not needed to resolve the state management issue, so we just restore alpha mode
|
|
190
|
+
this._scene.getEngine().setAlphaMode(0);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Creates the main texture for the effect layer.
|
|
195
|
+
*/
|
|
196
|
+
_createMainTexture() {
|
|
197
|
+
super._createMainTexture();
|
|
198
|
+
// set the render list for selective rendering
|
|
199
|
+
this._mainTexture.renderList = this._thinEffectLayer._selection;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @returns whether or not the layer needs stencil enabled during the mesh rendering.
|
|
203
|
+
*/
|
|
204
|
+
needStencil() {
|
|
205
|
+
return this._thinEffectLayer.needStencil();
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Checks for the readiness of the element composing the layer.
|
|
209
|
+
* @param subMesh the mesh to check for
|
|
210
|
+
* @param useInstances specify whether or not to use instances to render the mesh
|
|
211
|
+
* @returns true if ready otherwise, false
|
|
212
|
+
*/
|
|
213
|
+
isReady(subMesh, useInstances) {
|
|
214
|
+
return this._thinEffectLayer.isReady(subMesh, useInstances);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Implementation specific of rendering the generating effect on the main canvas.
|
|
218
|
+
* @param effect The effect used to render through
|
|
219
|
+
* @param renderIndex
|
|
220
|
+
*/
|
|
221
|
+
_internalRender(effect, renderIndex) {
|
|
222
|
+
this._thinEffectLayer._internalCompose(effect, renderIndex);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* @returns true if the layer contains information to display, otherwise false.
|
|
226
|
+
*/
|
|
227
|
+
shouldRender() {
|
|
228
|
+
return this._thinEffectLayer.shouldRender();
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Returns true if the mesh should render, otherwise false.
|
|
232
|
+
* @param mesh The mesh to render
|
|
233
|
+
* @returns true if it should render otherwise false
|
|
234
|
+
*/
|
|
235
|
+
_shouldRenderMesh(mesh) {
|
|
236
|
+
return this._thinEffectLayer._shouldRenderMesh(mesh);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Returns true if the mesh can be rendered, otherwise false.
|
|
240
|
+
* @param mesh The mesh to render
|
|
241
|
+
* @param material The material used on the mesh
|
|
242
|
+
* @returns true if it can be rendered otherwise false
|
|
243
|
+
*/
|
|
244
|
+
_canRenderMesh(mesh, material) {
|
|
245
|
+
return this._thinEffectLayer._canRenderMesh(mesh, material);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Adds specific effects defines.
|
|
249
|
+
* @param defines The defines to add specifics to.
|
|
250
|
+
*/
|
|
251
|
+
_addCustomEffectDefines(defines) {
|
|
252
|
+
this._thinEffectLayer._addCustomEffectDefines(defines);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Sets the required values for both the emissive texture and and the main color.
|
|
256
|
+
* @param mesh
|
|
257
|
+
* @param subMesh
|
|
258
|
+
* @param material
|
|
259
|
+
*/
|
|
260
|
+
_setEmissiveTextureAndColor(mesh, subMesh, material) {
|
|
261
|
+
this._thinEffectLayer._setEmissiveTextureAndColor(mesh, subMesh, material);
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Determine if a given mesh will be highlighted by the current SelectionOutlineLayer
|
|
265
|
+
* @param mesh mesh to test
|
|
266
|
+
* @returns true if the mesh will be highlighted by the current SelectionOutlineLayer
|
|
267
|
+
*/
|
|
268
|
+
hasMesh(mesh) {
|
|
269
|
+
return this._thinEffectLayer.hasMesh(mesh);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Remove all the meshes currently referenced in the selection outline layer
|
|
273
|
+
*/
|
|
274
|
+
clearSelection() {
|
|
275
|
+
this._thinEffectLayer.clearSelection();
|
|
276
|
+
this._mainTexture.renderList = this._thinEffectLayer._selection; // update render list
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Adds mesh or group of mesh to the current selection
|
|
280
|
+
*
|
|
281
|
+
* If a group of meshes is provided, they will outline as a single unit
|
|
282
|
+
* @param meshOrGroup Meshes to add to the selection
|
|
283
|
+
*/
|
|
284
|
+
addSelection(meshOrGroup) {
|
|
285
|
+
this._thinEffectLayer.addSelection(meshOrGroup);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Adds mesh or group of mesh to the current selection
|
|
289
|
+
* @param meshOrGroup Meshes to remove from the selection
|
|
290
|
+
*/
|
|
291
|
+
removeSelection(meshOrGroup) {
|
|
292
|
+
this._thinEffectLayer.removeSelection(meshOrGroup);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Free any resources and references associated to a mesh.
|
|
296
|
+
* Internal use
|
|
297
|
+
* @param mesh The mesh to free.
|
|
298
|
+
* @internal
|
|
299
|
+
*/
|
|
300
|
+
_disposeMesh(mesh) {
|
|
301
|
+
this._thinEffectLayer._disposeMesh(mesh);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Gets the class name of the effect layer
|
|
305
|
+
* @returns the string with the class name of the effect layer
|
|
306
|
+
*/
|
|
307
|
+
getClassName() {
|
|
308
|
+
return "SelectionOutlineLayer";
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Serializes this SelectionOutline layer
|
|
312
|
+
* @returns a serialized SelectionOutline layer object
|
|
313
|
+
*/
|
|
314
|
+
serialize() {
|
|
315
|
+
const serializationObject = SerializationHelper.Serialize(this);
|
|
316
|
+
serializationObject.customType = "BABYLON.SelectionOutlineLayer";
|
|
317
|
+
// Selected meshes
|
|
318
|
+
serializationObject.selection = [];
|
|
319
|
+
const selection = this._thinEffectLayer._selection;
|
|
320
|
+
if (selection) {
|
|
321
|
+
const meshUniqueIdToSelectionId = this._thinEffectLayer._meshUniqueIdToSelectionId;
|
|
322
|
+
// selection can be sparse since _removeMesh can remove entries
|
|
323
|
+
const selectionMap = {};
|
|
324
|
+
for (let i = 0; i < selection.length; ++i) {
|
|
325
|
+
const mesh = selection[i];
|
|
326
|
+
const selectionId = meshUniqueIdToSelectionId[mesh.uniqueId];
|
|
327
|
+
if (!selectionMap[selectionId]) {
|
|
328
|
+
selectionMap[selectionId] = {
|
|
329
|
+
meshIds: [],
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
selectionMap[selectionId].meshIds.push(mesh.id);
|
|
333
|
+
}
|
|
334
|
+
serializationObject.selection = selectionMap;
|
|
335
|
+
}
|
|
336
|
+
return serializationObject;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Creates a SelectionOutline layer from parsed SelectionOutline layer data
|
|
340
|
+
* @param parsedSelectionOutlineLayer defines the SelectionOutline layer data
|
|
341
|
+
* @param scene defines the current scene
|
|
342
|
+
* @param rootUrl defines the root URL containing the SelectionOutline layer information
|
|
343
|
+
* @returns a parsed SelectionOutline layer
|
|
344
|
+
*/
|
|
345
|
+
static Parse(parsedSelectionOutlineLayer, scene, rootUrl) {
|
|
346
|
+
const selectionOutlineLayer = SerializationHelper.Parse(() => new _a(parsedSelectionOutlineLayer.name, scene, parsedSelectionOutlineLayer.options), parsedSelectionOutlineLayer, scene, rootUrl);
|
|
347
|
+
const selectionMap = parsedSelectionOutlineLayer.selection;
|
|
348
|
+
// Selected meshes
|
|
349
|
+
for (const outlinedMeshes of Object.values(selectionMap)) {
|
|
350
|
+
const meshes = [];
|
|
351
|
+
for (let meshIndex = 0; meshIndex < outlinedMeshes.meshIds.length; meshIndex++) {
|
|
352
|
+
const meshId = outlinedMeshes.meshIds[meshIndex];
|
|
353
|
+
const mesh = scene.getMeshById(meshId);
|
|
354
|
+
if (mesh) {
|
|
355
|
+
meshes.push(mesh);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
selectionOutlineLayer.addSelection(meshes);
|
|
359
|
+
}
|
|
360
|
+
return selectionOutlineLayer;
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
(() => {
|
|
364
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
365
|
+
_get_outlineColor_decorators = [serializeAsColor3()];
|
|
366
|
+
_get_outlineThickness_decorators = [serialize()];
|
|
367
|
+
_get_occlusionStrength_decorators = [serialize()];
|
|
368
|
+
_get_occlusionThreshold_decorators = [serialize()];
|
|
369
|
+
_get_useDepthOcclusion_decorators = [serialize()];
|
|
370
|
+
__options_decorators = [serialize("options")];
|
|
371
|
+
__esDecorate(_a, null, _get_outlineColor_decorators, { kind: "getter", name: "outlineColor", static: false, private: false, access: { has: obj => "outlineColor" in obj, get: obj => obj.outlineColor }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
372
|
+
__esDecorate(_a, null, _get_outlineThickness_decorators, { kind: "getter", name: "outlineThickness", static: false, private: false, access: { has: obj => "outlineThickness" in obj, get: obj => obj.outlineThickness }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
373
|
+
__esDecorate(_a, null, _get_occlusionStrength_decorators, { kind: "getter", name: "occlusionStrength", static: false, private: false, access: { has: obj => "occlusionStrength" in obj, get: obj => obj.occlusionStrength }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
374
|
+
__esDecorate(_a, null, _get_occlusionThreshold_decorators, { kind: "getter", name: "occlusionThreshold", static: false, private: false, access: { has: obj => "occlusionThreshold" in obj, get: obj => obj.occlusionThreshold }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
375
|
+
__esDecorate(_a, null, _get_useDepthOcclusion_decorators, { kind: "getter", name: "useDepthOcclusion", static: false, private: false, access: { has: obj => "useDepthOcclusion" in obj, get: obj => obj.useDepthOcclusion }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
376
|
+
__esDecorate(null, null, __options_decorators, { kind: "field", name: "_options", static: false, private: false, access: { has: obj => "_options" in obj, get: obj => obj._options, set: (obj, value) => { obj._options = value; } }, metadata: _metadata }, __options_initializers, __options_extraInitializers);
|
|
377
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
378
|
+
})(),
|
|
379
|
+
_a;
|
|
380
|
+
})();
|
|
381
|
+
export { SelectionOutlineLayer };
|
|
367
382
|
let _Registered = false;
|
|
368
383
|
/**
|
|
369
384
|
* Register side effects for selectionOutlineLayer.
|