{
    "Name": "MXIOffscreenCommon",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "splitDepth" : "10000",
            "vertexStatusToDraw" : "0",
            "screenUVSubRect" : "[-1, 1, 1, 1]",
            "explicitMVP": "[1.0,0.0,0.0,0.0, 0.0,1.0,0.0,0.0, 0.0,0.0,1.0,0.0, 0.0,0.0,0.0,1.0]",
            "aspectRatio" : "0.75",
            "edgeMatteCornerRadius" : "0.1",
            "collapseTransform": "[1.0,0.0,0.0,0.0, 0.0,1.0,0.0,0.0, 0.0,0.0,1.0,0.0, 0.0,0.0,0.0,1.0]",
            "premultipliedAlpha" : true
        },
        "Buffers": {
            "mxiTextureAtlas" : "rendergraph.mxiTextureAtlas"
        }
    },
    "Techniques": [
        {
            "Name": "MXIOffscreen",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIDepthAsColor"
            },
            "InheritState": false,
            "State" : {
                "WriteDepth"           : true,
                "DepthCompareFunction" : "Always",
                "RenderAttachmentState" : [
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : true,
                        "AlphaBlendOperation"           : "Add",
                        "AlphaSourceFactor"             : "One",
                        "AlphaDestinationFactor"        : "OneMinusSourceAlpha",
                        "RgbBlendOperation"             : "Add",
                        "RgbSourceFactor"               : "One",
                        "RgbDestinationFactor"          : "OneMinusSourceAlpha"
                    },
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : true,
                        "AlphaBlendOperation"           : "Max",
                        "AlphaSourceFactor"             : "One",
                        "AlphaDestinationFactor"        : "One",
                        "RgbBlendOperation"             : "Max",
                        "RgbSourceFactor"               : "One",
                        "RgbDestinationFactor"          : "One"
                    }
                ]
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXIOffscreenOpaque",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIDepthAsColor"
            },
            "InheritState": false,
            "State" : {
                "WriteDepth"           : true,
                "DepthCompareFunction" : "Greater",
                "RenderAttachmentState" : [
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : false
                    },
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : true,
                        "AlphaBlendOperation"           : "Max",
                        "AlphaSourceFactor"             : "One",
                        "AlphaDestinationFactor"        : "One",
                        "RgbBlendOperation"             : "Max",
                        "RgbSourceFactor"               : "One",
                        "RgbDestinationFactor"          : "One"
                    }
                ]
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXIOffscreenTransparent",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIDepthAsColor"
            },
            "InheritState": false,
            "State" : {
                "WriteDepth"           : false,
                "DepthCompareFunction" : "Greater",
                "RenderAttachmentState" : [
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : true,
                        "AlphaBlendOperation"           : "Add",
                        "AlphaSourceFactor"             : "One",
                        "AlphaDestinationFactor"        : "OneMinusSourceAlpha",
                        "RgbBlendOperation"             : "Add",
                        "RgbSourceFactor"               : "One",
                        "RgbDestinationFactor"          : "OneMinusSourceAlpha"
                    },
                    {
                        "PreferProgrammableBlending"    : false,
                        "AlphaBlend"                    : true,
                        "AlphaBlendOperation"           : "Max",
                        "AlphaSourceFactor"             : "One",
                        "AlphaDestinationFactor"        : "One",
                        "RgbBlendOperation"             : "Max",
                        "RgbSourceFactor"               : "One",
                        "RgbDestinationFactor"          : "One"
                    }
                ]
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXICrackFill",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXI"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : false,
                "AlphaBlend"                    : true,
                "AlphaBlendOperation"           : "Add",
                "AlphaSourceFactor"             : "One",
                "AlphaDestinationFactor"        : "OneMinusSourceAlpha",
                "RgbBlendOperation"             : "Add",
                "RgbSourceFactor"               : "One",
                "RgbDestinationFactor"          : "OneMinusSourceAlpha",
                "WriteDepth"                    : true,
                "DepthCompareFunction"          : "Always"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXICrackFillOpaque",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXI"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : false,
                "AlphaBlend"                    : false,
                "AlphaBlendOperation"           : "Add",
                "AlphaSourceFactor"             : "One",
                "AlphaDestinationFactor"        : "OneMinusSourceAlpha",
                "RgbBlendOperation"             : "Add",
                "RgbSourceFactor"               : "One",
                "RgbDestinationFactor"          : "OneMinusSourceAlpha",
                "WriteDepth"                    : true,
                "DepthCompareFunction"          : "Greater"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXICrackFillTransparent",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXI"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : false,
                "AlphaBlend"                    : true,
                "AlphaBlendOperation"           : "Add",
                "AlphaSourceFactor"             : "One",
                "AlphaDestinationFactor"        : "OneMinusSourceAlpha",
                "RgbBlendOperation"             : "Add",
                "RgbSourceFactor"               : "One",
                "RgbDestinationFactor"          : "OneMinusSourceAlpha",
                "WriteDepth"                    : false,
                "DepthCompareFunction"          : "Greater"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXIEdgeProximity",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIEdgeProximity"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : true,
                "WriteDepth"                    : true,
                "DepthCompareFunction"          : "Always"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXIEdgeProximityOpaque",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIEdgeProximityOpaque"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : false,
                "AlphaBlend"                    : false,
                "WriteDepth"                    : true,
                "DepthCompareFunction"          : "Greater"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        },
        {
            "Name": "MXIEdgeProximityTransparent",
            "VertexShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "vsMXI"
            },
            "PixelShader": {
                "Library" : "engine:mxi.metallib",
                "Entry": "fsMXIEdgeProximity"
            },
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending"    : true,
                "WriteDepth"                    : true,
                "DepthCompareFunction"          : "Greater"
            },
            "FunctionConstants": {
                "EnableMultiUVs"        : "true"
            },
            "SupportsRuntimeFunctionConstants"      : true,
            "AllowRuntimeTechniqueStateOverride"    : true
        }
    ]
}
