Friday, September 23, 2011

Depth and stencil testing in Flash 3D


Do scissor test – if fail discard output fragment and stop, else continue
Do depth test
If depth test passes
{
                If depthMask == true, then update depth buffer = source depth;
                Do stencil test
                if stencil test passes
                {
                                Update stencil buffer, according to actionOnBothPass  parameter, stencil reference setting
                                Send output color to blend function
                }
                else (stencil test fails)
                {
                                Update stencil buffer, according to actionOnDepthPassStencilFail parameter, stencil reference setting
                                Discard output color
                }
}
else //depth test fails
{
                Update stencil buffer, according to actionOnDepthFail parameter, stencil reference setting
                Discard output color
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.