GLALPHAFUNC() MachTen Programmer’s Manual GLALPHAFUNC()

NAME
glAlphaFunc - specify the alpha test function

C SPECIFICATION
void glAlphaFunc( GLenum func,
GLclampf ref )

PARAMETERS
func 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.

ref Specifies the reference value that incoming alpha
values are compared to. This value is clamped to
the range 0 through 1, where 0 represents the lowest
possible alpha value and 1 the highest possible
value. The initial reference value is 0.

DESCRIPTION
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 compari-
son 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.

NOTES
Alpha testing is performed only in RGBA mode.

ERRORS
GL_INVALID_ENUM is generated if func is not an accepted
value.

GL_INVALID_OPERATION is generated if glAlphaFunc is exe-
cuted between the execution of glBegin and the correspond-
ing execution of glEnd.

ASSOCIATED GETS
glGet with argument GL_ALPHA_TEST_FUNC
glGet with argument GL_ALPHA_TEST_REF
glIsEnabled with argument GL_ALPHA_TEST

SEE ALSO
glBlendFunc, glClear, glDepthFunc, glEnable, glStencilFunc

MachTen 2