@babylonjs/core 7.31.2 → 7.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Behaviors/Cameras/autoRotationBehavior.js +1 -0
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Cameras/camera.d.ts +5 -2
- package/Cameras/camera.js +1 -0
- package/Cameras/camera.js.map +1 -1
- package/Decorators/nodeDecorator.d.ts +9 -1
- package/Decorators/nodeDecorator.js +8 -0
- package/Decorators/nodeDecorator.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.js +40 -53
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.js +20 -8
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.debugging.js +16 -7
- package/Engines/WebGPU/Extensions/engine.debugging.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js +43 -44
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +8 -6
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +3 -3
- package/Engines/WebGPU/webgpuHardwareTexture.js +12 -9
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +25 -19
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -1
- package/Engines/WebGPU/webgpuTextureManager.js +5 -3
- package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
- package/Engines/abstractEngine.d.ts +6 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +6 -1
- package/Engines/constants.js +6 -1
- package/Engines/constants.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +7 -0
- package/Engines/renderTargetWrapper.js +15 -0
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +3 -1
- package/Engines/webgpuEngine.js +9 -8
- package/Engines/webgpuEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.d.ts +47 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js +113 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.d.ts +62 -0
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.js +171 -0
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.d.ts +51 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js +127 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.d.ts +67 -0
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js +187 -0
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.d.ts +77 -0
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js +232 -0
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.d.ts +47 -0
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js +113 -0
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.d.ts +41 -0
- package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.js +79 -0
- package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +119 -0
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +451 -0
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +63 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +154 -0
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.d.ts +59 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.js +131 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.d.ts +49 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.js +107 -0
- package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/clearBlock.d.ts +50 -0
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js +125 -0
- package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.d.ts +38 -0
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +71 -0
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.d.ts +34 -0
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js +59 -0
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/elbowBlock.d.ts +28 -0
- package/FrameGraph/Node/Blocks/elbowBlock.js +47 -0
- package/FrameGraph/Node/Blocks/elbowBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/index.d.ts +17 -0
- package/FrameGraph/Node/Blocks/index.js +18 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -0
- package/FrameGraph/Node/Blocks/inputBlock.d.ts +94 -0
- package/FrameGraph/Node/Blocks/inputBlock.js +270 -0
- package/FrameGraph/Node/Blocks/inputBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/outputBlock.d.ts +30 -0
- package/FrameGraph/Node/Blocks/outputBlock.js +51 -0
- package/FrameGraph/Node/Blocks/outputBlock.js.map +1 -0
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.d.ts +110 -0
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js +78 -0
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -0
- package/FrameGraph/Node/nodeRenderGraph.d.ts +196 -0
- package/FrameGraph/Node/nodeRenderGraph.js +614 -0
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -0
- package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +190 -0
- package/FrameGraph/Node/nodeRenderGraphBlock.js +495 -0
- package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -0
- package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.d.ts +143 -0
- package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.js +275 -0
- package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.js.map +1 -0
- package/FrameGraph/Node/nodeRenderGraphBuildState.d.ts +21 -0
- package/FrameGraph/Node/nodeRenderGraphBuildState.js +35 -0
- package/FrameGraph/Node/nodeRenderGraphBuildState.js.map +1 -0
- package/FrameGraph/Passes/cullPass.d.ts +28 -0
- package/FrameGraph/Passes/cullPass.js +38 -0
- package/FrameGraph/Passes/cullPass.js.map +1 -0
- package/FrameGraph/Passes/pass.d.ts +14 -0
- package/FrameGraph/Passes/pass.js +20 -0
- package/FrameGraph/Passes/pass.js.map +1 -0
- package/FrameGraph/Passes/renderPass.d.ts +49 -0
- package/FrameGraph/Passes/renderPass.js +72 -0
- package/FrameGraph/Passes/renderPass.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.d.ts +16 -0
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js +17 -0
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.d.ts +12 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js +21 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.d.ts +54 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js +114 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +17 -0
- package/FrameGraph/Tasks/PostProcesses/blurTask.js +24 -0
- package/FrameGraph/Tasks/PostProcesses/blurTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.d.ts +30 -0
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js +35 -0
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.d.ts +12 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +26 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.d.ts +12 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js +29 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.d.ts +65 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js +134 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.d.ts +16 -0
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js +17 -0
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +41 -0
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +64 -0
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/cullObjectsTask.d.ts +28 -0
- package/FrameGraph/Tasks/Rendering/cullObjectsTask.js +52 -0
- package/FrameGraph/Tasks/Rendering/cullObjectsTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +145 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +259 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +66 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +127 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -0
- package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +34 -0
- package/FrameGraph/Tasks/Texture/clearTextureTask.js +42 -0
- package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -0
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.d.ts +12 -0
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js +23 -0
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js.map +1 -0
- package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +26 -0
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js +31 -0
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js.map +1 -0
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.d.ts +22 -0
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.js +34 -0
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.js.map +1 -0
- package/FrameGraph/frameGraph.d.ts +143 -0
- package/FrameGraph/frameGraph.js +275 -0
- package/FrameGraph/frameGraph.js.map +1 -0
- package/FrameGraph/frameGraphContext.d.ts +5 -0
- package/FrameGraph/frameGraphContext.js +6 -0
- package/FrameGraph/frameGraphContext.js.map +1 -0
- package/FrameGraph/frameGraphObjectList.d.ts +15 -0
- package/FrameGraph/frameGraphObjectList.js +7 -0
- package/FrameGraph/frameGraphObjectList.js.map +1 -0
- package/FrameGraph/frameGraphRenderContext.d.ts +110 -0
- package/FrameGraph/frameGraphRenderContext.js +237 -0
- package/FrameGraph/frameGraphRenderContext.js.map +1 -0
- package/FrameGraph/frameGraphTask.d.ts +49 -0
- package/FrameGraph/frameGraphTask.js +117 -0
- package/FrameGraph/frameGraphTask.js.map +1 -0
- package/FrameGraph/frameGraphTextureManager.d.ts +50 -0
- package/FrameGraph/frameGraphTextureManager.js +277 -0
- package/FrameGraph/frameGraphTextureManager.js.map +1 -0
- package/FrameGraph/frameGraphTypes.d.ts +59 -0
- package/FrameGraph/frameGraphTypes.js +9 -0
- package/FrameGraph/frameGraphTypes.js.map +1 -0
- package/FrameGraph/index.d.ts +28 -0
- package/FrameGraph/index.js +30 -0
- package/FrameGraph/index.js.map +1 -0
- package/Gamepads/gamepadSceneComponent.d.ts +0 -1
- package/Gamepads/gamepadSceneComponent.js +1 -7
- package/Gamepads/gamepadSceneComponent.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.d.ts +7 -0
- package/Gizmos/boundingBoxGizmo.js +19 -6
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Inputs/scene.inputManager.d.ts +3 -1
- package/Inputs/scene.inputManager.js +20 -8
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Layers/layer.d.ts +1 -1
- package/Layers/layer.js +1 -1
- package/Layers/layer.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +4 -0
- package/Materials/PBR/pbrBaseMaterial.js +8 -0
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +32 -2
- package/Materials/Textures/dynamicTexture.js +13 -18
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/index.d.ts +1 -0
- package/Materials/Textures/index.js +1 -0
- package/Materials/Textures/index.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +0 -6
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +20 -8
- package/Materials/Textures/multiRenderTarget.js +2 -0
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +8 -1
- package/Materials/Textures/renderTargetTexture.js +28 -10
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/textureCreationOptions.d.ts +20 -2
- package/Materials/Textures/textureCreationOptions.js +20 -1
- package/Materials/Textures/textureCreationOptions.js.map +1 -1
- package/Materials/effectRenderer.d.ts +132 -14
- package/Materials/effectRenderer.js +229 -33
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/index.d.ts +1 -0
- package/Materials/index.js +1 -0
- package/Materials/index.js.map +1 -1
- package/Materials/materialHelper.functions.js +2 -0
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/materialHelper.geometryrendering.d.ts +122 -0
- package/Materials/materialHelper.geometryrendering.js +259 -0
- package/Materials/materialHelper.geometryrendering.js.map +1 -0
- package/Materials/standardMaterial.d.ts +4 -0
- package/Materials/standardMaterial.js +8 -0
- package/Materials/standardMaterial.js.map +1 -1
- package/Maths/index.d.ts +1 -0
- package/Maths/index.js +1 -0
- package/Maths/index.js.map +1 -1
- package/Meshes/Builders/greasedLineBuilder.d.ts +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +22 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js +39 -0
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
- package/Misc/copyTextureToTexture.d.ts +3 -2
- package/Misc/copyTextureToTexture.js +11 -5
- package/Misc/copyTextureToTexture.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.d.ts +5 -3
- package/PostProcesses/blackAndWhitePostProcess.js +24 -19
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.d.ts +7 -5
- package/PostProcesses/bloomEffect.js +49 -23
- package/PostProcesses/bloomEffect.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.d.ts +5 -5
- package/PostProcesses/bloomMergePostProcess.js +28 -19
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.d.ts +7 -43
- package/PostProcesses/blurPostProcess.js +47 -185
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.d.ts +13 -6
- package/PostProcesses/circleOfConfusionPostProcess.js +59 -38
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +2 -6
- package/PostProcesses/depthOfFieldBlurPostProcess.js +14 -11
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.d.ts +5 -2
- package/PostProcesses/depthOfFieldEffect.js +53 -45
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/depthOfFieldMergePostProcess.d.ts +0 -1
- package/PostProcesses/depthOfFieldMergePostProcess.js +18 -12
- package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.d.ts +8 -4
- package/PostProcesses/extractHighlightsPostProcess.js +35 -22
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/index.d.ts +6 -0
- package/PostProcesses/index.js +6 -0
- package/PostProcesses/index.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +15 -70
- package/PostProcesses/postProcess.js +80 -97
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +28 -0
- package/PostProcesses/thinBlackAndWhitePostProcess.js +50 -0
- package/PostProcesses/thinBlackAndWhitePostProcess.js.map +1 -0
- package/PostProcesses/thinBloomEffect.d.ts +49 -0
- package/PostProcesses/thinBloomEffect.js +59 -0
- package/PostProcesses/thinBloomEffect.js.map +1 -0
- package/PostProcesses/thinBloomMergePostProcess.d.ts +15 -0
- package/PostProcesses/thinBloomMergePostProcess.js +38 -0
- package/PostProcesses/thinBloomMergePostProcess.js.map +1 -0
- package/PostProcesses/thinBlurPostProcess.d.ts +89 -0
- package/PostProcesses/thinBlurPostProcess.js +242 -0
- package/PostProcesses/thinBlurPostProcess.js.map +1 -0
- package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +62 -0
- package/PostProcesses/thinCircleOfConfusionPostProcess.js +81 -0
- package/PostProcesses/thinCircleOfConfusionPostProcess.js.map +1 -0
- package/PostProcesses/thinDepthOfFieldBlurPostProcess.d.ts +8 -0
- package/PostProcesses/thinDepthOfFieldBlurPostProcess.js +13 -0
- package/PostProcesses/thinDepthOfFieldBlurPostProcess.js.map +1 -0
- package/PostProcesses/thinDepthOfFieldEffect.d.ts +70 -0
- package/PostProcesses/thinDepthOfFieldEffect.js +115 -0
- package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -0
- package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +11 -0
- package/PostProcesses/thinDepthOfFieldMergePostProcess.js +30 -0
- package/PostProcesses/thinDepthOfFieldMergePostProcess.js.map +1 -0
- package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +30 -0
- package/PostProcesses/thinExtractHighlightsPostProcess.js +55 -0
- package/PostProcesses/thinExtractHighlightsPostProcess.js.map +1 -0
- package/Rendering/depthPeelingRenderer.js +2 -2
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObject.js +4 -4
- package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockPrePass.d.ts +5 -0
- package/Shaders/ShadersInclude/pbrBlockPrePass.js +75 -0
- package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -0
- package/Shaders/ShadersInclude/prePassVertex.js +1 -2
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/circleOfConfusion.fragment.js +9 -1
- package/Shaders/circleOfConfusion.fragment.js.map +1 -1
- package/Shaders/colorCorrection.fragment.js +1 -0
- package/Shaders/colorCorrection.fragment.js.map +1 -1
- package/Shaders/default.fragment.js +17 -25
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.js +4 -6
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/pbr.fragment.d.ts +1 -0
- package/Shaders/pbr.fragment.js +2 -74
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.js +3 -3
- package/Shaders/pbr.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +100 -0
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/prePassVertex.js +1 -2
- package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
- package/ShadersWGSL/background.vertex.js +1 -1
- package/ShadersWGSL/background.vertex.js.map +1 -1
- package/ShadersWGSL/circleOfConfusion.fragment.js +10 -2
- package/ShadersWGSL/circleOfConfusion.fragment.js.map +1 -1
- package/ShadersWGSL/default.fragment.js +20 -31
- package/ShadersWGSL/default.fragment.js.map +1 -1
- package/ShadersWGSL/default.vertex.js +4 -5
- package/ShadersWGSL/default.vertex.js.map +1 -1
- package/ShadersWGSL/glowMapGeneration.fragment.js +1 -1
- package/ShadersWGSL/glowMapGeneration.fragment.js.map +1 -1
- package/ShadersWGSL/glowMapGeneration.vertex.js +1 -1
- package/ShadersWGSL/glowMapGeneration.vertex.js.map +1 -1
- package/ShadersWGSL/pbr.fragment.d.ts +1 -0
- package/ShadersWGSL/pbr.fragment.js +2 -100
- package/ShadersWGSL/pbr.fragment.js.map +1 -1
- package/ShadersWGSL/pbr.vertex.js +4 -2
- package/ShadersWGSL/pbr.vertex.js.map +1 -1
- package/XR/features/WebXRRawCameraAccess.js +1 -1
- package/XR/features/WebXRRawCameraAccess.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +19 -2
- package/scene.js +110 -13
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +0 -1
- package/sceneComponent.js +0 -1
- package/sceneComponent.js.map +1 -1
- package/types.d.ts +12 -0
- package/types.js.map +1 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { __decorate } from "../../../../tslib.es6.js";
|
|
2
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
|
|
3
|
+
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
4
|
+
import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRenderGraphTypes.js";
|
|
5
|
+
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
6
|
+
import { FrameGraphObjectRendererTask } from "../../../Tasks/Rendering/objectRendererTask.js";
|
|
7
|
+
/**
|
|
8
|
+
* Block that render objects to a render target
|
|
9
|
+
*/
|
|
10
|
+
export class NodeRenderGraphObjectRendererBlock extends NodeRenderGraphBlock {
|
|
11
|
+
/**
|
|
12
|
+
* Gets the frame graph task associated with this block
|
|
13
|
+
*/
|
|
14
|
+
get task() {
|
|
15
|
+
return this._frameGraphTask;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a new NodeRenderGraphObjectRendererBlock
|
|
19
|
+
* @param name defines the block name
|
|
20
|
+
* @param frameGraph defines the hosting frame graph
|
|
21
|
+
* @param scene defines the hosting scene
|
|
22
|
+
*/
|
|
23
|
+
constructor(name, frameGraph, scene) {
|
|
24
|
+
super(name, frameGraph, scene);
|
|
25
|
+
this.registerInput("destination", NodeRenderGraphBlockConnectionPointTypes.Texture);
|
|
26
|
+
this.registerInput("depth", NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment, true);
|
|
27
|
+
this.registerInput("camera", NodeRenderGraphBlockConnectionPointTypes.Camera);
|
|
28
|
+
this.registerInput("objects", NodeRenderGraphBlockConnectionPointTypes.ObjectList);
|
|
29
|
+
this.registerInput("dependencies", NodeRenderGraphBlockConnectionPointTypes.Texture, true);
|
|
30
|
+
this.registerOutput("output", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);
|
|
31
|
+
this.registerOutput("outputDepth", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);
|
|
32
|
+
this.destination.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBufferDepthStencil);
|
|
33
|
+
this.depth.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment);
|
|
34
|
+
this.dependencies.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer);
|
|
35
|
+
this.output._typeConnectionSource = this.destination;
|
|
36
|
+
this.outputDepth._typeConnectionSource = this.depth;
|
|
37
|
+
this._frameGraphTask = new FrameGraphObjectRendererTask(this.name, frameGraph, scene);
|
|
38
|
+
}
|
|
39
|
+
/** Indicates if depth testing must be enabled or disabled */
|
|
40
|
+
get depthTest() {
|
|
41
|
+
return this._frameGraphTask.depthTest;
|
|
42
|
+
}
|
|
43
|
+
set depthTest(value) {
|
|
44
|
+
this._frameGraphTask.depthTest = value;
|
|
45
|
+
}
|
|
46
|
+
/** Indicates if depth writing must be enabled or disabled */
|
|
47
|
+
get depthWrite() {
|
|
48
|
+
return this._frameGraphTask.depthWrite;
|
|
49
|
+
}
|
|
50
|
+
set depthWrite(value) {
|
|
51
|
+
this._frameGraphTask.depthWrite = value;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets the current class name
|
|
55
|
+
* @returns the class name
|
|
56
|
+
*/
|
|
57
|
+
getClassName() {
|
|
58
|
+
return "NodeRenderGraphObjectRendererBlock";
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Gets the destination texture input component
|
|
62
|
+
*/
|
|
63
|
+
get destination() {
|
|
64
|
+
return this._inputs[0];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Gets the depth texture input component
|
|
68
|
+
*/
|
|
69
|
+
get depth() {
|
|
70
|
+
return this._inputs[1];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Gets the camera input component
|
|
74
|
+
*/
|
|
75
|
+
get camera() {
|
|
76
|
+
return this._inputs[2];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Gets the objects input component
|
|
80
|
+
*/
|
|
81
|
+
get objects() {
|
|
82
|
+
return this._inputs[3];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Gets the dependencies input component
|
|
86
|
+
*/
|
|
87
|
+
get dependencies() {
|
|
88
|
+
return this._inputs[4];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Gets the output component
|
|
92
|
+
*/
|
|
93
|
+
get output() {
|
|
94
|
+
return this._outputs[0];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Gets the output depth component
|
|
98
|
+
*/
|
|
99
|
+
get outputDepth() {
|
|
100
|
+
return this._outputs[1];
|
|
101
|
+
}
|
|
102
|
+
_buildBlock(state) {
|
|
103
|
+
super._buildBlock(state);
|
|
104
|
+
this._frameGraphTask.name = this.name;
|
|
105
|
+
this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the "output" texture of the task
|
|
106
|
+
this.outputDepth.value = this._frameGraphTask.outputDepthTexture; // the value of the outputDepth connection point is the "outputDepth" texture of the task
|
|
107
|
+
const destinationConnectedPoint = this.destination.connectedPoint;
|
|
108
|
+
if (destinationConnectedPoint) {
|
|
109
|
+
this._frameGraphTask.destinationTexture = destinationConnectedPoint.value;
|
|
110
|
+
}
|
|
111
|
+
const depthConnectedPoint = this.depth.connectedPoint;
|
|
112
|
+
if (depthConnectedPoint) {
|
|
113
|
+
this._frameGraphTask.depthTexture = depthConnectedPoint.value;
|
|
114
|
+
}
|
|
115
|
+
const cameraConnectedPoint = this.camera.connectedPoint;
|
|
116
|
+
if (cameraConnectedPoint) {
|
|
117
|
+
this._frameGraphTask.camera = cameraConnectedPoint.value;
|
|
118
|
+
}
|
|
119
|
+
const objectsConnectedPoint = this.objects.connectedPoint;
|
|
120
|
+
if (objectsConnectedPoint) {
|
|
121
|
+
this._frameGraphTask.objectList = objectsConnectedPoint.value;
|
|
122
|
+
}
|
|
123
|
+
this._frameGraphTask.dependencies = [];
|
|
124
|
+
const dependenciesConnectedPoint = this.dependencies.connectedPoint;
|
|
125
|
+
if (dependenciesConnectedPoint) {
|
|
126
|
+
this._frameGraphTask.dependencies[0] = dependenciesConnectedPoint.value;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
_dumpPropertiesCode() {
|
|
130
|
+
const codes = [];
|
|
131
|
+
codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);
|
|
132
|
+
codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);
|
|
133
|
+
return super._dumpPropertiesCode() + codes.join("\n");
|
|
134
|
+
}
|
|
135
|
+
serialize() {
|
|
136
|
+
const serializationObject = super.serialize();
|
|
137
|
+
serializationObject.depthTest = this.depthTest;
|
|
138
|
+
serializationObject.depthWrite = this.depthWrite;
|
|
139
|
+
return serializationObject;
|
|
140
|
+
}
|
|
141
|
+
_deserialize(serializationObject) {
|
|
142
|
+
super._deserialize(serializationObject);
|
|
143
|
+
this.depthTest = serializationObject.depthTest;
|
|
144
|
+
this.depthWrite = serializationObject.depthWrite;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
__decorate([
|
|
148
|
+
editableInPropertyPage("Depth test", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
|
|
149
|
+
], NodeRenderGraphObjectRendererBlock.prototype, "depthTest", null);
|
|
150
|
+
__decorate([
|
|
151
|
+
editableInPropertyPage("Depth write", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
|
|
152
|
+
], NodeRenderGraphObjectRendererBlock.prototype, "depthWrite", null);
|
|
153
|
+
RegisterClass("BABYLON.NodeRenderGraphObjectRendererBlock", NodeRenderGraphObjectRendererBlock);
|
|
154
|
+
//# sourceMappingURL=objectRendererBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectRendererBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport type { NodeRenderGraphConnectionPoint, Scene, NodeRenderGraphBuildState, FrameGraph, FrameGraphTextureHandle, FrameGraphObjectList, Camera } from \"core/index\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphObjectRendererTask } from \"../../../Tasks/Rendering/objectRendererTask\";\r\n\r\n/**\r\n * Block that render objects to a render target\r\n */\r\nexport class NodeRenderGraphObjectRendererBlock extends NodeRenderGraphBlock {\r\n protected override _frameGraphTask: FrameGraphObjectRendererTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphObjectRendererBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this.registerInput(\"destination\", NodeRenderGraphBlockConnectionPointTypes.Texture);\r\n this.registerInput(\"depth\", NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment, true);\r\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\r\n this.registerInput(\"objects\", NodeRenderGraphBlockConnectionPointTypes.ObjectList);\r\n this.registerInput(\"dependencies\", NodeRenderGraphBlockConnectionPointTypes.Texture, true);\r\n\r\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\"outputDepth\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n\r\n this.destination.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBufferDepthStencil);\r\n this.depth.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment);\r\n this.dependencies.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer);\r\n\r\n this.output._typeConnectionSource = this.destination;\r\n this.outputDepth._typeConnectionSource = this.depth;\r\n\r\n this._frameGraphTask = new FrameGraphObjectRendererTask(this.name, frameGraph, scene);\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthTest() {\r\n return this._frameGraphTask.depthTest;\r\n }\r\n\r\n public set depthTest(value: boolean) {\r\n this._frameGraphTask.depthTest = value;\r\n }\r\n\r\n /** Indicates if depth writing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth write\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthWrite() {\r\n return this._frameGraphTask.depthWrite;\r\n }\r\n\r\n public set depthWrite(value: boolean) {\r\n this._frameGraphTask.depthWrite = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphObjectRendererBlock\";\r\n }\r\n\r\n /**\r\n * Gets the destination texture input component\r\n */\r\n public get destination(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the depth texture input component\r\n */\r\n public get depth(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the camera input component\r\n */\r\n public get camera(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the objects input component\r\n */\r\n public get objects(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the dependencies input component\r\n */\r\n public get dependencies(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output depth component\r\n */\r\n public get outputDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n this._frameGraphTask.name = this.name;\r\n\r\n this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the \"output\" texture of the task\r\n\r\n this.outputDepth.value = this._frameGraphTask.outputDepthTexture; // the value of the outputDepth connection point is the \"outputDepth\" texture of the task\r\n\r\n const destinationConnectedPoint = this.destination.connectedPoint;\r\n if (destinationConnectedPoint) {\r\n this._frameGraphTask.destinationTexture = destinationConnectedPoint.value as FrameGraphTextureHandle;\r\n }\r\n\r\n const depthConnectedPoint = this.depth.connectedPoint;\r\n if (depthConnectedPoint) {\r\n this._frameGraphTask.depthTexture = depthConnectedPoint.value as FrameGraphTextureHandle;\r\n }\r\n\r\n const cameraConnectedPoint = this.camera.connectedPoint;\r\n if (cameraConnectedPoint) {\r\n this._frameGraphTask.camera = cameraConnectedPoint.value as Camera;\r\n }\r\n\r\n const objectsConnectedPoint = this.objects.connectedPoint;\r\n if (objectsConnectedPoint) {\r\n this._frameGraphTask.objectList = objectsConnectedPoint.value as FrameGraphObjectList;\r\n }\r\n\r\n this._frameGraphTask.dependencies = [];\r\n\r\n const dependenciesConnectedPoint = this.dependencies.connectedPoint;\r\n if (dependenciesConnectedPoint) {\r\n this._frameGraphTask.dependencies[0] = dependenciesConnectedPoint.value as FrameGraphTextureHandle;\r\n }\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphObjectRendererBlock\", NodeRenderGraphObjectRendererBlock);\r\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { NodeRenderGraphConnectionPoint, Scene, Nullable, FrameGraph, NodeRenderGraphTeleportOutBlock } from "../../../../index.js";
|
|
2
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock";
|
|
3
|
+
/**
|
|
4
|
+
* Defines a block used to teleport a value to an endpoint
|
|
5
|
+
*/
|
|
6
|
+
export declare class NodeRenderGraphTeleportInBlock extends NodeRenderGraphBlock {
|
|
7
|
+
private _endpoints;
|
|
8
|
+
/** Gets the list of attached endpoints */
|
|
9
|
+
get endpoints(): NodeRenderGraphTeleportOutBlock[];
|
|
10
|
+
/**
|
|
11
|
+
* Create a new NodeRenderGraphTeleportInBlock
|
|
12
|
+
* @param name defines the block name
|
|
13
|
+
* @param frameGraph defines the hosting frame graph
|
|
14
|
+
* @param scene defines the hosting scene
|
|
15
|
+
*/
|
|
16
|
+
constructor(name: string, frameGraph: FrameGraph, scene: Scene);
|
|
17
|
+
/**
|
|
18
|
+
* Gets the current class name
|
|
19
|
+
* @returns the class name
|
|
20
|
+
*/
|
|
21
|
+
getClassName(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the input component
|
|
24
|
+
*/
|
|
25
|
+
get input(): NodeRenderGraphConnectionPoint;
|
|
26
|
+
_dumpCode(uniqueNames: string[], alreadyDumped: NodeRenderGraphBlock[]): string;
|
|
27
|
+
/**
|
|
28
|
+
* Checks if the current block is an ancestor of a given type
|
|
29
|
+
* @param type defines the potential type to check
|
|
30
|
+
* @returns true if block is a descendant
|
|
31
|
+
*/
|
|
32
|
+
isAnAncestorOfType(type: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if the current block is an ancestor of a given block
|
|
35
|
+
* @param block defines the potential descendant block to check
|
|
36
|
+
* @returns true if block is a descendant
|
|
37
|
+
*/
|
|
38
|
+
isAnAncestorOf(block: NodeRenderGraphBlock): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Get the first descendant using a predicate
|
|
41
|
+
* @param predicate defines the predicate to check
|
|
42
|
+
* @returns descendant or null if none found
|
|
43
|
+
*/
|
|
44
|
+
getDescendantOfPredicate(predicate: (block: NodeRenderGraphBlock) => boolean): Nullable<NodeRenderGraphBlock>;
|
|
45
|
+
/**
|
|
46
|
+
* Add an enpoint to this block
|
|
47
|
+
* @param endpoint define the endpoint to attach to
|
|
48
|
+
*/
|
|
49
|
+
attachToEndpoint(endpoint: NodeRenderGraphTeleportOutBlock): void;
|
|
50
|
+
/**
|
|
51
|
+
* Remove enpoint from this block
|
|
52
|
+
* @param endpoint define the endpoint to remove
|
|
53
|
+
*/
|
|
54
|
+
detachFromEndpoint(endpoint: NodeRenderGraphTeleportOutBlock): void;
|
|
55
|
+
/**
|
|
56
|
+
* Release resources
|
|
57
|
+
*/
|
|
58
|
+
dispose(): void;
|
|
59
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
2
|
+
import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRenderGraphTypes.js";
|
|
3
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
|
|
4
|
+
/**
|
|
5
|
+
* Defines a block used to teleport a value to an endpoint
|
|
6
|
+
*/
|
|
7
|
+
export class NodeRenderGraphTeleportInBlock extends NodeRenderGraphBlock {
|
|
8
|
+
/** Gets the list of attached endpoints */
|
|
9
|
+
get endpoints() {
|
|
10
|
+
return this._endpoints;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a new NodeRenderGraphTeleportInBlock
|
|
14
|
+
* @param name defines the block name
|
|
15
|
+
* @param frameGraph defines the hosting frame graph
|
|
16
|
+
* @param scene defines the hosting scene
|
|
17
|
+
*/
|
|
18
|
+
constructor(name, frameGraph, scene) {
|
|
19
|
+
super(name, frameGraph, scene);
|
|
20
|
+
this._endpoints = [];
|
|
21
|
+
this._isTeleportIn = true;
|
|
22
|
+
this.registerInput("input", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Gets the current class name
|
|
26
|
+
* @returns the class name
|
|
27
|
+
*/
|
|
28
|
+
getClassName() {
|
|
29
|
+
return "NodeRenderGraphTeleportInBlock";
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets the input component
|
|
33
|
+
*/
|
|
34
|
+
get input() {
|
|
35
|
+
return this._inputs[0];
|
|
36
|
+
}
|
|
37
|
+
_dumpCode(uniqueNames, alreadyDumped) {
|
|
38
|
+
let codeString = super._dumpCode(uniqueNames, alreadyDumped);
|
|
39
|
+
for (const endpoint of this.endpoints) {
|
|
40
|
+
if (alreadyDumped.indexOf(endpoint) === -1) {
|
|
41
|
+
codeString += endpoint._dumpCode(uniqueNames, alreadyDumped);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return codeString;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Checks if the current block is an ancestor of a given type
|
|
48
|
+
* @param type defines the potential type to check
|
|
49
|
+
* @returns true if block is a descendant
|
|
50
|
+
*/
|
|
51
|
+
isAnAncestorOfType(type) {
|
|
52
|
+
if (this.getClassName() === type) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
for (const endpoint of this.endpoints) {
|
|
56
|
+
if (endpoint.isAnAncestorOfType(type)) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Checks if the current block is an ancestor of a given block
|
|
64
|
+
* @param block defines the potential descendant block to check
|
|
65
|
+
* @returns true if block is a descendant
|
|
66
|
+
*/
|
|
67
|
+
isAnAncestorOf(block) {
|
|
68
|
+
for (const endpoint of this.endpoints) {
|
|
69
|
+
if (endpoint === block) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (endpoint.isAnAncestorOf(block)) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get the first descendant using a predicate
|
|
80
|
+
* @param predicate defines the predicate to check
|
|
81
|
+
* @returns descendant or null if none found
|
|
82
|
+
*/
|
|
83
|
+
getDescendantOfPredicate(predicate) {
|
|
84
|
+
if (predicate(this)) {
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
for (const endpoint of this.endpoints) {
|
|
88
|
+
const descendant = endpoint.getDescendantOfPredicate(predicate);
|
|
89
|
+
if (descendant) {
|
|
90
|
+
return descendant;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add an enpoint to this block
|
|
97
|
+
* @param endpoint define the endpoint to attach to
|
|
98
|
+
*/
|
|
99
|
+
attachToEndpoint(endpoint) {
|
|
100
|
+
endpoint.detach();
|
|
101
|
+
this._endpoints.push(endpoint);
|
|
102
|
+
endpoint._entryPoint = this;
|
|
103
|
+
endpoint._outputs[0]._typeConnectionSource = this._inputs[0];
|
|
104
|
+
endpoint._tempEntryPointUniqueId = null;
|
|
105
|
+
endpoint.name = "> " + this.name;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Remove enpoint from this block
|
|
109
|
+
* @param endpoint define the endpoint to remove
|
|
110
|
+
*/
|
|
111
|
+
detachFromEndpoint(endpoint) {
|
|
112
|
+
const index = this._endpoints.indexOf(endpoint);
|
|
113
|
+
if (index !== -1) {
|
|
114
|
+
this._endpoints.splice(index, 1);
|
|
115
|
+
endpoint._outputs[0]._typeConnectionSource = null;
|
|
116
|
+
endpoint._entryPoint = null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Release resources
|
|
121
|
+
*/
|
|
122
|
+
dispose() {
|
|
123
|
+
super.dispose();
|
|
124
|
+
for (const endpoint of this._endpoints) {
|
|
125
|
+
this.detachFromEndpoint(endpoint);
|
|
126
|
+
}
|
|
127
|
+
this._endpoints = [];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
RegisterClass("BABYLON.NodeRenderGraphTeleportInBlock", NodeRenderGraphTeleportInBlock);
|
|
131
|
+
//# sourceMappingURL=teleportInBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleportInBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Teleport/teleportInBlock.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport type { NodeRenderGraphConnectionPoint, Scene, Nullable, FrameGraph, NodeRenderGraphTeleportOutBlock } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\n\r\n/**\r\n * Defines a block used to teleport a value to an endpoint\r\n */\r\nexport class NodeRenderGraphTeleportInBlock extends NodeRenderGraphBlock {\r\n private _endpoints: NodeRenderGraphTeleportOutBlock[] = [];\r\n\r\n /** Gets the list of attached endpoints */\r\n public get endpoints() {\r\n return this._endpoints;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphTeleportInBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._isTeleportIn = true;\r\n\r\n this.registerInput(\"input\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphTeleportInBlock\";\r\n }\r\n\r\n /**\r\n * Gets the input component\r\n */\r\n public get input(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n public override _dumpCode(uniqueNames: string[], alreadyDumped: NodeRenderGraphBlock[]) {\r\n let codeString = super._dumpCode(uniqueNames, alreadyDumped);\r\n\r\n for (const endpoint of this.endpoints) {\r\n if (alreadyDumped.indexOf(endpoint) === -1) {\r\n codeString += endpoint._dumpCode(uniqueNames, alreadyDumped);\r\n }\r\n }\r\n\r\n return codeString;\r\n }\r\n\r\n /**\r\n * Checks if the current block is an ancestor of a given type\r\n * @param type defines the potential type to check\r\n * @returns true if block is a descendant\r\n */\r\n public override isAnAncestorOfType(type: string): boolean {\r\n if (this.getClassName() === type) {\r\n return true;\r\n }\r\n\r\n for (const endpoint of this.endpoints) {\r\n if (endpoint.isAnAncestorOfType(type)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if the current block is an ancestor of a given block\r\n * @param block defines the potential descendant block to check\r\n * @returns true if block is a descendant\r\n */\r\n public override isAnAncestorOf(block: NodeRenderGraphBlock): boolean {\r\n for (const endpoint of this.endpoints) {\r\n if (endpoint === block) {\r\n return true;\r\n }\r\n\r\n if (endpoint.isAnAncestorOf(block)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Get the first descendant using a predicate\r\n * @param predicate defines the predicate to check\r\n * @returns descendant or null if none found\r\n */\r\n public override getDescendantOfPredicate(predicate: (block: NodeRenderGraphBlock) => boolean): Nullable<NodeRenderGraphBlock> {\r\n if (predicate(this)) {\r\n return this;\r\n }\r\n\r\n for (const endpoint of this.endpoints) {\r\n const descendant = endpoint.getDescendantOfPredicate(predicate);\r\n\r\n if (descendant) {\r\n return descendant;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Add an enpoint to this block\r\n * @param endpoint define the endpoint to attach to\r\n */\r\n public attachToEndpoint(endpoint: NodeRenderGraphTeleportOutBlock) {\r\n endpoint.detach();\r\n\r\n this._endpoints.push(endpoint);\r\n endpoint._entryPoint = this;\r\n endpoint._outputs[0]._typeConnectionSource = this._inputs[0];\r\n endpoint._tempEntryPointUniqueId = null;\r\n endpoint.name = \"> \" + this.name;\r\n }\r\n\r\n /**\r\n * Remove enpoint from this block\r\n * @param endpoint define the endpoint to remove\r\n */\r\n public detachFromEndpoint(endpoint: NodeRenderGraphTeleportOutBlock) {\r\n const index = this._endpoints.indexOf(endpoint);\r\n\r\n if (index !== -1) {\r\n this._endpoints.splice(index, 1);\r\n endpoint._outputs[0]._typeConnectionSource = null;\r\n endpoint._entryPoint = null;\r\n }\r\n }\r\n\r\n /**\r\n * Release resources\r\n */\r\n public override dispose() {\r\n super.dispose();\r\n\r\n for (const endpoint of this._endpoints) {\r\n this.detachFromEndpoint(endpoint);\r\n }\r\n\r\n this._endpoints = [];\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphTeleportInBlock\", NodeRenderGraphTeleportInBlock);\r\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { NodeRenderGraphConnectionPoint, Scene, Nullable, FrameGraph, NodeRenderGraphTeleportInBlock, NodeRenderGraphBuildState } from "../../../../index.js";
|
|
2
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock";
|
|
3
|
+
/**
|
|
4
|
+
* Defines a block used to receive a value from a teleport entry point
|
|
5
|
+
*/
|
|
6
|
+
export declare class NodeRenderGraphTeleportOutBlock extends NodeRenderGraphBlock {
|
|
7
|
+
/** @internal */
|
|
8
|
+
_entryPoint: Nullable<NodeRenderGraphTeleportInBlock>;
|
|
9
|
+
/** @internal */
|
|
10
|
+
_tempEntryPointUniqueId: Nullable<number>;
|
|
11
|
+
/**
|
|
12
|
+
* Create a new NodeRenderGraphTeleportOutBlock
|
|
13
|
+
* @param name defines the block name
|
|
14
|
+
* @param frameGraph defines the hosting frame graph
|
|
15
|
+
* @param scene defines the hosting scene
|
|
16
|
+
*/
|
|
17
|
+
constructor(name: string, frameGraph: FrameGraph, scene: Scene);
|
|
18
|
+
/**
|
|
19
|
+
* Gets the entry point
|
|
20
|
+
*/
|
|
21
|
+
get entryPoint(): Nullable<NodeRenderGraphTeleportInBlock>;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the current class name
|
|
24
|
+
* @returns the class name
|
|
25
|
+
*/
|
|
26
|
+
getClassName(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the output component
|
|
29
|
+
*/
|
|
30
|
+
get output(): NodeRenderGraphConnectionPoint;
|
|
31
|
+
/** Detach from entry point */
|
|
32
|
+
detach(): void;
|
|
33
|
+
protected _buildBlock(): void;
|
|
34
|
+
protected _customBuildStep(state: NodeRenderGraphBuildState): void;
|
|
35
|
+
_dumpCode(uniqueNames: string[], alreadyDumped: NodeRenderGraphBlock[]): string;
|
|
36
|
+
_dumpCodeForOutputConnections(alreadyDumped: NodeRenderGraphBlock[]): string;
|
|
37
|
+
/**
|
|
38
|
+
* Clone the current block to a new identical block
|
|
39
|
+
* @returns a copy of the current block
|
|
40
|
+
*/
|
|
41
|
+
clone(): NodeRenderGraphBlock | null;
|
|
42
|
+
protected _dumpPropertiesCode(): string;
|
|
43
|
+
/**
|
|
44
|
+
* Serializes this block in a JSON representation
|
|
45
|
+
* @returns the serialized block object
|
|
46
|
+
*/
|
|
47
|
+
serialize(): any;
|
|
48
|
+
_deserialize(serializationObject: any): void;
|
|
49
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
2
|
+
import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRenderGraphTypes.js";
|
|
3
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
|
|
4
|
+
/**
|
|
5
|
+
* Defines a block used to receive a value from a teleport entry point
|
|
6
|
+
*/
|
|
7
|
+
export class NodeRenderGraphTeleportOutBlock extends NodeRenderGraphBlock {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new NodeRenderGraphTeleportOutBlock
|
|
10
|
+
* @param name defines the block name
|
|
11
|
+
* @param frameGraph defines the hosting frame graph
|
|
12
|
+
* @param scene defines the hosting scene
|
|
13
|
+
*/
|
|
14
|
+
constructor(name, frameGraph, scene) {
|
|
15
|
+
super(name, frameGraph, scene);
|
|
16
|
+
/** @internal */
|
|
17
|
+
this._entryPoint = null;
|
|
18
|
+
/** @internal */
|
|
19
|
+
this._tempEntryPointUniqueId = null;
|
|
20
|
+
this._isTeleportOut = true;
|
|
21
|
+
this.registerOutput("output", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gets the entry point
|
|
25
|
+
*/
|
|
26
|
+
get entryPoint() {
|
|
27
|
+
return this._entryPoint;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Gets the current class name
|
|
31
|
+
* @returns the class name
|
|
32
|
+
*/
|
|
33
|
+
getClassName() {
|
|
34
|
+
return "NodeRenderGraphTeleportOutBlock";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Gets the output component
|
|
38
|
+
*/
|
|
39
|
+
get output() {
|
|
40
|
+
return this._outputs[0];
|
|
41
|
+
}
|
|
42
|
+
/** Detach from entry point */
|
|
43
|
+
detach() {
|
|
44
|
+
if (!this._entryPoint) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this._entryPoint.detachFromEndpoint(this);
|
|
48
|
+
}
|
|
49
|
+
_buildBlock() {
|
|
50
|
+
// Do nothing
|
|
51
|
+
// All work done by the emitter
|
|
52
|
+
}
|
|
53
|
+
_customBuildStep(state) {
|
|
54
|
+
if (this.entryPoint) {
|
|
55
|
+
this.entryPoint.build(state);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
_dumpCode(uniqueNames, alreadyDumped) {
|
|
59
|
+
let codeString = "";
|
|
60
|
+
if (this.entryPoint) {
|
|
61
|
+
if (alreadyDumped.indexOf(this.entryPoint) === -1) {
|
|
62
|
+
codeString += this.entryPoint._dumpCode(uniqueNames, alreadyDumped);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return codeString + super._dumpCode(uniqueNames, alreadyDumped);
|
|
66
|
+
}
|
|
67
|
+
_dumpCodeForOutputConnections(alreadyDumped) {
|
|
68
|
+
let codeString = super._dumpCodeForOutputConnections(alreadyDumped);
|
|
69
|
+
if (this.entryPoint) {
|
|
70
|
+
codeString += this.entryPoint._dumpCodeForOutputConnections(alreadyDumped);
|
|
71
|
+
}
|
|
72
|
+
return codeString;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Clone the current block to a new identical block
|
|
76
|
+
* @returns a copy of the current block
|
|
77
|
+
*/
|
|
78
|
+
clone() {
|
|
79
|
+
const clone = super.clone();
|
|
80
|
+
if (this.entryPoint) {
|
|
81
|
+
this.entryPoint.attachToEndpoint(clone);
|
|
82
|
+
}
|
|
83
|
+
return clone;
|
|
84
|
+
}
|
|
85
|
+
_dumpPropertiesCode() {
|
|
86
|
+
let codeString = super._dumpPropertiesCode();
|
|
87
|
+
if (this.entryPoint) {
|
|
88
|
+
codeString += `${this.entryPoint._codeVariableName}.attachToEndpoint(${this._codeVariableName});\n`;
|
|
89
|
+
}
|
|
90
|
+
return codeString;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Serializes this block in a JSON representation
|
|
94
|
+
* @returns the serialized block object
|
|
95
|
+
*/
|
|
96
|
+
serialize() {
|
|
97
|
+
const serializationObject = super.serialize();
|
|
98
|
+
serializationObject.entryPoint = this.entryPoint?.uniqueId ?? "";
|
|
99
|
+
return serializationObject;
|
|
100
|
+
}
|
|
101
|
+
_deserialize(serializationObject) {
|
|
102
|
+
super._deserialize(serializationObject);
|
|
103
|
+
this._tempEntryPointUniqueId = serializationObject.entryPoint;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
RegisterClass("BABYLON.NodeRenderGraphTeleportOutBlock", NodeRenderGraphTeleportOutBlock);
|
|
107
|
+
//# sourceMappingURL=teleportOutBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleportOutBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport type { NodeRenderGraphConnectionPoint, Scene, Nullable, FrameGraph, NodeRenderGraphTeleportInBlock, NodeRenderGraphBuildState } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\n\r\n/**\r\n * Defines a block used to receive a value from a teleport entry point\r\n */\r\nexport class NodeRenderGraphTeleportOutBlock extends NodeRenderGraphBlock {\r\n /** @internal */\r\n public _entryPoint: Nullable<NodeRenderGraphTeleportInBlock> = null;\r\n /** @internal */\r\n public _tempEntryPointUniqueId: Nullable<number> = null;\r\n\r\n /**\r\n * Create a new NodeRenderGraphTeleportOutBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._isTeleportOut = true;\r\n\r\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n }\r\n\r\n /**\r\n * Gets the entry point\r\n */\r\n public get entryPoint() {\r\n return this._entryPoint;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphTeleportOutBlock\";\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /** Detach from entry point */\r\n public detach() {\r\n if (!this._entryPoint) {\r\n return;\r\n }\r\n this._entryPoint.detachFromEndpoint(this);\r\n }\r\n\r\n protected override _buildBlock() {\r\n // Do nothing\r\n // All work done by the emitter\r\n }\r\n\r\n protected override _customBuildStep(state: NodeRenderGraphBuildState): void {\r\n if (this.entryPoint) {\r\n this.entryPoint.build(state);\r\n }\r\n }\r\n\r\n public override _dumpCode(uniqueNames: string[], alreadyDumped: NodeRenderGraphBlock[]) {\r\n let codeString: string = \"\";\r\n if (this.entryPoint) {\r\n if (alreadyDumped.indexOf(this.entryPoint) === -1) {\r\n codeString += this.entryPoint._dumpCode(uniqueNames, alreadyDumped);\r\n }\r\n }\r\n\r\n return codeString + super._dumpCode(uniqueNames, alreadyDumped);\r\n }\r\n\r\n public override _dumpCodeForOutputConnections(alreadyDumped: NodeRenderGraphBlock[]) {\r\n let codeString = super._dumpCodeForOutputConnections(alreadyDumped);\r\n\r\n if (this.entryPoint) {\r\n codeString += this.entryPoint._dumpCodeForOutputConnections(alreadyDumped);\r\n }\r\n\r\n return codeString;\r\n }\r\n\r\n /**\r\n * Clone the current block to a new identical block\r\n * @returns a copy of the current block\r\n */\r\n public override clone() {\r\n const clone = super.clone();\r\n\r\n if (this.entryPoint) {\r\n this.entryPoint.attachToEndpoint(clone as NodeRenderGraphTeleportOutBlock);\r\n }\r\n\r\n return clone;\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n let codeString = super._dumpPropertiesCode();\r\n if (this.entryPoint) {\r\n codeString += `${this.entryPoint._codeVariableName}.attachToEndpoint(${this._codeVariableName});\\n`;\r\n }\r\n return codeString;\r\n }\r\n\r\n /**\r\n * Serializes this block in a JSON representation\r\n * @returns the serialized block object\r\n */\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n\r\n serializationObject.entryPoint = this.entryPoint?.uniqueId ?? \"\";\r\n\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n\r\n this._tempEntryPointUniqueId = serializationObject.entryPoint;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphTeleportOutBlock\", NodeRenderGraphTeleportOutBlock);\r\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { NodeRenderGraphConnectionPoint, Scene, FrameGraph, NodeRenderGraphBuildState } from "../../../../index.js";
|
|
2
|
+
import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock";
|
|
3
|
+
import { Color4 } from "../../../../Maths/math.color";
|
|
4
|
+
import { FrameGraphClearTextureTask } from "../../../Tasks/Texture/clearTextureTask";
|
|
5
|
+
/**
|
|
6
|
+
* Block used to clear a texture
|
|
7
|
+
*/
|
|
8
|
+
export declare class NodeRenderGraphClearBlock extends NodeRenderGraphBlock {
|
|
9
|
+
protected _frameGraphTask: FrameGraphClearTextureTask;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the frame graph task associated with this block
|
|
12
|
+
*/
|
|
13
|
+
get task(): FrameGraphClearTextureTask;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new NodeRenderGraphClearBlock
|
|
16
|
+
* @param name defines the block name
|
|
17
|
+
* @param frameGraph defines the hosting frame graph
|
|
18
|
+
* @param scene defines the hosting scene
|
|
19
|
+
*/
|
|
20
|
+
constructor(name: string, frameGraph: FrameGraph, scene: Scene);
|
|
21
|
+
/** Gets or sets the clear color */
|
|
22
|
+
get color(): Color4;
|
|
23
|
+
set color(value: Color4);
|
|
24
|
+
/** Gets or sets a boolean indicating whether the color part of the texture should be cleared. */
|
|
25
|
+
get clearColor(): boolean;
|
|
26
|
+
set clearColor(value: boolean);
|
|
27
|
+
/** Gets or sets a boolean indicating whether the depth part of the texture should be cleared. */
|
|
28
|
+
get clearDepth(): boolean;
|
|
29
|
+
set clearDepth(value: boolean);
|
|
30
|
+
/** Gets or sets a boolean indicating whether the stencil part of the texture should be cleared. */
|
|
31
|
+
get clearStencil(): boolean;
|
|
32
|
+
set clearStencil(value: boolean);
|
|
33
|
+
/**
|
|
34
|
+
* Gets the current class name
|
|
35
|
+
* @returns the class name
|
|
36
|
+
*/
|
|
37
|
+
getClassName(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the texture input component
|
|
40
|
+
*/
|
|
41
|
+
get texture(): NodeRenderGraphConnectionPoint;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the output component
|
|
44
|
+
*/
|
|
45
|
+
get output(): NodeRenderGraphConnectionPoint;
|
|
46
|
+
protected _buildBlock(state: NodeRenderGraphBuildState): void;
|
|
47
|
+
protected _dumpPropertiesCode(): string;
|
|
48
|
+
serialize(): any;
|
|
49
|
+
_deserialize(serializationObject: any): void;
|
|
50
|
+
}
|