{
    "Name": "arProjectiveShadowPlaneDefinition",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "uvStart" : "[0, 0]",
            "uvScale" : "[1, 1]",
            "normalOffset" : "0.0"
        },
        "Textures": {
            "projectiveShadowMapTexture" : "rendergraph.BlurredShadowMapTexture"
        }
    },
    "Techniques": [
    {
        "Name": "RenderShadowReceiverPlane",
        "VertexShader": {
            "Entry": "vsRenderShadowReceiverPlane"
        },
        "PixelShader": {
            "Entry": "fsRenderShadowReceiverPlane"
        },
        "State" : {
                "WriteDepth"                : false,
                "DepthCompareFunction"      : "GreaterEqual",
                "RenderAttachmentState" : [
                    {
                        "AlphaBlend"                : true,
                        "AlphaBlendOperation"       : "Add",
                        "AlphaSourceFactor"         : "One",
                        "AlphaDestinationFactor"    : "OneMinusSourceAlpha",
                        "RgbBlendOperation"         : "Add",
                        "RgbSourceFactor"           : "One",
                        "RgbDestinationFactor"      : "OneMinusSourceAlpha"
                    },
                    {},
                    {},
                    {},
                    {}
                ]
            },
        "SupportsRuntimeFunctionConstants": true
    },
    {
        "Name": "RenderShadowReceiverPlaneDepth",
        "VertexShader": {
            "Entry": "vsRenderShadowReceiverPlane"
        },
        "State" : {
            "WriteDepth" : true,
            "DepthCompareFunction" : "Greater"
        },
        "SupportsRuntimeFunctionConstants": true
    }],
    "TechniqueMapping": {
        "ShadowReceiverPlaneDepthOnly": "RenderShadowReceiverPlaneDepth",
        "ShadowReceiverDepthOnly": "RenderShadowReceiverPlaneDepth",
        "ShadowReceiverPlaneTechnique": "RenderShadowReceiverPlane"
    }
}
