{
    "Name": "SFBVCABlur",
    "OverrideMaterial": "engine:pbrCommon.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "tintColor" : "[1, 1, 1, 0]"
        },
        "Textures": {
            "vcaBlurColor" : "fallback.graySrgbArray",
            "textureColor" : "fallback.blackArray"
        },
        "Buffers": {
            "gammaLUTs": "global.gammaLUTs"
        }
    },
    "Techniques": [
        {
            "Name": "SFBComposeVCABlur",
            "VertexShader": {
                "Entry": "vsRealityPbr"
            },
            "PixelShader": {
                "Entry": "fsSFBComposeVCABlur"
            },
            "State" : {
                "AlphaBlend" : false,
                "WriteDepth" : true,
                "DepthCompareFunction" : "Greater"
            },
            "FunctionConstants" : {
                "EnableVCABlurPlane" : "true",
                "EnableClipping" : "false",
                "RenderToCompositeLayer" : "false",
                "DisableFadeOpacity" : "true"
            },
            "Variations" : {
                "EnableClipping"         : ["false", "true"],
                "RenderToCompositeLayer" : ["false", "true"]
            },
            "RuntimeFunctionConstantDefaults" : {
                "EnableClipping" : "true",
                "RenderToCompositeLayer" : "false"
            },
            "SupportsRuntimeFunctionConstants" : true,
            "Tags" : {
                "VCABlur" : "True"
            }
        },
                {
            "Name": "SFBComposeVCABlurTransparent",
            "VertexShader": {
                "Entry": "vsRealityPbr"
            },
            "PixelShader": {
                "Entry": "fsSFBComposeVCABlur"
            },
            "State" : {
                "AlphaBlend" : true,
                "WriteDepth" : true,
                "DepthCompareFunction" : "GreaterEqual"
            },
            "FunctionConstants" : {
                "EnableVCABlurPlane" : "true",
                "EnableClipping" : "false",
                "RenderToCompositeLayer" : "false",
                "EnableBtMask" : "false",
                "EnableDepthMitigation" : "false",
                "EnableVisualDepthStaticOcclusion" : "false",
                "EnableSceneUnderstandingStaticOcclusion" : "false",
                "IsVisualDepthStaticOcclusionTextureAvailable" : "false"
            },
            "Variations" : {
                "EnableClipping"         : ["false", "true"],
                "RenderToCompositeLayer" : ["false", "true"],
                "EnableBtMask" : ["false", "true"],
                "EnableDepthMitigation" : ["false", "true"],
                "EnableVisualDepthStaticOcclusion"             : ["false", "true"],
                "EnableSceneUnderstandingStaticOcclusion" : ["false", "true"],
                "IsVisualDepthStaticOcclusionTextureAvailable" : ["false", "true"]
            },
            "RuntimeFunctionConstantDefaults" : {
                "EnableClipping" : "true",
                "RenderToCompositeLayer" : "false",
                "EnableBtMask" : "true",
                "EnableDepthMitigation" : "true",
                "EnableVisualDepthStaticOcclusion" : "true",
                "EnableSceneUnderstandingStaticOcclusion" : "true",
                "IsVisualDepthStaticOcclusionTextureAvailable" : "true"
            },
            "SupportsRuntimeFunctionConstants" : true,
            "Tags" : {
                "VCABlur" : "True"
            }
        },
        {
            "Name": "SFBCopyTextureBilinear",
            "VertexShader": {
                "Entry": "fullScreenVert"
            },
            "PixelShader": {
                "Entry": "fsSFBFullScreenDownScaleArray"
            },
            "State" : {
                "AlphaBlend" : false,
                "WriteDepth" : false,
                "DepthCompareFunction" : "Always"
            }
        },
        {
            "Name": "OnlyPlattersVS",
            "VertexShader": {
                "Entry": "vsUnlit"
            },
            "State" : {
                "AlphaBlend" : false,
                "WriteDepth" : false,
                "DepthCompareFunction" : "Always"
            },
            "FunctionConstants" : {
                "EnableUnlitTexture"             : "false",
                "EnableSRGBToLinearConversion"   : "false",
                "EnableVertexColor"              : "false",
                "EnableOpacityMap"               : "false"
            },
            "Tags" : {
                "VCABlur" : "True"
            }
        },
        {
            "Name": "OnlyPlattersBreakthrough",
            "VertexShader": {
                "Entry": "vsUnlit"
            },
            "PixelShader": {
                "Entry": "fsSFBStencilBreakthrough"
            },
            "State" : {
                "AlphaBlend" : false,
                "WriteDepth" : false,
                "DepthCompareFunction" : "Always"
            },
            "FunctionConstants" : {
                "EnableUnlitTexture"             : "false",
                "EnableSRGBToLinearConversion"   : "false",
                "EnableVertexColor"              : "false",
                "EnableOpacityMap"               : "false",
                "EnableBtMask"                   : "false"
            },
            "Variations" : {
                "EnableBtMask" : ["false", "true"]
            },
            "RuntimeFunctionConstantDefaults" : {
                "EnableBtMask" : "true"
            },
            "Tags" : {
                "VCABlur" : "True"
            },
            "SupportsRuntimeFunctionConstants" : true
        }
    ],
    "TechniqueMapping" : {
        "Opaque" : "SFBComposeVCABlur",
        "SFBCopyTextureBilinear" : "SFBCopyTextureBilinear",
        "PlattersOnly": "OnlyPlattersVS",
        "EnvironmentStencilPrepass" : "OnlyPlattersVS"
    },
    "TechniqueMappingOverrides": {
        "Fade": {
            "FadeDepthPrepass": "OnlyPlattersVS",
            "FadeOpaque": "SFBComposeVCABlurTransparent",
            "PlattersOnly": "OnlyPlattersBreakthrough"
        }
    }
}
