Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
具体的公式:
(referenceValue & readMask) comparisonFunction (stencilBufferValue & readMask) == ( Ref & ReadMask ) Comp (stencilBufferValue & ReadMask )
还有主要的就是 Pass : 模板测试通过之后,模板缓冲区进行相应的更新的操作,是保持当前值 不变,还是把模板缓冲区对应位置的模板值设为0等等。
之后就是WriteMask :当你进行写入一个值A到模板缓存去的时候,那用 R = A & WriteMask ,把R进行写入模板缓存中。