forked from Qortal/Brooklyn
62 lines
1.7 KiB
ReStructuredText
62 lines
1.7 KiB
ReStructuredText
.. _depth-stencil-alpha:
|
|
|
|
Depth, Stencil, & Alpha
|
|
=======================
|
|
|
|
These three states control the depth, stencil, and alpha tests, used to
|
|
discard fragments that have passed through the fragment shader.
|
|
|
|
Traditionally, these three tests have been clumped together in hardware, so
|
|
they are all stored in one structure.
|
|
|
|
During actual execution, the order of operations done on fragments is always:
|
|
|
|
* Alpha
|
|
* Stencil
|
|
* Depth
|
|
|
|
Depth Members
|
|
-------------
|
|
|
|
enabled
|
|
Whether the depth test is enabled.
|
|
writemask
|
|
Whether the depth buffer receives depth writes.
|
|
func
|
|
The depth test function. One of PIPE_FUNC.
|
|
|
|
Stencil Members
|
|
---------------
|
|
|
|
enabled
|
|
Whether the stencil test is enabled. For the second stencil, whether the
|
|
two-sided stencil is enabled. If two-sided stencil is disabled, the other
|
|
fields for the second array member are not valid.
|
|
func
|
|
The stencil test function. One of PIPE_FUNC.
|
|
valuemask
|
|
Stencil test value mask; this is ANDed with the value in the stencil
|
|
buffer and the reference value before doing the stencil comparison test.
|
|
writemask
|
|
Stencil test writemask; this controls which bits of the stencil buffer
|
|
are written.
|
|
fail_op
|
|
The operation to carry out if the stencil test fails. One of
|
|
PIPE_STENCIL_OP.
|
|
zfail_op
|
|
The operation to carry out if the stencil test passes but the depth test
|
|
fails. One of PIPE_STENCIL_OP.
|
|
zpass_op
|
|
The operation to carry out if the stencil test and depth test both pass.
|
|
One of PIPE_STENCIL_OP.
|
|
|
|
Alpha Members
|
|
-------------
|
|
|
|
enabled
|
|
Whether the alpha test is enabled.
|
|
func
|
|
The alpha test function. One of PIPE_FUNC.
|
|
ref_value
|
|
Alpha test reference value; used for certain functions.
|