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:

GL_NEVER

Never passes.

GL_LESS

Passes if the incoming alpha value is less than the reference value.

GL_EQUAL

Passes if the incoming alpha value is equal to the reference value.

GL_LEQUAL

Passes if the incoming alpha value is less than or equal to the reference
value.

GL_GREATER

Passes if the incoming alpha value is greater than the
reference value.

GL_NOTEQUAL

Passes if the incoming alpha value is not equal
to the reference value.

GL_GEQUAL

Passes if the incoming alpha value is
greater than or equal to the reference value.

GL_ALWAYS

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.