@onerjs/core 8.53.5 → 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
package/Layers/glowLayer.pure.js
CHANGED
|
@@ -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 } from "../Misc/decorators.js";
|
|
4
4
|
import { Scene } from "../scene.pure.js";
|
|
5
5
|
import { Texture } from "../Materials/Textures/texture.pure.js";
|
|
@@ -18,424 +18,439 @@ import { RegisterClass } from "../Misc/typeStore.js";
|
|
|
18
18
|
*
|
|
19
19
|
* Documentation: https://doc.babylonjs.com/features/featuresDeepDive/mesh/glowLayer
|
|
20
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
this._blurTexture1.renderParticles = false;
|
|
135
|
-
this._blurTexture1.ignoreCameraViewport = true;
|
|
136
|
-
const blurTextureWidth2 = Math.floor(blurTextureWidth / 2);
|
|
137
|
-
const blurTextureHeight2 = Math.floor(blurTextureHeight / 2);
|
|
138
|
-
this._blurTexture2 = new RenderTargetTexture("GlowLayerBlurRTT2", {
|
|
139
|
-
width: blurTextureWidth2,
|
|
140
|
-
height: blurTextureHeight2,
|
|
141
|
-
}, this._scene, false, true, textureType);
|
|
142
|
-
this._blurTexture2.wrapU = Texture.CLAMP_ADDRESSMODE;
|
|
143
|
-
this._blurTexture2.wrapV = Texture.CLAMP_ADDRESSMODE;
|
|
144
|
-
this._blurTexture2.updateSamplingMode(Texture.BILINEAR_SAMPLINGMODE);
|
|
145
|
-
this._blurTexture2.renderParticles = false;
|
|
146
|
-
this._blurTexture2.ignoreCameraViewport = true;
|
|
147
|
-
this._textures = [this._blurTexture1, this._blurTexture2];
|
|
148
|
-
this._thinEffectLayer.bindTexturesForCompose = (effect) => {
|
|
149
|
-
effect.setTexture("textureSampler", this._blurTexture1);
|
|
150
|
-
effect.setTexture("textureSampler2", this._blurTexture2);
|
|
151
|
-
effect.setFloat("offset", this.intensity);
|
|
152
|
-
};
|
|
153
|
-
this._thinEffectLayer._createTextureAndPostProcesses();
|
|
154
|
-
const thinBlurPostProcesses1 = this._thinEffectLayer._postProcesses[0];
|
|
155
|
-
this._horizontalBlurPostprocess1 = new BlurPostProcess("GlowLayerHBP1", thinBlurPostProcesses1.direction, thinBlurPostProcesses1.kernel, {
|
|
156
|
-
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
157
|
-
engine: this._scene.getEngine(),
|
|
158
|
-
width: blurTextureWidth,
|
|
159
|
-
height: blurTextureHeight,
|
|
160
|
-
textureType,
|
|
161
|
-
effectWrapper: thinBlurPostProcesses1,
|
|
162
|
-
});
|
|
163
|
-
this._horizontalBlurPostprocess1.width = blurTextureWidth;
|
|
164
|
-
this._horizontalBlurPostprocess1.height = blurTextureHeight;
|
|
165
|
-
this._horizontalBlurPostprocess1.externalTextureSamplerBinding = true;
|
|
166
|
-
this._horizontalBlurPostprocess1.onApplyObservable.add((effect) => {
|
|
167
|
-
effect.setTexture("textureSampler", this._mainTexture);
|
|
168
|
-
});
|
|
169
|
-
const thinBlurPostProcesses2 = this._thinEffectLayer._postProcesses[1];
|
|
170
|
-
this._verticalBlurPostprocess1 = new BlurPostProcess("GlowLayerVBP1", thinBlurPostProcesses2.direction, thinBlurPostProcesses2.kernel, {
|
|
171
|
-
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
172
|
-
engine: this._scene.getEngine(),
|
|
173
|
-
width: blurTextureWidth,
|
|
174
|
-
height: blurTextureHeight,
|
|
175
|
-
textureType,
|
|
176
|
-
effectWrapper: thinBlurPostProcesses2,
|
|
177
|
-
});
|
|
178
|
-
const thinBlurPostProcesses3 = this._thinEffectLayer._postProcesses[2];
|
|
179
|
-
this._horizontalBlurPostprocess2 = new BlurPostProcess("GlowLayerHBP2", thinBlurPostProcesses3.direction, thinBlurPostProcesses3.kernel, {
|
|
180
|
-
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
181
|
-
engine: this._scene.getEngine(),
|
|
182
|
-
width: blurTextureWidth2,
|
|
183
|
-
height: blurTextureHeight2,
|
|
184
|
-
textureType,
|
|
185
|
-
effectWrapper: thinBlurPostProcesses3,
|
|
186
|
-
});
|
|
187
|
-
this._horizontalBlurPostprocess2.width = blurTextureWidth2;
|
|
188
|
-
this._horizontalBlurPostprocess2.height = blurTextureHeight2;
|
|
189
|
-
this._horizontalBlurPostprocess2.externalTextureSamplerBinding = true;
|
|
190
|
-
this._horizontalBlurPostprocess2.onApplyObservable.add((effect) => {
|
|
191
|
-
effect.setTexture("textureSampler", this._blurTexture1);
|
|
192
|
-
});
|
|
193
|
-
const thinBlurPostProcesses4 = this._thinEffectLayer._postProcesses[3];
|
|
194
|
-
this._verticalBlurPostprocess2 = new BlurPostProcess("GlowLayerVBP2", thinBlurPostProcesses4.direction, thinBlurPostProcesses4.kernel, {
|
|
195
|
-
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
196
|
-
engine: this._scene.getEngine(),
|
|
197
|
-
width: blurTextureWidth2,
|
|
198
|
-
height: blurTextureHeight2,
|
|
199
|
-
textureType,
|
|
200
|
-
effectWrapper: thinBlurPostProcesses4,
|
|
201
|
-
});
|
|
202
|
-
this._postProcesses = [this._horizontalBlurPostprocess1, this._verticalBlurPostprocess1, this._horizontalBlurPostprocess2, this._verticalBlurPostprocess2];
|
|
203
|
-
this._postProcesses1 = [this._horizontalBlurPostprocess1, this._verticalBlurPostprocess1];
|
|
204
|
-
this._postProcesses2 = [this._horizontalBlurPostprocess2, this._verticalBlurPostprocess2];
|
|
205
|
-
this._mainTexture.samples = this._options.mainTextureSamples;
|
|
206
|
-
this._mainTexture.onAfterUnbindObservable.add(() => {
|
|
207
|
-
const internalTexture = this._blurTexture1.renderTarget;
|
|
208
|
-
if (internalTexture) {
|
|
209
|
-
this._scene.postProcessManager.directRender(this._postProcesses1, internalTexture, true);
|
|
210
|
-
const internalTexture2 = this._blurTexture2.renderTarget;
|
|
211
|
-
if (internalTexture2) {
|
|
212
|
-
this._scene.postProcessManager.directRender(this._postProcesses2, internalTexture2, true);
|
|
21
|
+
let GlowLayer = (() => {
|
|
22
|
+
var _a;
|
|
23
|
+
let _classSuper = EffectLayer;
|
|
24
|
+
let _instanceExtraInitializers = [];
|
|
25
|
+
let _get_blurKernelSize_decorators;
|
|
26
|
+
let _get_intensity_decorators;
|
|
27
|
+
let __options_decorators;
|
|
28
|
+
let __options_initializers = [];
|
|
29
|
+
let __options_extraInitializers = [];
|
|
30
|
+
return _a = class GlowLayer extends _classSuper {
|
|
31
|
+
/**
|
|
32
|
+
* Effect Name of the layer.
|
|
33
|
+
*/
|
|
34
|
+
static get EffectName() {
|
|
35
|
+
return ThinGlowLayer.EffectName;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Sets the kernel size of the blur.
|
|
39
|
+
*/
|
|
40
|
+
set blurKernelSize(value) {
|
|
41
|
+
this._thinEffectLayer.blurKernelSize = value;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Gets the kernel size of the blur.
|
|
45
|
+
*/
|
|
46
|
+
get blurKernelSize() {
|
|
47
|
+
return this._thinEffectLayer.blurKernelSize;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sets the glow intensity.
|
|
51
|
+
*/
|
|
52
|
+
set intensity(value) {
|
|
53
|
+
this._thinEffectLayer.intensity = value;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets the glow intensity.
|
|
57
|
+
*/
|
|
58
|
+
get intensity() {
|
|
59
|
+
return this._thinEffectLayer.intensity;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Callback used to let the user override the color selection on a per mesh basis
|
|
63
|
+
*/
|
|
64
|
+
get customEmissiveColorSelector() {
|
|
65
|
+
return this._thinEffectLayer.customEmissiveColorSelector;
|
|
66
|
+
}
|
|
67
|
+
set customEmissiveColorSelector(value) {
|
|
68
|
+
this._thinEffectLayer.customEmissiveColorSelector = value;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Callback used to let the user override the texture selection on a per mesh basis
|
|
72
|
+
*/
|
|
73
|
+
get customEmissiveTextureSelector() {
|
|
74
|
+
return this._thinEffectLayer.customEmissiveTextureSelector;
|
|
75
|
+
}
|
|
76
|
+
set customEmissiveTextureSelector(value) {
|
|
77
|
+
this._thinEffectLayer.customEmissiveTextureSelector = value;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Instantiates a new glow Layer and references it to the scene.
|
|
81
|
+
* @param name The name of the layer
|
|
82
|
+
* @param scene The scene to use the layer in
|
|
83
|
+
* @param options Sets of none mandatory options to use with the layer (see IGlowLayerOptions for more information)
|
|
84
|
+
*/
|
|
85
|
+
constructor(name, scene, options) {
|
|
86
|
+
super(name, scene, false, new ThinGlowLayer(name, scene, options));
|
|
87
|
+
this._options = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, __options_initializers, void 0));
|
|
88
|
+
this._horizontalBlurPostprocess1 = __runInitializers(this, __options_extraInitializers);
|
|
89
|
+
// Adapt options
|
|
90
|
+
this._options = {
|
|
91
|
+
mainTextureRatio: _a.DefaultTextureRatio,
|
|
92
|
+
blurKernelSize: 32,
|
|
93
|
+
mainTextureFixedSize: undefined,
|
|
94
|
+
camera: null,
|
|
95
|
+
mainTextureSamples: 1,
|
|
96
|
+
renderingGroupId: -1,
|
|
97
|
+
ldrMerge: false,
|
|
98
|
+
alphaBlendingMode: 1,
|
|
99
|
+
mainTextureType: 0,
|
|
100
|
+
generateStencilBuffer: false,
|
|
101
|
+
excludeByDefault: false,
|
|
102
|
+
...options,
|
|
103
|
+
};
|
|
104
|
+
// Initialize the layer
|
|
105
|
+
this._init(this._options);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get the effect name of the layer.
|
|
109
|
+
* @returns The effect name
|
|
110
|
+
*/
|
|
111
|
+
getEffectName() {
|
|
112
|
+
return _a.EffectName;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
* Create the merge effect. This is the shader use to blit the information back
|
|
117
|
+
* to the main canvas at the end of the scene rendering.
|
|
118
|
+
*/
|
|
119
|
+
_createMergeEffect() {
|
|
120
|
+
return this._thinEffectLayer._createMergeEffect();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Creates the render target textures and post processes used in the glow layer.
|
|
124
|
+
*/
|
|
125
|
+
_createTextureAndPostProcesses() {
|
|
126
|
+
this._thinEffectLayer._renderPassId = this._mainTexture.renderPassId;
|
|
127
|
+
let blurTextureWidth = this._mainTextureDesiredSize.width;
|
|
128
|
+
let blurTextureHeight = this._mainTextureDesiredSize.height;
|
|
129
|
+
blurTextureWidth = this._engine.needPOTTextures ? GetExponentOfTwo(blurTextureWidth, this._maxSize) : blurTextureWidth;
|
|
130
|
+
blurTextureHeight = this._engine.needPOTTextures ? GetExponentOfTwo(blurTextureHeight, this._maxSize) : blurTextureHeight;
|
|
131
|
+
let textureType;
|
|
132
|
+
if (this._engine.getCaps().textureHalfFloatRender) {
|
|
133
|
+
textureType = 2;
|
|
213
134
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
});
|
|
217
|
-
// Prevent autoClear.
|
|
218
|
-
this._postProcesses.map((pp) => {
|
|
219
|
-
pp.autoClear = false;
|
|
220
|
-
});
|
|
221
|
-
this._mainTextureCreatedSize.width = this._mainTextureDesiredSize.width;
|
|
222
|
-
this._mainTextureCreatedSize.height = this._mainTextureDesiredSize.height;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Checks for the readiness of the element composing the layer.
|
|
226
|
-
* @param subMesh the mesh to check for
|
|
227
|
-
* @param useInstances specify whether or not to use instances to render the mesh
|
|
228
|
-
* @returns true if ready otherwise, false
|
|
229
|
-
*/
|
|
230
|
-
isReady(subMesh, useInstances) {
|
|
231
|
-
return this._thinEffectLayer.isReady(subMesh, useInstances);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* @returns whether or not the layer needs stencil enabled during the mesh rendering.
|
|
235
|
-
*/
|
|
236
|
-
needStencil() {
|
|
237
|
-
return false;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Returns true if the mesh can be rendered, otherwise false.
|
|
241
|
-
* @param mesh The mesh to render
|
|
242
|
-
* @param material The material used on the mesh
|
|
243
|
-
* @returns true if it can be rendered otherwise false
|
|
244
|
-
*/
|
|
245
|
-
_canRenderMesh(mesh, material) {
|
|
246
|
-
return this._thinEffectLayer._canRenderMesh(mesh, material);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Implementation specific of rendering the generating effect on the main canvas.
|
|
250
|
-
* @param effect The effect used to render through
|
|
251
|
-
*/
|
|
252
|
-
_internalRender(effect) {
|
|
253
|
-
this._thinEffectLayer._internalCompose(effect);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Sets the required values for both the emissive texture and and the main color.
|
|
257
|
-
* @param mesh
|
|
258
|
-
* @param subMesh
|
|
259
|
-
* @param material
|
|
260
|
-
*/
|
|
261
|
-
_setEmissiveTextureAndColor(mesh, subMesh, material) {
|
|
262
|
-
this._thinEffectLayer._setEmissiveTextureAndColor(mesh, subMesh, material);
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Returns true if the mesh should render, otherwise false.
|
|
266
|
-
* @param mesh The mesh to render
|
|
267
|
-
* @returns true if it should render otherwise false
|
|
268
|
-
*/
|
|
269
|
-
_shouldRenderMesh(mesh) {
|
|
270
|
-
return this._thinEffectLayer._shouldRenderMesh(mesh);
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Adds specific effects defines.
|
|
274
|
-
* @param defines The defines to add specifics to.
|
|
275
|
-
*/
|
|
276
|
-
_addCustomEffectDefines(defines) {
|
|
277
|
-
this._thinEffectLayer._addCustomEffectDefines(defines);
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Add a mesh in the exclusion list to prevent it to impact or being impacted by the glow layer.
|
|
281
|
-
* This will not have an effect if meshes are excluded by default (see setExcludedByDefault).
|
|
282
|
-
* @param mesh The mesh to exclude from the glow layer
|
|
283
|
-
*/
|
|
284
|
-
addExcludedMesh(mesh) {
|
|
285
|
-
this._thinEffectLayer.addExcludedMesh(mesh);
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Remove a mesh from the exclusion list to let it impact or being impacted by the glow layer.
|
|
289
|
-
* This will not have an effect if meshes are excluded by default (see setExcludedByDefault).
|
|
290
|
-
* @param mesh The mesh to remove
|
|
291
|
-
*/
|
|
292
|
-
removeExcludedMesh(mesh) {
|
|
293
|
-
this._thinEffectLayer.removeExcludedMesh(mesh);
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Add a mesh in the inclusion list to impact or being impacted by the glow layer.
|
|
297
|
-
* @param mesh The mesh to include in the glow layer
|
|
298
|
-
*/
|
|
299
|
-
addIncludedOnlyMesh(mesh) {
|
|
300
|
-
this._thinEffectLayer.addIncludedOnlyMesh(mesh);
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Remove a mesh from the Inclusion list to prevent it to impact or being impacted by the glow layer.
|
|
304
|
-
* @param mesh The mesh to remove
|
|
305
|
-
*/
|
|
306
|
-
removeIncludedOnlyMesh(mesh) {
|
|
307
|
-
this._thinEffectLayer.removeIncludedOnlyMesh(mesh);
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* Set the excluded by default option.
|
|
311
|
-
* If true, all meshes will be excluded by default unless they are added to the inclusion list.
|
|
312
|
-
* @param value The boolean value to set the excluded by default option to
|
|
313
|
-
*/
|
|
314
|
-
setExcludedByDefault(value) {
|
|
315
|
-
this._thinEffectLayer.setExcludedByDefault(value);
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Determine if a given mesh will be used in the glow layer
|
|
319
|
-
* @param mesh The mesh to test
|
|
320
|
-
* @returns true if the mesh will be highlighted by the current glow layer
|
|
321
|
-
*/
|
|
322
|
-
hasMesh(mesh) {
|
|
323
|
-
return this._thinEffectLayer.hasMesh(mesh);
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Defines whether the current material of the mesh should be use to render the effect.
|
|
327
|
-
* @param mesh defines the current mesh to render
|
|
328
|
-
* @returns true if the material of the mesh should be use to render the effect
|
|
329
|
-
*/
|
|
330
|
-
_useMeshMaterial(mesh) {
|
|
331
|
-
return this._thinEffectLayer._useMeshMaterial(mesh);
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Add a mesh to be rendered through its own material and not with emissive only.
|
|
335
|
-
* @param mesh The mesh for which we need to use its material
|
|
336
|
-
*/
|
|
337
|
-
referenceMeshToUseItsOwnMaterial(mesh) {
|
|
338
|
-
this._thinEffectLayer.referenceMeshToUseItsOwnMaterial(mesh);
|
|
339
|
-
}
|
|
340
|
-
/**
|
|
341
|
-
* Remove a mesh from being rendered through its own material and not with emissive only.
|
|
342
|
-
* @param mesh The mesh for which we need to not use its material
|
|
343
|
-
*/
|
|
344
|
-
unReferenceMeshFromUsingItsOwnMaterial(mesh) {
|
|
345
|
-
this._thinEffectLayer.unReferenceMeshFromUsingItsOwnMaterial(mesh, this._mainTexture.renderPassId);
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Free any resources and references associated to a mesh.
|
|
349
|
-
* Internal use
|
|
350
|
-
* @param mesh The mesh to free.
|
|
351
|
-
* @internal
|
|
352
|
-
*/
|
|
353
|
-
_disposeMesh(mesh) {
|
|
354
|
-
this._thinEffectLayer._disposeMesh(mesh);
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Gets the class name of the effect layer
|
|
358
|
-
* @returns the string with the class name of the effect layer
|
|
359
|
-
*/
|
|
360
|
-
getClassName() {
|
|
361
|
-
return "GlowLayer";
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Serializes this glow layer
|
|
365
|
-
* @returns a serialized glow layer object
|
|
366
|
-
*/
|
|
367
|
-
serialize() {
|
|
368
|
-
const serializationObject = SerializationHelper.Serialize(this);
|
|
369
|
-
serializationObject.customType = "BABYLON.GlowLayer";
|
|
370
|
-
let index;
|
|
371
|
-
// Included meshes
|
|
372
|
-
serializationObject.includedMeshes = [];
|
|
373
|
-
const includedOnlyMeshes = this._thinEffectLayer._includedOnlyMeshes;
|
|
374
|
-
if (includedOnlyMeshes.length) {
|
|
375
|
-
for (index = 0; index < includedOnlyMeshes.length; index++) {
|
|
376
|
-
const mesh = this._scene.getMeshByUniqueId(includedOnlyMeshes[index]);
|
|
377
|
-
if (mesh) {
|
|
378
|
-
serializationObject.includedMeshes.push(mesh.id);
|
|
135
|
+
else {
|
|
136
|
+
textureType = 0;
|
|
379
137
|
}
|
|
138
|
+
this._blurTexture1 = new RenderTargetTexture("GlowLayerBlurRTT", {
|
|
139
|
+
width: blurTextureWidth,
|
|
140
|
+
height: blurTextureHeight,
|
|
141
|
+
}, this._scene, false, true, textureType);
|
|
142
|
+
this._blurTexture1.wrapU = Texture.CLAMP_ADDRESSMODE;
|
|
143
|
+
this._blurTexture1.wrapV = Texture.CLAMP_ADDRESSMODE;
|
|
144
|
+
this._blurTexture1.updateSamplingMode(Texture.BILINEAR_SAMPLINGMODE);
|
|
145
|
+
this._blurTexture1.renderParticles = false;
|
|
146
|
+
this._blurTexture1.ignoreCameraViewport = true;
|
|
147
|
+
const blurTextureWidth2 = Math.floor(blurTextureWidth / 2);
|
|
148
|
+
const blurTextureHeight2 = Math.floor(blurTextureHeight / 2);
|
|
149
|
+
this._blurTexture2 = new RenderTargetTexture("GlowLayerBlurRTT2", {
|
|
150
|
+
width: blurTextureWidth2,
|
|
151
|
+
height: blurTextureHeight2,
|
|
152
|
+
}, this._scene, false, true, textureType);
|
|
153
|
+
this._blurTexture2.wrapU = Texture.CLAMP_ADDRESSMODE;
|
|
154
|
+
this._blurTexture2.wrapV = Texture.CLAMP_ADDRESSMODE;
|
|
155
|
+
this._blurTexture2.updateSamplingMode(Texture.BILINEAR_SAMPLINGMODE);
|
|
156
|
+
this._blurTexture2.renderParticles = false;
|
|
157
|
+
this._blurTexture2.ignoreCameraViewport = true;
|
|
158
|
+
this._textures = [this._blurTexture1, this._blurTexture2];
|
|
159
|
+
this._thinEffectLayer.bindTexturesForCompose = (effect) => {
|
|
160
|
+
effect.setTexture("textureSampler", this._blurTexture1);
|
|
161
|
+
effect.setTexture("textureSampler2", this._blurTexture2);
|
|
162
|
+
effect.setFloat("offset", this.intensity);
|
|
163
|
+
};
|
|
164
|
+
this._thinEffectLayer._createTextureAndPostProcesses();
|
|
165
|
+
const thinBlurPostProcesses1 = this._thinEffectLayer._postProcesses[0];
|
|
166
|
+
this._horizontalBlurPostprocess1 = new BlurPostProcess("GlowLayerHBP1", thinBlurPostProcesses1.direction, thinBlurPostProcesses1.kernel, {
|
|
167
|
+
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
168
|
+
engine: this._scene.getEngine(),
|
|
169
|
+
width: blurTextureWidth,
|
|
170
|
+
height: blurTextureHeight,
|
|
171
|
+
textureType,
|
|
172
|
+
effectWrapper: thinBlurPostProcesses1,
|
|
173
|
+
});
|
|
174
|
+
this._horizontalBlurPostprocess1.width = blurTextureWidth;
|
|
175
|
+
this._horizontalBlurPostprocess1.height = blurTextureHeight;
|
|
176
|
+
this._horizontalBlurPostprocess1.externalTextureSamplerBinding = true;
|
|
177
|
+
this._horizontalBlurPostprocess1.onApplyObservable.add((effect) => {
|
|
178
|
+
effect.setTexture("textureSampler", this._mainTexture);
|
|
179
|
+
});
|
|
180
|
+
const thinBlurPostProcesses2 = this._thinEffectLayer._postProcesses[1];
|
|
181
|
+
this._verticalBlurPostprocess1 = new BlurPostProcess("GlowLayerVBP1", thinBlurPostProcesses2.direction, thinBlurPostProcesses2.kernel, {
|
|
182
|
+
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
183
|
+
engine: this._scene.getEngine(),
|
|
184
|
+
width: blurTextureWidth,
|
|
185
|
+
height: blurTextureHeight,
|
|
186
|
+
textureType,
|
|
187
|
+
effectWrapper: thinBlurPostProcesses2,
|
|
188
|
+
});
|
|
189
|
+
const thinBlurPostProcesses3 = this._thinEffectLayer._postProcesses[2];
|
|
190
|
+
this._horizontalBlurPostprocess2 = new BlurPostProcess("GlowLayerHBP2", thinBlurPostProcesses3.direction, thinBlurPostProcesses3.kernel, {
|
|
191
|
+
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
192
|
+
engine: this._scene.getEngine(),
|
|
193
|
+
width: blurTextureWidth2,
|
|
194
|
+
height: blurTextureHeight2,
|
|
195
|
+
textureType,
|
|
196
|
+
effectWrapper: thinBlurPostProcesses3,
|
|
197
|
+
});
|
|
198
|
+
this._horizontalBlurPostprocess2.width = blurTextureWidth2;
|
|
199
|
+
this._horizontalBlurPostprocess2.height = blurTextureHeight2;
|
|
200
|
+
this._horizontalBlurPostprocess2.externalTextureSamplerBinding = true;
|
|
201
|
+
this._horizontalBlurPostprocess2.onApplyObservable.add((effect) => {
|
|
202
|
+
effect.setTexture("textureSampler", this._blurTexture1);
|
|
203
|
+
});
|
|
204
|
+
const thinBlurPostProcesses4 = this._thinEffectLayer._postProcesses[3];
|
|
205
|
+
this._verticalBlurPostprocess2 = new BlurPostProcess("GlowLayerVBP2", thinBlurPostProcesses4.direction, thinBlurPostProcesses4.kernel, {
|
|
206
|
+
samplingMode: Texture.BILINEAR_SAMPLINGMODE,
|
|
207
|
+
engine: this._scene.getEngine(),
|
|
208
|
+
width: blurTextureWidth2,
|
|
209
|
+
height: blurTextureHeight2,
|
|
210
|
+
textureType,
|
|
211
|
+
effectWrapper: thinBlurPostProcesses4,
|
|
212
|
+
});
|
|
213
|
+
this._postProcesses = [this._horizontalBlurPostprocess1, this._verticalBlurPostprocess1, this._horizontalBlurPostprocess2, this._verticalBlurPostprocess2];
|
|
214
|
+
this._postProcesses1 = [this._horizontalBlurPostprocess1, this._verticalBlurPostprocess1];
|
|
215
|
+
this._postProcesses2 = [this._horizontalBlurPostprocess2, this._verticalBlurPostprocess2];
|
|
216
|
+
this._mainTexture.samples = this._options.mainTextureSamples;
|
|
217
|
+
this._mainTexture.onAfterUnbindObservable.add(() => {
|
|
218
|
+
const internalTexture = this._blurTexture1.renderTarget;
|
|
219
|
+
if (internalTexture) {
|
|
220
|
+
this._scene.postProcessManager.directRender(this._postProcesses1, internalTexture, true);
|
|
221
|
+
const internalTexture2 = this._blurTexture2.renderTarget;
|
|
222
|
+
if (internalTexture2) {
|
|
223
|
+
this._scene.postProcessManager.directRender(this._postProcesses2, internalTexture2, true);
|
|
224
|
+
}
|
|
225
|
+
this._engine.unBindFramebuffer(internalTexture2 ?? internalTexture, true);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
// Prevent autoClear.
|
|
229
|
+
this._postProcesses.map((pp) => {
|
|
230
|
+
pp.autoClear = false;
|
|
231
|
+
});
|
|
232
|
+
this._mainTextureCreatedSize.width = this._mainTextureDesiredSize.width;
|
|
233
|
+
this._mainTextureCreatedSize.height = this._mainTextureDesiredSize.height;
|
|
380
234
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
serializationObject.excludedMeshes.push(mesh.id);
|
|
390
|
-
}
|
|
235
|
+
/**
|
|
236
|
+
* Checks for the readiness of the element composing the layer.
|
|
237
|
+
* @param subMesh the mesh to check for
|
|
238
|
+
* @param useInstances specify whether or not to use instances to render the mesh
|
|
239
|
+
* @returns true if ready otherwise, false
|
|
240
|
+
*/
|
|
241
|
+
isReady(subMesh, useInstances) {
|
|
242
|
+
return this._thinEffectLayer.isReady(subMesh, useInstances);
|
|
391
243
|
}
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
* @param parsedGlowLayer defines glow layer data
|
|
398
|
-
* @param scene defines the current scene
|
|
399
|
-
* @param rootUrl defines the root URL containing the glow layer information
|
|
400
|
-
* @returns a parsed Glow Layer
|
|
401
|
-
*/
|
|
402
|
-
static Parse(parsedGlowLayer, scene, rootUrl) {
|
|
403
|
-
const gl = SerializationHelper.Parse(() => new GlowLayer(parsedGlowLayer.name, scene, parsedGlowLayer.options), parsedGlowLayer, scene, rootUrl);
|
|
404
|
-
let index;
|
|
405
|
-
// Excluded meshes
|
|
406
|
-
for (index = 0; index < parsedGlowLayer.excludedMeshes.length; index++) {
|
|
407
|
-
const mesh = scene.getMeshById(parsedGlowLayer.excludedMeshes[index]);
|
|
408
|
-
if (mesh) {
|
|
409
|
-
gl.addExcludedMesh(mesh);
|
|
244
|
+
/**
|
|
245
|
+
* @returns whether or not the layer needs stencil enabled during the mesh rendering.
|
|
246
|
+
*/
|
|
247
|
+
needStencil() {
|
|
248
|
+
return false;
|
|
410
249
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
250
|
+
/**
|
|
251
|
+
* Returns true if the mesh can be rendered, otherwise false.
|
|
252
|
+
* @param mesh The mesh to render
|
|
253
|
+
* @param material The material used on the mesh
|
|
254
|
+
* @returns true if it can be rendered otherwise false
|
|
255
|
+
*/
|
|
256
|
+
_canRenderMesh(mesh, material) {
|
|
257
|
+
return this._thinEffectLayer._canRenderMesh(mesh, material);
|
|
417
258
|
}
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
259
|
+
/**
|
|
260
|
+
* Implementation specific of rendering the generating effect on the main canvas.
|
|
261
|
+
* @param effect The effect used to render through
|
|
262
|
+
*/
|
|
263
|
+
_internalRender(effect) {
|
|
264
|
+
this._thinEffectLayer._internalCompose(effect);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Sets the required values for both the emissive texture and and the main color.
|
|
268
|
+
* @param mesh
|
|
269
|
+
* @param subMesh
|
|
270
|
+
* @param material
|
|
271
|
+
*/
|
|
272
|
+
_setEmissiveTextureAndColor(mesh, subMesh, material) {
|
|
273
|
+
this._thinEffectLayer._setEmissiveTextureAndColor(mesh, subMesh, material);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Returns true if the mesh should render, otherwise false.
|
|
277
|
+
* @param mesh The mesh to render
|
|
278
|
+
* @returns true if it should render otherwise false
|
|
279
|
+
*/
|
|
280
|
+
_shouldRenderMesh(mesh) {
|
|
281
|
+
return this._thinEffectLayer._shouldRenderMesh(mesh);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Adds specific effects defines.
|
|
285
|
+
* @param defines The defines to add specifics to.
|
|
286
|
+
*/
|
|
287
|
+
_addCustomEffectDefines(defines) {
|
|
288
|
+
this._thinEffectLayer._addCustomEffectDefines(defines);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Add a mesh in the exclusion list to prevent it to impact or being impacted by the glow layer.
|
|
292
|
+
* This will not have an effect if meshes are excluded by default (see setExcludedByDefault).
|
|
293
|
+
* @param mesh The mesh to exclude from the glow layer
|
|
294
|
+
*/
|
|
295
|
+
addExcludedMesh(mesh) {
|
|
296
|
+
this._thinEffectLayer.addExcludedMesh(mesh);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Remove a mesh from the exclusion list to let it impact or being impacted by the glow layer.
|
|
300
|
+
* This will not have an effect if meshes are excluded by default (see setExcludedByDefault).
|
|
301
|
+
* @param mesh The mesh to remove
|
|
302
|
+
*/
|
|
303
|
+
removeExcludedMesh(mesh) {
|
|
304
|
+
this._thinEffectLayer.removeExcludedMesh(mesh);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Add a mesh in the inclusion list to impact or being impacted by the glow layer.
|
|
308
|
+
* @param mesh The mesh to include in the glow layer
|
|
309
|
+
*/
|
|
310
|
+
addIncludedOnlyMesh(mesh) {
|
|
311
|
+
this._thinEffectLayer.addIncludedOnlyMesh(mesh);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Remove a mesh from the Inclusion list to prevent it to impact or being impacted by the glow layer.
|
|
315
|
+
* @param mesh The mesh to remove
|
|
316
|
+
*/
|
|
317
|
+
removeIncludedOnlyMesh(mesh) {
|
|
318
|
+
this._thinEffectLayer.removeIncludedOnlyMesh(mesh);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Set the excluded by default option.
|
|
322
|
+
* If true, all meshes will be excluded by default unless they are added to the inclusion list.
|
|
323
|
+
* @param value The boolean value to set the excluded by default option to
|
|
324
|
+
*/
|
|
325
|
+
setExcludedByDefault(value) {
|
|
326
|
+
this._thinEffectLayer.setExcludedByDefault(value);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Determine if a given mesh will be used in the glow layer
|
|
330
|
+
* @param mesh The mesh to test
|
|
331
|
+
* @returns true if the mesh will be highlighted by the current glow layer
|
|
332
|
+
*/
|
|
333
|
+
hasMesh(mesh) {
|
|
334
|
+
return this._thinEffectLayer.hasMesh(mesh);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Defines whether the current material of the mesh should be use to render the effect.
|
|
338
|
+
* @param mesh defines the current mesh to render
|
|
339
|
+
* @returns true if the material of the mesh should be use to render the effect
|
|
340
|
+
*/
|
|
341
|
+
_useMeshMaterial(mesh) {
|
|
342
|
+
return this._thinEffectLayer._useMeshMaterial(mesh);
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Add a mesh to be rendered through its own material and not with emissive only.
|
|
346
|
+
* @param mesh The mesh for which we need to use its material
|
|
347
|
+
*/
|
|
348
|
+
referenceMeshToUseItsOwnMaterial(mesh) {
|
|
349
|
+
this._thinEffectLayer.referenceMeshToUseItsOwnMaterial(mesh);
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Remove a mesh from being rendered through its own material and not with emissive only.
|
|
353
|
+
* @param mesh The mesh for which we need to not use its material
|
|
354
|
+
*/
|
|
355
|
+
unReferenceMeshFromUsingItsOwnMaterial(mesh) {
|
|
356
|
+
this._thinEffectLayer.unReferenceMeshFromUsingItsOwnMaterial(mesh, this._mainTexture.renderPassId);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Free any resources and references associated to a mesh.
|
|
360
|
+
* Internal use
|
|
361
|
+
* @param mesh The mesh to free.
|
|
362
|
+
* @internal
|
|
363
|
+
*/
|
|
364
|
+
_disposeMesh(mesh) {
|
|
365
|
+
this._thinEffectLayer._disposeMesh(mesh);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Gets the class name of the effect layer
|
|
369
|
+
* @returns the string with the class name of the effect layer
|
|
370
|
+
*/
|
|
371
|
+
getClassName() {
|
|
372
|
+
return "GlowLayer";
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Serializes this glow layer
|
|
376
|
+
* @returns a serialized glow layer object
|
|
377
|
+
*/
|
|
378
|
+
serialize() {
|
|
379
|
+
const serializationObject = SerializationHelper.Serialize(this);
|
|
380
|
+
serializationObject.customType = "BABYLON.GlowLayer";
|
|
381
|
+
let index;
|
|
382
|
+
// Included meshes
|
|
383
|
+
serializationObject.includedMeshes = [];
|
|
384
|
+
const includedOnlyMeshes = this._thinEffectLayer._includedOnlyMeshes;
|
|
385
|
+
if (includedOnlyMeshes.length) {
|
|
386
|
+
for (index = 0; index < includedOnlyMeshes.length; index++) {
|
|
387
|
+
const mesh = this._scene.getMeshByUniqueId(includedOnlyMeshes[index]);
|
|
388
|
+
if (mesh) {
|
|
389
|
+
serializationObject.includedMeshes.push(mesh.id);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Excluded meshes
|
|
394
|
+
serializationObject.excludedMeshes = [];
|
|
395
|
+
const excludedMeshes = this._thinEffectLayer._excludedMeshes;
|
|
396
|
+
if (excludedMeshes.length) {
|
|
397
|
+
for (index = 0; index < excludedMeshes.length; index++) {
|
|
398
|
+
const mesh = this._scene.getMeshByUniqueId(excludedMeshes[index]);
|
|
399
|
+
if (mesh) {
|
|
400
|
+
serializationObject.excludedMeshes.push(mesh.id);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
return serializationObject;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Creates a Glow Layer from parsed glow layer data
|
|
408
|
+
* @param parsedGlowLayer defines glow layer data
|
|
409
|
+
* @param scene defines the current scene
|
|
410
|
+
* @param rootUrl defines the root URL containing the glow layer information
|
|
411
|
+
* @returns a parsed Glow Layer
|
|
412
|
+
*/
|
|
413
|
+
static Parse(parsedGlowLayer, scene, rootUrl) {
|
|
414
|
+
const gl = SerializationHelper.Parse(() => new _a(parsedGlowLayer.name, scene, parsedGlowLayer.options), parsedGlowLayer, scene, rootUrl);
|
|
415
|
+
let index;
|
|
416
|
+
// Excluded meshes
|
|
417
|
+
for (index = 0; index < parsedGlowLayer.excludedMeshes.length; index++) {
|
|
418
|
+
const mesh = scene.getMeshById(parsedGlowLayer.excludedMeshes[index]);
|
|
419
|
+
if (mesh) {
|
|
420
|
+
gl.addExcludedMesh(mesh);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
// Included meshes
|
|
424
|
+
for (index = 0; index < parsedGlowLayer.includedMeshes.length; index++) {
|
|
425
|
+
const mesh = scene.getMeshById(parsedGlowLayer.includedMeshes[index]);
|
|
426
|
+
if (mesh) {
|
|
427
|
+
gl.addIncludedOnlyMesh(mesh);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return gl;
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
(() => {
|
|
434
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
435
|
+
_get_blurKernelSize_decorators = [serialize()];
|
|
436
|
+
_get_intensity_decorators = [serialize()];
|
|
437
|
+
__options_decorators = [serialize("options")];
|
|
438
|
+
__esDecorate(_a, null, _get_blurKernelSize_decorators, { kind: "getter", name: "blurKernelSize", static: false, private: false, access: { has: obj => "blurKernelSize" in obj, get: obj => obj.blurKernelSize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
439
|
+
__esDecorate(_a, null, _get_intensity_decorators, { kind: "getter", name: "intensity", static: false, private: false, access: { has: obj => "intensity" in obj, get: obj => obj.intensity }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
440
|
+
__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);
|
|
441
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
442
|
+
})(),
|
|
443
|
+
/**
|
|
444
|
+
* The default blur kernel size used for the glow.
|
|
445
|
+
*/
|
|
446
|
+
_a.DefaultBlurKernelSize = 32,
|
|
447
|
+
/**
|
|
448
|
+
* The default texture size ratio used for the glow.
|
|
449
|
+
*/
|
|
450
|
+
_a.DefaultTextureRatio = 0.5,
|
|
451
|
+
_a;
|
|
452
|
+
})();
|
|
453
|
+
export { GlowLayer };
|
|
439
454
|
let _Registered = false;
|
|
440
455
|
/**
|
|
441
456
|
* Register side effects for glowLayer.
|