{ "Type": "JsonSerialization", "Version": 1, "ClassName": "PassAsset", "ClassData": { "PassTemplate": { "Name": "ReflectionsParentPassTemplate", "PassClass": "ParentPass", "Slots": [ { "Name": "NormalInput", "SlotType": "Input", "ScopeAttachmentUsage": "Shader" }, { "Name": "SpecularF0Input", "SlotType": "Input", "ScopeAttachmentUsage": "Shader" }, { "Name": "AlbedoInput", "SlotType": "Input", "ScopeAttachmentUsage": "Shader" }, { "Name": "DepthStencilInputOutput", "SlotType": "InputOutput", "ScopeAttachmentUsage": "DepthStencil" }, { "Name": "SpecularInputOutput", "SlotType": "InputOutput", "ScopeAttachmentUsage": "RenderTarget" }, { "Name": "ReflectionOutput", "SlotType": "Output", "ScopeAttachmentUsage": "RenderTarget" } ], "Connections": [ { "LocalSlot": "ReflectionOutput", "AttachmentRef": { "Pass": "ReflectionProbeRenderInnerPass", "Attachment": "ReflectionInputOutput" } } ], "PassRequests": [ { "Name": "ReflectionProbeStencilPass", "TemplateName": "ReflectionProbeStencilPassTemplate", "Connections": [ { "LocalSlot": "DepthStencilInputOutput", "AttachmentRef": { "Pass": "Parent", "Attachment": "DepthStencilInputOutput" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "reflectionprobestencil", "PipelineViewTag": "MainCamera" } }, { "Name": "ReflectionProbeBlendWeightPass", "TemplateName": "ReflectionProbeBlendWeightPassTemplate", "Connections": [ { "LocalSlot": "DepthStencilTextureInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "DepthStencilInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "reflectionprobeblendweight", "PipelineViewTag": "MainCamera", "PassSrgShaderAsset": { "FilePath": "Shaders/Reflections/ReflectionProbeBlendWeight.shader" } } }, { "Name": "ReflectionGlobalFullscreenPass", "TemplateName": "ReflectionGlobalFullscreenPassTemplate", "Connections": [ { "LocalSlot": "DepthStencilTextureInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "NormalInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "NormalInput" } }, { "LocalSlot": "DepthStencilInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "SpecularF0Input", "AttachmentRef": { "Pass": "Parent", "Attachment": "SpecularF0Input" } }, { "LocalSlot": "AlbedoInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "AlbedoInput" } }, { "LocalSlot": "ReflectionBlendWeightInput", "AttachmentRef": { "Pass": "ReflectionProbeBlendWeightPass", "Attachment": "Output" } } ], "PassData": { "$type": "FullscreenTrianglePassData", "ShaderAsset": { "FilePath": "Shaders/Reflections/ReflectionGlobalFullscreen.shader" }, "StencilRef": 3, // See RenderCommon.h and ReflectionGlobalFullscreen.shader "PipelineViewTag": "MainCamera" } }, { "Name": "ReflectionProbeRenderOuterPass", "TemplateName": "ReflectionProbeRenderOuterPassTemplate", "Connections": [ { "LocalSlot": "ReflectionInputOutput", "AttachmentRef": { "Pass": "ReflectionGlobalFullscreenPass", "Attachment": "ReflectionOutput" } }, { "LocalSlot": "DepthStencilTextureInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "NormalInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "NormalInput" } }, { "LocalSlot": "DepthStencilInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "SpecularF0Input", "AttachmentRef": { "Pass": "Parent", "Attachment": "SpecularF0Input" } }, { "LocalSlot": "ReflectionBlendWeightInput", "AttachmentRef": { "Pass": "ReflectionProbeBlendWeightPass", "Attachment": "Output" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "reflectionproberenderouter", "PipelineViewTag": "MainCamera", "PassSrgShaderAsset": { "FilePath": "Shaders/Reflections/ReflectionProbeRenderOuter.shader" } } }, { "Name": "ReflectionProbeRenderInnerPass", "TemplateName": "ReflectionProbeRenderInnerPassTemplate", "Connections": [ { "LocalSlot": "ReflectionInputOutput", "AttachmentRef": { "Pass": "ReflectionProbeRenderOuterPass", "Attachment": "ReflectionInputOutput" } }, { "LocalSlot": "DepthStencilTextureInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "NormalInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "NormalInput" } }, { "LocalSlot": "DepthStencilInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "SpecularF0Input", "AttachmentRef": { "Pass": "Parent", "Attachment": "SpecularF0Input" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "reflectionproberenderinner", "PipelineViewTag": "MainCamera", "PassSrgShaderAsset": { "FilePath": "Shaders/Reflections/ReflectionProbeRenderInner.shader" } } }, { "Name": "ReflectionScreenSpacePass", "TemplateName": "ReflectionScreenSpacePassTemplate", "Enabled": false, "Connections": [ { "LocalSlot": "ReflectionInputOutput", "AttachmentRef": { "Pass": "ReflectionProbeRenderInnerPass", "Attachment": "ReflectionInputOutput" } }, { "LocalSlot": "NormalInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "NormalInput" } }, { "LocalSlot": "DepthStencilInput", "AttachmentRef": { "Pass": "ReflectionProbeStencilPass", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "SpecularF0Input", "AttachmentRef": { "Pass": "Parent", "Attachment": "SpecularF0Input" } }, { "LocalSlot": "SpecularInput", "AttachmentRef": { "Pass": "Parent", "Attachment": "SpecularInputOutput" } } ] } ] } } }