{
    "Name": "outline_edge",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "targetSize": "view.renderTargetSize",
            "selectionOutlineColor": "material.selectionOutlineColor",
            "manipulatorOutlineColor": "material.manipulatorOutlineColor",
            "behaviorTargetOutlineColor": "material.behaviorTargetOutlineColor",
            "outlineThicknessPx": "material.outlineThicknessPx"
        },
        "Buffers": {},
        "Textures": {
            "maskTexture" : "rendergraph.maskTexture"
        }
    },
    "Techniques": [
        {
            "Name": "Edge",
            "VertexShader": {
                "Entry": "vsOutlineEdge",
                "Library": "framework:com.apple.RCFoundation/default.metallib"
            },
            "PixelShader": {
                "Entry": "fsOutlineEdge",
                "Library": "framework:com.apple.RCFoundation/default.metallib"
            },
            "State" : {
                "AlphaBlend" : true,
                "WriteDepth" : false,
                "DepthCompareFunction" : "Always",
                "AlphaBlendOperation" : "Add",
                "AlphaSourceFactor" : "One",
                "AlphaDestinationFactor" : "OneMinusSourceAlpha",
                "RgbBlendOperation" : "Add",
                "RgbSourceFactor" : "One",
                "RgbDestinationFactor" : "OneMinusSourceAlpha",
                "AlphaToCoverage" : true
            }
        }
    ],
    "TechniqueMapping": {
        "OutlineEdgeTechnique": "Edge"
    }
}
