{
    "Type": "JsonSerialization",
    "Version": 1,
    "ClassName": "PassAsset",
    "ClassData": {
        "PassTemplate": {
            "Name": "ForwardSubpassExampleTemplate",
            "PassClass": "RasterPass",
            "Slots": [
                // Inputs...
                {
                    "Name": "BRDFTextureInput",
                    "ShaderInputName": "m_brdfMap",
                    "SlotType": "Input",
                    "ScopeAttachmentUsage": "Shader"
                },
                // Outputs...
                {
                    "Name": "DepthOutput",
                    "SlotType": "Output",
                    "ScopeAttachmentUsage": "DepthStencil",
                    // Specifying the AspectFlags is very important
                    // when using Subpasses because it avoids Validation errors.
                    "ImageViewDesc": {
                        "AspectFlags": [
                            "Depth"
                        ]
                    },
                    "LoadStoreAction": {
                        "ClearValue": {
                            "Type": "DepthStencil"
                        },
                        "LoadAction": "Clear",
                        "LoadActionStencil": "DontCare",
                        "StoreActionStencil": "DontCare"
                    }
                },
                {
                    "Name": "LightingOutput",
                    "SlotType": "Output",
                    "ScopeAttachmentUsage": "RenderTarget",
                    "LoadStoreAction": {
                        "ClearValue": {
                            "Value": [
                                0.0,
                                0.0,
                                0.0,
                                0.0
                            ]
                        },
                        "LoadAction": "Clear",
                        "StoreAction": "Store"
                    }
                }
            ],
            "ImageAttachments": [          
                {
                    "Name": "DepthAttachment",
                    "SizeSource": {
                      "Source": {
                        "Pass": "Parent",
                        "Attachment": "PipelineOutput"
                      }
                    },
                    "ImageDescriptor": {
                      "Format": "D32_FLOAT_S8X24_UINT",
                      "SharedQueueMask": "Graphics"
                    }
                },
                {
                    "Name": "BRDFTexture",
                    "Lifetime": "Imported",
                    "AssetRef": {
                        "FilePath": "Textures/BRDFTexture.attimage"
                    }
                }
            ],
            "Connections": [
                {
                  "LocalSlot": "DepthOutput",
                  "AttachmentRef": {
                    "Pass": "This",
                    "Attachment": "DepthAttachment"
                  }
                },
                {
                    "LocalSlot": "LightingOutput",
                    "AttachmentRef": {
                        "Pass": "Parent",
                        "Attachment": "PipelineOutput"
                    }
                },
                {
                    "LocalSlot": "BRDFTextureInput",
                    "AttachmentRef": {
                        "Pass": "This",
                        "Attachment": "BRDFTexture"
                    }
                }
            ]
        }
    }
}
