glAlphaFunc - specify the alpha test function
void glAlphaFunc(
GLenum func,
GLclampf ref );
Specifies the alpha comparison function. Symbolic constants
GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER,
GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The
initial value is GL_ALWAYS. Specifies the reference value
that incoming alpha values are compared to. This value is
clamped to the range [0, 1], where 0 represents the lowest
possible alpha value and 1 the highest possible value. The
initial reference value is 0.
The alpha test discards fragments depending on the outcome
of a comparison between an incoming fragment's alpha value
and a constant reference value. glAlphaFunc() specifies
the reference value and the comparison function. The comparison
is performed only if alpha testing is enabled. By
default, it is not enabled. (See glEnable() and glDisable()
of GL_ALPHA_TEST.)
func and ref specify the conditions under which the pixel
is drawn. The incoming alpha value is compared to ref
using the function specified by func. If the value passes
the comparison, the incoming fragment is drawn if it also
passes subsequent stencil and depth buffer tests. If the
value fails the comparison, no change is made to the frame
buffer at that pixel location. The comparison functions
are as follows: Never passes. Passes if the incoming
alpha value is less than the reference value. Passes if
the incoming alpha value is equal to the reference value.
Passes if the incoming alpha value is less than or equal
to the reference value. Passes if the incoming alpha
value is greater than the reference value. Passes if the
incoming alpha value is not equal to the reference value.
Passes if the incoming alpha value is greater than or
equal to the reference value. Always passes (initial
value).
glAlphaFunc() operates on all pixel write operations,
including those resulting from the scan conversion of
points, lines, polygons, and bitmaps, and from pixel draw
and copy operations. glAlphaFunc() does not affect screen
clear operations.
Alpha testing is performed only in RGBA mode.
GL_INVALID_ENUM is generated if func is not an accepted
value.
GL_INVALID_OPERATION is generated if glAlphaFunc() is executed
between the execution of glBegin() and the corresponding
execution of glEnd().
glGet() with argument GL_ALPHA_TEST_FUNC
glGet() with argument GL_ALPHA_TEST_REF
glIsEnabled() with argument GL_ALPHA_TEST
glBlendFunc(3), glClear(3), glDepthFunc(3), glEnable(3),
glStencilFunc(3)
glAlphaFunc(3G)
[ Back ] |