{
    "Name": "VideoMaterial",
    "OverrideMaterial": "engine:engineDefaults.rematerialdefinition",
    "Parameters": {
        "Constants": {
            "YCbCrMatrixOption" : "0",
            "imageFunctionOption" : "0",
            "stereoModeOption" : "0",
            "hdrCroppingUVAABB" : "[0, 0, 0, 0]",
            "hdrCroppingUVScaleUp" : "[1, 1]",
            "colorSpaceConversionMatrix" : "[1.0,0.0,0.0, 0.0,1.0,0.0, 0.0,0.0,1.0]",
            "colorSpaceTransformationMatrix" : "[1.0,0.0,0.0, 0.0,1.0,0.0, 0.0,0.0,1.0]",
            "videoGammaToneCurveEnabled" : "false",
            "videoColorSpaceTransformationEnabled" : "false",
            "videoColorSpaceTransformationMatrix" : "[1.0,0.0,0.0, 0.0,1.0,0.0, 0.0,0.0,1.0]",
            "videoBrightnessScalingEnabled" : "false",
            "videoBrightnessScale" : "1.0",
            "videoGammaBoostEnabled" : "false",
            "imsColorOfFade" : "[0.0, 0.0, 0.0]",
            "imsColorFade" : "1.0",
            "uvTransformationMatrix" : "[1.0,0.0, 0.0,1.0]",
            "uvTransformationPivot" : "[0.5, 0.5]",
            "uvScaleVector" : "[1.0, 1.0]",
            "uvTranslationVector" : "[0.0, 0.0]",
            "uvMin": "[0.0, 0.0]",
            "uvMax": "[1.0, 1.0]",
            "uvCenter": "[0.5, 0.5]",
            "videoEdgeAABlendMode": "0",
            "videoUvHorizontalDisparityAdjustment" : "0.0"
        },
        "Buffers": {
            "clippingConstants" : "scene.clipping",
            "glowEffects" : "fallback.zeros2048bytes"
        },
        "Textures": {
            "stereoMaskTexture" : "fallback.white",
            "texturePlane0": "fallback.black",
            "texturePlane1": "fallback.black",
            "texturePlane2": "fallback.white",
            "texturePlane0ChannelID2": "fallback.black",
            "texturePlane1ChannelID2": "fallback.black",
            "texturePlane2ChannelID2": "fallback.white",
            "videoTexturePlane0[0]": "fallback.black",
            "videoTexturePlane1[0]": "fallback.black",
            "videoTexturePlane2[0]": "fallback.white",
            "videoTexturePlane0[1]": "fallback.black",
            "videoTexturePlane1[1]": "fallback.black",
            "videoTexturePlane2[1]": "fallback.white",
            "textureSpill": "fallback.black",
            "videoGammaToneCurvePowerFunctionTable": "fallback.white1D",
            "videoGammaBoostPowerFunctionTable": "fallback.white1D",
            "dmWarpedAlphaMask" : "rendergraph.DMWarpedAlphaMask"
        }
    },
    "DebugMappings": [
        {
            "Name": "VideoDebug",
            "Mappings": {
                "NoDebug": 0,
                "VertexUV": 1,
                "DerivedNormal": 2,
                "DerivedTangent": 3,
                "DerivedBitangent": 4,
                "FinalColor": 5,
                "FinalAlpha": 6,
                "Breakthrough": 7,
                "DistanceToGazeHitPoint": 8,
                "DepthMitigation": 9,
                "DepthMitigationDarkening": 10,
                "PerPixelNearFieldVignetting": 11
            }
        }
    ],
    "Techniques": [
        {
            "Name": "VideoColor",
            "VertexShader": {
                "Entry": "vsVideoPlayback"
            },
            "PixelShader": {
                "Entry": "fsVideoColorPlayback"
            },
            "State" : {
                "PreferProgrammableBlending" : true,
                "AlphaBlend"                : true,
                "AlphaBlendOperation"       : "Add",
                "AlphaSourceFactor"         : "One",
                "AlphaDestinationFactor"    : "OneMinusSourceAlpha",
                "RgbBlendOperation"         : "Add",
                "RgbSourceFactor"           : "One",
                "RgbDestinationFactor"      : "OneMinusSourceAlpha",
                "WriteDepth"                : true,
                "DepthCompareFunction"      : "GreaterEqual"
            },
            "DebugMapping": "VideoDebug",
            "FunctionConstants" : {
                "EnableHDRCroppingUVRemapping" : "false",
                "EnableTriPlanarVideoSupport" : "false",
                "IFilter" : "0",
                "ExperienceMode" : "0",
                "EnableInverseToneMapping" : "false",
                "EnableVideoColorSpaceTransformation" : "false",
                "EnableClipping" : "false",
                "RenderToCompositeLayer" : "false",
                "EnableVideoColorTransformation" : "false",
                "EnableScreenVideoLetterBoxPadding" : "false",
                "EnableBtMask" : "false",
                "EnableDepthMitigation" : "false",
                "RenderForBlur" : "false",
                "EnableTransparency" : "true",
                "EnableSpatialFocus" : "false",
                "EnableGlow"         : "false",
                "PerceptualBlendingMode" : "0",
                "EnableNearFieldVignetting": "false"
            },
            "Variations" : {
              "EnableClipping"  : ["false", "true"],
              "RenderToCompositeLayer"  : ["false", "true"],
              "EnableTriPlanarVideoSupport" : ["false", "true"],
              "IFilter" : ["0", "1", "2"],
              "ExperienceMode" : ["0", "1", "2"],
              "EnableInverseToneMapping" : ["false", "true"],
              "EnableHDRCroppingUVRemapping" : ["false", "true"],
              "EnableVideoColorSpaceTransformation" : ["false", "true"],
              "EnableVideoColorTransformation" : ["false", "true"],
              "EnableScreenVideoLetterBoxPadding" : ["false", "true"],
              "EnableBtMask" : ["false", "true"],
              "EnableDepthMitigation" : ["false", "true"],
              "RenderForBlur" : ["false", "true"],
              "EnableSpatialFocus" : ["false", "true"],
              "EnableGlow" : ["false", "true"],
              "PerceptualBlendingMode" : ["0", "1", "2", "3"],
              "EnableNearFieldVignetting" : ["false", "true"]
            },
            "RuntimeFunctionConstantDefaults" : {
              "EnableClipping"  : "true",
              "RenderToCompositeLayer"  : "false",
              "EnableTriPlanarVideoSupport" : "true",
              "IFilter" : "0",
              "ExperienceMode" : "0",
              "EnableInverseToneMapping" : "true",
              "EnableHDRCroppingUVRemapping" : "true",
              "EnableVideoColorSpaceTransformation" : "true",
              "EnableVideoColorTransformation" : "true",
              "EnableScreenVideoLetterBoxPadding" : "true",
              "EnableBtMask" : "true",
              "EnableDepthMitigation" : "true",
              "RenderForBlur" : "false",
              "EnableSpatialFocus" : "true",
              "EnableGlow"         : "false",
              "PerceptualBlendingMode" : "0",
              "EnableNearFieldVignetting" : "false"
            },
            "SupportsRuntimeFunctionConstants" : true
        },
        {
            "Name": "VideoColorOpaque",
            "InheritFromTechnique": "VideoColor",
            "InheritState": false,
            "State" : {
                "WriteDepth"                : true,
                "DepthCompareFunction"      : "Greater"
            },
            "FunctionConstants" : {
                "EnableTransparency" : "false",
                "DisableFadeOpacity" : "true"
            },
            "Variations" : {
                "EnableBtMask" : []
            },
            "RuntimeFunctionConstantDefaults" : {
                "EnableBtMask" : "false"
            }
        },
        {
            "Name": "VideoDepthOnly",
            "InheritFromTechnique": "VideoColorOpaque",
            "InheritState": false,
            "State" : {
                "ColorWriteMask": "None",
                "WriteDepth": true,
                "DepthCompareFunction": "Greater"
            }
        },
        {
            "Name": "VideoColorFadeOpaque",
            "InheritFromTechnique": "VideoColor",
            "InheritState": true,
            "FunctionConstants" : {
                "EnableTransparency" : "false"
            }
        },
        {
            "Name": "VideoColorFadeOpaque_BackCompat",
            "InheritFromTechnique": "VideoColorFadeOpaque",
            "InheritState": true,
            "Tags" : {
                "Transparent_BackCompat" : "True"
            }
        }
    ],
    "TechniqueMapping": {
        "Opaque" : "VideoColorOpaque"
    },
    "TechniqueMappingOverrides": {
        "Fade": {
            "FadeDepthPrepass": "VideoDepthOnly",
            "FadeOpaque": "VideoColorFadeOpaque",
            "Transparent": "VideoColorFadeOpaque_BackCompat"
        }
    }
}
