{
    "Name": "PortalMaterialDefinition",
    "OverrideMaterial": "engine:unlitCommon.rematerialdefinition",
    "Techniques": [
    {
        "Name": "StencilIncrement",
        "VertexShader": {
            "Entry": "vsIncrementStencil"
        },
        "PixelShader": {
            "Entry": "fsIncrementStencil"
        },
        "State" : {
            "ColorWriteMask" : "None",
            "AlphaBlend" : false,
            "WriteDepth" : true,
            "DepthCompareFunction" : "Greater"
        },
        "FunctionConstants" : {
            "EnableClipping"                 : "false",
            "EnableDitherFade"               : "false",
            "EnableBtMask"                   : "false",
            "EnableSpatialFocus"             : "false",
            "RenderForBlur"                  : "false",
            "EnableNearFieldVignetting"      : "false",
            "DitherRange"                    : "0.01"
        },
        "Variations" : {
            "EnableClipping"                 : ["true", "false"],
            "EnableDitherFade"               : ["true", "false"],
            "EnableBtMask"                   : ["true", "false"],
            "EnableSpatialFocus"             : ["true", "false"],
            "RenderForBlur"                  : ["true", "false"],
            "EnableNearFieldVignetting"      : ["true", "false"]
        },
         "RuntimeFunctionConstantDefaults" : {
            "EnableClipping"                 : "true",
            "EnableDitherFade"               : "true",
            "EnableBtMask"                   : "true",
            "EnableSpatialFocus"             : "true",
            "RenderForBlur"                  : "false",
            "EnableNearFieldVignetting"      : "true"
        },
        "SupportsRuntimeFunctionConstants" : true,
        "PreloadOptions" : {
            "PixelFormat" : [115, 81],
            "SampleCount" : [4, 1]
        }
    },
    {
        "Name": "DepthBufferClear",
        "VertexShader": {
            "Entry": "vsDepthClear"
        },
        "PixelShader": {
            "Entry": "fsClearDepthWithBlack"
        },
        "State" : {
            "AlphaBlend" : false,
            "WriteDepth" : true,
            "DepthCompareFunction" : "Always"
        },
        "FunctionConstants" : {
            "EnableUnlitTexture"             : "false",
            "EnableSRGBToLinearConversion"   : "false",
            "EnableVertexColor"              : "false",
            "EnableOpacityMap"               : "false"
        },
        "SupportsRuntimeFunctionConstants" : true
    },
    {
        "Name": "DepthBufferPatchAndStencilDecrement",
        "InheritFromTechnique": "StencilIncrement",
        "State" : {
            "WriteDepth" : true,
            "DepthCompareFunction" : "Always",
            "RenderAttachmentState" : [
                {
                    "AlphaBlend"                : true,
                    "AlphaBlendOperation"       : "Add",
                    "AlphaSourceFactor"         : "Zero",
                    "AlphaDestinationFactor"    : "SourceAlpha",
                    "RgbBlendOperation"         : "Add",
                    "RgbSourceFactor"           : "Zero",
                    "RgbDestinationFactor"      : "SourceAlpha"
                }
            ]
        },
        "FunctionConstants" : {
            "EnableAlphaWhenDithered"        : "true",
            "EnableDepthMitigation"          : "false",
            "DitherRange"                    : "0.01"
        },
        "Variations" : {
            "EnableDepthMitigation"          : ["true", "false"]
        },
         "RuntimeFunctionConstantDefaults" : {
            "EnableDepthMitigation"          : "true"
        }
    },
    {
        "Name": "DepthBufferPatchAndStencilDecrementNoFragmentFunctionTechnique",
        "VertexShader": {
            "Entry": "vsIncrementStencil"
        },
        "State" : {
            "WriteDepth" : true,
            "DepthCompareFunction" : "Always"
        }
    },
    {
        "Name": "DepthBufferPatchAndStencilDecrementWithNoColor",
        "InheritFromTechnique": "DepthBufferPatchAndStencilDecrement",
        "InheritState" : false,
        "State" : {
            "DepthCompareFunction" : "GreaterEqual",
            "WriteDepth" : true,
            "ColorWriteMask": "None"
        }
    }],
    "TechniqueMapping": {
        "StencilIncrement": "StencilIncrement",
        "DepthBufferClear": "DepthBufferClear",
        "DepthBufferPatchAndStencilDecrement": "DepthBufferPatchAndStencilDecrement",
        "DepthBufferPatchAndStencilDecrementNoFragmentFunction": "DepthBufferPatchAndStencilDecrementNoFragmentFunctionTechnique",

        "FadeDepthPrepass": "DepthBufferPatchAndStencilDecrementWithNoColor"
    }
}

