{ "Type": "JsonSerialization", "Version": 1, "ClassName": "PassAsset", "ClassData": { "PassTemplate": { "Name": "ShadowParentTemplate", "PassClass": "ParentPass", "Slots": [ // Inputs... { "Name": "SkinnedMeshes", "SlotType": "Input" }, // Outputs... { "Name": "DirectionalShadowmap", "SlotType": "Output" }, { "Name": "DirectionalESM", "SlotType": "Output" }, { "Name": "ProjectedShadowmap", "SlotType": "Output" }, { "Name": "ProjectedESM", "SlotType": "Output" }, // SwapChain here is only used to reference the frame height and format { "Name": "SwapChainOutput", "SlotType": "InputOutput" } ], "Connections": [ { "LocalSlot": "DirectionalShadowmap", "AttachmentRef": { "Pass": "CascadedShadowmapsPass", "Attachment": "Shadowmap" } }, { "LocalSlot": "DirectionalESM", "AttachmentRef": { "Pass": "EsmShadowmapsPassDirectional", "Attachment": "EsmShadowmaps" } }, { "LocalSlot": "ProjectedShadowmap", "AttachmentRef": { "Pass": "ProjectedShadowmapsPass", "Attachment": "Shadowmap" } }, { "LocalSlot": "ProjectedESM", "AttachmentRef": { "Pass": "EsmShadowmapsPassProjected", "Attachment": "EsmShadowmaps" } } ], "PassRequests": [ { "Name": "CascadedShadowmapsPass", "TemplateName": "CascadedShadowmapsTemplate", "PassData": { "$type": "RasterPassData", "DrawListTag": "shadow", "PipelineViewTag": "DirectionalLightView" }, "Connections": [ { "LocalSlot": "SkinnedMeshes", "AttachmentRef": { "Pass": "Parent", "Attachment": "SkinnedMeshes" } } ] }, { "Name": "ProjectedShadowmapsPass", "TemplateName": "ProjectedShadowmapsTemplate", "PassData": { "$type": "RasterPassData", "DrawListTag": "shadow", "PipelineViewTag": "ProjectedShadowView" }, "Connections": [ { "LocalSlot": "SkinnedMeshes", "AttachmentRef": { "Pass": "Parent", "Attachment": "SkinnedMeshes" } } ] }, { "Name": "EsmShadowmapsPassDirectional", "TemplateName": "EsmShadowmapsTemplate", "PassData": { "$type": "EsmShadowmapsPassData", "LightType": "directional" }, "Connections": [ { "LocalSlot": "DepthShadowmaps", "AttachmentRef": { "Pass": "CascadedShadowmapsPass", "Attachment": "Shadowmap" } } ] }, { "Name": "EsmShadowmapsPassProjected", "TemplateName": "EsmShadowmapsTemplate", "PassData": { "$type": "EsmShadowmapsPassData", "LightType": "projected" }, "Connections": [ { "LocalSlot": "DepthShadowmaps", "AttachmentRef": { "Pass": "ProjectedShadowmapsPass", "Attachment": "Shadowmap" } } ] } ] } } }