[ Previous | Next | Contents | Glossary | Home | Search ]
OpenGL 1.1 for AIX: Reference Manual

glAlphaFunc Subroutine


Specifies the alpha test function.


OpenGL C bindings library: libGL.a

C Syntax

void glAlphaFunc(GLenum Function,  GLclampf Reference)


Function 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 default function is GL_ALWAYS.
Reference Specifies the reference value to which incoming alpha values are compared. This value is clamped to the range 0 (zero) through 1 (one), where 0 represents the lowest possible alpha value, and 1 the highest possible value. The default reference is 0.


The alpha test discards fragments conditional on the outcome of a comparison between the incoming fragment's alpha value and a constant reference value. The glAlphaFunc subroutine specifies the reference and comparison function. The comparison is performed only if alpha testing is enabled. (See glEnable or glDisable of GL_ALPHA_TEST.)

The Function and Reference parameters specify the conditions under which the pixel is drawn. The incoming alpha value is compared to the Reference parameter using the function specified by Function. If the comparison passes, the incoming fragment is drawn, conditional on subsequent stencil and depth-buffer tests. If the comparison fails, no change is made to the frame buffer at that pixel location.

The comparison functions are:

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.

The glAlphaFunc subroutine operates on all pixel write operations, including those resulting from the scan conversion of points, lines, polygons, and bitmaps, and those resulting from pixel draw and copy operations. The glAlphaFunc subroutine does not affect screen clear operations.


Alpha testing is done only in RGBA mode.


GL_INVALID_ENUM Function is set to an unaccepted value.
GL_INVALID_OPERATION The glAlphaFunc subroutine is called between a call to glBegin and the corresponding call to glEnd.

Associated Gets

Associated gets for the glAlphaFunc subroutine are as follows. (See the glGet subroutine for more information.)

glGet with argument GL_ALPHA_TEST_FUNC

glGet with argument GL_ALPHA_TEST_REF

glIsEnabled with argument GL_ALPHA_TEST.


/usr/include/GL/gl.h Contains C language constants, variable type definitions, and ANSI function prototypes for OpenGL.

Related Information

The glBegin or glEnd subroutine, glBlendFunc subroutine, glClear subroutine, glDepthfunc subroutine, glEnable or glDisable subroutine, glStencilFunc subroutine.

OpenGL Overview.

[ Previous | Next | Contents | Glossary | Home | Search ]