1991-2006
Silicon Graphics, Inc.
glAlphaFunc
3G
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
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 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.
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 executed between the execution of glBegin
and the corresponding 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
Copyright
Copyright 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.