glAlphaFunc

王朝百科·作者佚名  2010-03-06  
宽屏版  字体: |||超大  

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 default function 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 default reference is 0.

DESCRIPTION

The alpha test discards fragments depending on the outcome of a comparison between the incoming fragment's alpha value and a constant reference value. glAlphaFunc specifies the reference and comparison function. The comparison is performed only if alpha testing is 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 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 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.

glAlphaFunc operates on all pixel writes, 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 done 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 called between a call to glBegin and the corresponding call to glEnd.

ASSOCIATED GETS

glGet with argument GL_ALPHA_TEST_FUNC

glGet with argument GL_ALPHA_TEST_REF

glIsEnabled with argument GL_ALPHA_TEST

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有