{ "Type": "JsonSerialization", "Version": 1, "ClassName": "PassAsset", "ClassData": { "PassTemplate": { "Name": "SsaoPipeline", "PassClass": "ParentPass", "Slots": [ { "Name": "PipelineOutput", "SlotType": "InputOutput" } ], "PassData": { "$type": "PassData", "PipelineGlobalConnections": [ { "GlobalName": "PipelineOutput", "Slot": "PipelineOutput" } ] }, "PassRequests": [ { "Name": "MorphTargetPass", "TemplateName": "MorphTargetPassTemplate" }, { "Name": "SkinningPass", "TemplateName": "SkinningPassTemplate", "Connections": [ { "LocalSlot": "SkinnedMeshOutputStream", "AttachmentRef": { "Pass": "MorphTargetPass", "Attachment": "MorphTargetDeltaOutput" } } ] }, { "Name": "RayTracingAccelerationStructurePass", "TemplateName": "RayTracingAccelerationStructurePassTemplate" }, { "Name": "DepthPrePass", "TemplateName": "DepthParentTemplate", "Connections": [ { "LocalSlot": "SkinnedMeshes", "AttachmentRef": { "Pass": "SkinningPass", "Attachment": "SkinnedMeshOutputStream" } }, { "LocalSlot": "PipelineOutput", "AttachmentRef": { "Pass": "PipelineGlobal", "Attachment": "PipelineOutput" } } ] }, { "Name": "LightCullingPass", "TemplateName": "LightCullingParentTemplate", "Connections": [ { "LocalSlot": "SkinnedMeshes", "AttachmentRef": { "Pass": "SkinningPass", "Attachment": "SkinnedMeshOutputStream" } }, { "LocalSlot": "DepthMSAA", "AttachmentRef": { "Pass": "DepthPrePass", "Attachment": "DepthMSAA" } }, { "LocalSlot": "PipelineOutput", "AttachmentRef": { "Pass": "Parent", "Attachment": "PipelineOutput" } } ] }, { "Name": "Shadows", "TemplateName": "ShadowParentTemplate", "Connections": [ { "LocalSlot": "SkinnedMeshes", "AttachmentRef": { "Pass": "SkinningPass", "Attachment": "SkinnedMeshOutputStream" } }, { "LocalSlot": "PipelineOutput", "AttachmentRef": { "Pass": "PipelineGlobal", "Attachment": "PipelineOutput" } }, { "LocalSlot": "Depth", "AttachmentRef": { "Pass": "DepthPrePass", "Attachment": "DepthMSAA" } } ] }, { "Name": "Forward", "TemplateName": "ForwardPassTemplate", "Connections": [ // Inputs... { "LocalSlot": "DirectionalLightShadowmap", "AttachmentRef": { "Pass": "Shadows", "Attachment": "DirectionalShadowmap" } }, { "LocalSlot": "ExponentialShadowmapDirectional", "AttachmentRef": { "Pass": "Shadows", "Attachment": "DirectionalESM" } }, { "LocalSlot": "ProjectedShadowmap", "AttachmentRef": { "Pass": "Shadows", "Attachment": "ProjectedShadowmap" } }, { "LocalSlot": "ExponentialShadowmapProjected", "AttachmentRef": { "Pass": "Shadows", "Attachment": "ProjectedESM" } }, { "LocalSlot": "TileLightData", "AttachmentRef": { "Pass": "LightCullingPass", "Attachment": "TileLightData" } }, { "LocalSlot": "LightListRemapped", "AttachmentRef": { "Pass": "LightCullingPass", "Attachment": "LightListRemapped" } }, // Input/Outputs... { "LocalSlot": "DepthStencilInputOutput", "AttachmentRef": { "Pass": "DepthPrePass", "Attachment": "DepthMSAA" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "forward", "PipelineViewTag": "MainCamera", "PassSrgShaderAsset": { "FilePath": "Shaders/ForwardPassSrg.shader" } } }, { "Name": "RayTracingAmbientOcclusionPass", "TemplateName": "RayTracingAmbientOcclusionPassTemplate", "Connections": [ { "LocalSlot": "InputDepth", "AttachmentRef": { "Pass": "Forward", "Attachment": "DepthStencilInputOutput" } }, { "LocalSlot": "WorldNormal", "AttachmentRef": { "Pass": "Forward", "Attachment": "NormalOutput" } } ] }, { "Name": "DebugWhiteTexture", "TemplateName": "FullscreenOutputOnlyTemplate", "ImageAttachments": [ { "Name": "OutputAttachment", "SizeSource": { "Source": { "Pass": "Parent", "Attachment": "PipelineOutput" } }, "FormatSource": { "Pass": "Parent", "Attachment": "PipelineOutput" } } ], "Connections": [ { "LocalSlot": "Output", "AttachmentRef": { "Pass": "This", "Attachment": "OutputAttachment" } } ], "PassData": { "$type": "FullscreenTrianglePassData", "ShaderDataMappings": { "ColorMappings": [ { "Name": "m_color", "Value": [ 1.0, 1.0, 1.0, 1.0 ] } ] }, "ShaderAsset": { "FilePath": "Shaders/PostProcessing/UniformColor.shader" } } }, { "Name": "Ssao", "TemplateName": "SsaoParentTemplate", "Connections": [ { "LocalSlot": "Modulate", "AttachmentRef": { "Pass": "DebugWhiteTexture", "Attachment": "Output" } }, { "LocalSlot": "DepthLinear", "AttachmentRef": { "Pass": "DepthPrePass", "Attachment": "DepthLinear" } } ] }, { "Name": "SelectorPass", "TemplateName": "SelectorPassTemplate", "Enabled": true, "Connections": [ { "LocalSlot": "Input1", "AttachmentRef": { "Pass": "RayTracingAmbientOcclusionPass", "Attachment": "OutputAO" } }, { "LocalSlot": "Input2", "AttachmentRef": { "Pass": "Ssao", "Attachment": "Output" } } ] }, { "Name": "DisplayMapperPass", "TemplateName": "DisplayMapperTemplate", "Enabled": true, "Connections": [ { "LocalSlot": "Input", "AttachmentRef": { "Pass": "SelectorPass", "Attachment": "Output" } }, { "LocalSlot": "PipelineOutput", "AttachmentRef": { "Pass": "Parent", "Attachment": "PipelineOutput" } } ], "PassData": { "$type": "DisplayMapperPassData", "DisplayMapperConfig": { "Name": "MainPipeline", "OperationType": "GammaSRGB", "LdrGradingLutEnabled": "False" } } }, { "Name": "ImGuiPass", "TemplateName": "ImGuiPassTemplate", "Enabled": true, "Connections": [ { "LocalSlot": "InputOutput", "AttachmentRef": { "Pass": "DisplayMapperPass", "Attachment": "Output" } } ], "PassData": { "$type": "ImGuiPassData", "IsDefaultImGui": true } }, { "Name": "2DPass", "TemplateName": "UIPassTemplate", "Enabled": true, "Connections": [ { "LocalSlot": "InputOutput", "AttachmentRef": { "Pass": "ImGuiPass", "Attachment": "InputOutput" } }, { "LocalSlot": "DepthInputOutput", "AttachmentRef": { "Pass": "DepthPrePass", "Attachment": "Depth" } } ], "PassData": { "$type": "RasterPassData", "DrawListTag": "2dpass", "PipelineViewTag": "MainCamera" } }, { "Name": "CopyToSwapChain", "TemplateName": "FullscreenCopyTemplate", "Connections": [ { "LocalSlot": "Input", "AttachmentRef": { "Pass": "2DPass", "Attachment": "InputOutput" } }, { "LocalSlot": "Output", "AttachmentRef": { "Pass": "Parent", "Attachment": "PipelineOutput" } } ] } ] } } }