In-depth :: Statemaps
>> root\raw\statemaps

Statemaps use a switch-case syntax and are used to define effect-states for the current technique pass. Statemaps can fixate states, overwrite states,
define default values if no matching condition was found or simply pass the value that was set for the material in AssetManager.

Statemaps and their names are pretty self-explanatory so I wont go into much detail here.
I advice to not alter any stock statemaps. Create copies of them and change the name within your technique instead.

default_alpha.sm (custom)

alphaTest
{
    mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == InvSrcAlpha:  // if values in AssetManager
    mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == One:          // if values in AssetManager
        GT0;                                                                                                // assign GT0 to multiple cases
	
    default:            // overwise
        passthrough;    // use the value set in AssetManager
}

blendFunc
{
    default:
        Add, SrcAlpha, One;
}

separateAlphaBlendFunc
{
    default:
        Disable, One, Zero;
}

cullFace
{
    default:
        passthrough;
}

depthTest
{
    default:
        passthrough;
}

depthWrite
{
    default:
        Enable;
}

colorWrite
{
    default:
        Enable, Enable;
}

polygonOffset
{
    default:
        passthrough;
}

stencil
{
    default:
        passthrough;
}

wireframe
{
    default:
        Disable;
}

Techniques