{
    "Name": "MissingMaterial",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "divisions": "16"
        },
        "Textures": {
            "dmWarpedAlphaMask" : "rendergraph.DMWarpedAlphaMask",
            "textureVisualDepth": "rendergraph.VisualDepthTexture",
            "textureSUOcclusionAlphaMask": "rendergraph.SUOcclusionAlphaMask",
            "textureImmersiveEnvironmentMask": "rendergraph.immersiveEnvironmentMask",
            "textureBlueNoise" : "engine:blueNoise64RGBA8.ktx",
        }
    },
    "Techniques": [
        {
            "Name": "Missing",
            "VertexShader": {
                "Entry": "vsMissing"
            },
            "PixelShader": {
                "Entry": "fsMissingLinear"
            },
            "State" : {
                "AlphaBlend" : false,
                "WriteDepth" : true,
                "DepthCompareFunction" : "Greater"
            },
            "FunctionConstants" : {
                "PortalClippingMode"             : "0",
                "EnableDepthMitigation"          : "false",
                "EnableVisualDepthStaticOcclusion" : "false",
                "EnableSceneUnderstandingStaticOcclusion" : "false",
                "IsVisualDepthStaticOcclusionTextureAvailable" : "false",
                "EnableDitherTransitionToRenderFarPlane" : "false",
                "EnableBtMask"                   : "false",
                "EnableUIBlending"               : "false",
                "EnableSpatialFocus"             : "false",
                "EnableClipping"                 : "false",
                "RenderForBlur"                  : "false",
                "PerceptualBlendingMode"         : "0",
                "EnableNearFieldVignetting"      : "false"
            },
            "Variations" : {
                "PortalClippingMode"            : ["0", "1", "2", "3", "4"],
                "EnableDepthMitigation"         : ["false", "true"],
                "EnableVisualDepthStaticOcclusion"             : ["false", "true"],
                "EnableSceneUnderstandingStaticOcclusion" : ["false", "true"],
                "IsVisualDepthStaticOcclusionTextureAvailable" : ["false", "true"],
                "EnableDitherTransitionToRenderFarPlane" : ["false", "true"],
                "EnableBtMask"                  : ["false", "true"],
                "EnableUIBlending"              : ["false", "true"],
                "EnableNearFieldVignetting"     : ["false", "true"],
                "EnableSpatialFocus"            : ["false", "true"],
                "EnableClipping"                : ["false", "true"],
                "RenderForBlur"                 : ["false", "true"],
                "PerceptualBlendingMode"        : ["0", "1", "2", "3"]
            },
            "RuntimeFunctionConstantDefaults" : {
                "PortalClippingMode"             : "0",
                "EnableDepthMitigation"          : "true",
                "EnableVisualDepthStaticOcclusion" : "true",
                "EnableSceneUnderstandingStaticOcclusion" : "true",
                "IsVisualDepthStaticOcclusionTextureAvailable" : "true",
                "EnableDitherTransitionToRenderFarPlane" : "true",
                "EnableBtMask"                   : "true",
                "EnableUIBlending"               : "true",
                "EnableSpatialFocus"             : "true",
                "EnableClipping"                 : "true",
                "RenderForBlur"                  : "true",
                "PerceptualBlendingMode"         : "0",
                "EnableNearFieldVignetting"      : "true"
            },
            "SupportsRuntimeFunctionConstants" : true
        },
        {
            "Name": "MissingTransparent",
            "InheritFromTechnique": "Missing",
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending" : true,
                "AlphaBlend"                : true,
                "WriteDepth"                : true,
                "DepthCompareFunction"      : "GreaterEqual",
                "AlphaBlendOperation"       : "Add",
                "AlphaSourceFactor"         : "One",
                "AlphaDestinationFactor"    : "OneMinusSourceAlpha",
                "RgbBlendOperation"         : "Add",
                "RgbSourceFactor"           : "One",
                "RgbDestinationFactor"      : "OneMinusSourceAlpha"
            }
        },
        {
            "Name": "MissingTransparent_BackCompat",
            "InheritFromTechnique": "MissingTransparent",
            "InheritState": true,
            "Tags" : {
                "Transparent_BackCompat" : "True"
            }
        },
        {
            "Name": "SphericalMissing",
            "InheritFromTechnique": "Missing",
            "PixelShader": {
                "Entry": "fsMissingSpherical"
            },
            "InheritState": true
        },
        {
            "Name": "SphericalMissingTransparent",
            "InheritFromTechnique": "SphericalMissing",
            "InheritState": false,
            "State" : {
                "PreferProgrammableBlending" : true,
                "AlphaBlend"                : true,
                "WriteDepth"                : true,
                "DepthCompareFunction"      : "GreaterEqual",
                "AlphaBlendOperation"       : "Add",
                "AlphaSourceFactor"         : "One",
                "AlphaDestinationFactor"    : "OneMinusSourceAlpha",
                "RgbBlendOperation"         : "Add",
                "RgbSourceFactor"           : "One",
                "RgbDestinationFactor"      : "OneMinusSourceAlpha"
            }
        },
        {
            "Name": "SphericalMissingTransparent_BackCompat",
            "InheritFromTechnique": "SphericalMissingTransparent",
            "InheritState": true,
            "Tags" : {
                "Transparent_BackCompat" : "True"
            }
        },
        {
            "Name": "DepthOnly",
            "InheritFromTechnique": "Missing",
            "InheritState": false,
            "State" : {
                "ColorWriteMask" : "None",
                "WriteDepth": true,
                "DepthCompareFunction": "Greater"
            }
        }
    ],
    "TechniqueMapping": {
        "Opaque": "Missing",
        "Filter": "Missing"
    },
    "TechniqueMappingOverrides": {
        "Fade": {
            "FadeDepthPrepass": "DepthOnly",
            "FadeOpaque": "MissingTransparent",
            "Transparent": "MissingTransparent_BackCompat"
        }
    }
}
