{ "Name": "projectiveMeshShadowCaster", "OverrideMaterial": "engine:engineDefaults.rematerialdefinition", "Parameters": { "Constants": { "receiverDecayRateForCaster" : "1", "boundsDecayRateForCaster" : "1", "belowReceiverDecayRateForCaster" : "10", "receiverDepthNormalization" : "1", "casterBias" : "0", "receiverPlane": "[NAN, NAN, NAN, NAN]", "floorPlane": "[NAN, NAN, NAN, NAN]", "tileIndex": "-1" }, "Textures": { "textureTiledDepthPrepass": "fallback.white", "textureMippedDepthPrepass": "fallback.white" } }, "Techniques": [ { "Name": "meshShadowCaster", "VertexShader": { "Entry": "vsMeshShadowCaster" }, "PixelShader": { "Entry": "fsMeshShadowCaster" }, "State" : { "AlphaBlend" : true, "WriteDepth" : false, "DepthCompareFunction" : "Always", "AlphaBlendOperation" : "Max", "AlphaSourceFactor" : "One", "AlphaDestinationFactor" : "One", "RgbBlendOperation" : "Max", "RgbSourceFactor" : "One", "RgbDestinationFactor" : "One" }, "FunctionConstants" : { "EnableClipping" : "true" } }, { "Name": "meshShadowCasterProgrammableBlending", "VertexShader": { "Entry": "vsMeshShadowCaster" }, "PixelShader": { "Entry": "fsMeshShadowCasterProgrammableBlending" }, "State" : { "AlphaBlend" : true, "WriteDepth" : false, "DepthCompareFunction" : "Always", "AlphaBlendOperation" : "Max", "AlphaSourceFactor" : "One", "AlphaDestinationFactor" : "One", "RgbBlendOperation" : "Max", "RgbSourceFactor" : "One", "RgbDestinationFactor" : "One" }, "FunctionConstants" : { "EnableClipping" : "true" }, "DefaultVariations" : [ "ShadowCommon" ], "SupportsRuntimeFunctionConstants" : true } ], "TechniqueMapping": { "projectiveMeshShadowTechnique": "meshShadowCaster", "projectiveMeshShadowTechniqueProgrammableBlending": "meshShadowCasterProgrammableBlending" } }