{
    "Name": "GradientTransitionMaterialDefinition",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "topColor": "[1,0,0]",
            "bottomColor": "[0,1,0]",
            "topPosition": "0.60",
            "bottomPosition": "0.40",
            "opacity": "0.50"
        }
    },
    "Techniques": [{
        "Name": "Transparent",
        "VertexShader": {
            "Entry": "vsGradientTransition",
            "Library": "default.metallib"
        },
        "PixelShader": {
            "Entry": "fsGradientTransition",
            "Library": "default.metallib"
        },
        "State" : {
            "AlphaBlend"                : true,
            "WriteDepth"                : false,
            "DepthCompareFunction"      : "Always",
            "AlphaBlendOperation"       : "Add",
            "AlphaSourceFactor"         : "One",
            "AlphaDestinationFactor"    : "OneMinusSourceAlpha",
            "RgbBlendOperation"         : "Add",
            "RgbSourceFactor"           : "One",
            "RgbDestinationFactor"      : "OneMinusSourceAlpha"
        },
        "SupportsRuntimeFunctionConstants" : true,
        "PreloadOptions" : {
            "OverrideFlags" : [0, 2]
        }
    }, {
        "Name": "DepthOnly",
        "VertexShader": {
            "Entry": "vsGradientTransition",
            "Library": "default.metallib"
        },
        "State" : {
            "WriteDepth"                : true,
            "DepthCompareFunction"      : "Greater"
        },
        "SupportsRuntimeFunctionConstants" : true,
        "PreloadOptions" : {
            "OverrideFlags" : [0, 2]
        }
    }],
    "TechniqueGroups" : [{
        "Name": "GradientTransitionGroup",
        "Techniques" : ["Transparent", "DepthOnly"]
    }],
    "TechniqueMapping": {
        "Transparent": "GradientTransitionGroup"
    }
}
