glBlendEquationSeparate — set the RGB blend equation and the alpha blend equation separately
void glBlendEquationSeparate( | GLenum | modeRGB, |
GLenum | modeAlpha) ; |
modeRGB
specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined.
It must be GL_FUNC_ADD
, GL_FUNC_SUBTRACT
,
GL_FUNC_REVERSE_SUBTRACT
, GL_MIN
, GL_MAX
.
modeAlpha
specifies the alpha blend equation, how the alpha component of the source and destination colors are combined.
It must be GL_FUNC_ADD
, GL_FUNC_SUBTRACT
,
GL_FUNC_REVERSE_SUBTRACT
, GL_MIN
, GL_MAX
.
The blend equations determines how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color). This function specifies one blend equation for the RGB-color components and one blend equation for the alpha component.
The blend equations use the source and destination blend factors specified by either glBlendFunc or glBlendFuncSeparate. See glBlendFunc or glBlendFuncSeparate for a description of the various blend factors.
In the equations that follow, source and destination
color components are referred to as
Mode | RGB Components | Alpha Component |
---|---|---|
GL_FUNC_ADD
|
|
|
GL_FUNC_SUBTRACT
|
|
|
GL_FUNC_REVERSE_SUBTRACT
|
|
|
GL_MIN
|
|
|
GL_MAX
|
|
|
The results of these equations are clamped to the range
The GL_MIN
and GL_MAX
equations are useful for applications
that analyze image data (image thresholding against a constant color,
for example).
The GL_FUNC_ADD
equation is useful
for antialiasing and transparency, among other things.
Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD
.
glBlendEquationSeparate
is available only if the GL version is 2.0 or greater.
The GL_MIN
, and GL_MAX
equations do not use
the source or destination factors, only the source and destination colors.
GL_INVALID_ENUM
is generated if either modeRGB
or modeAlpha
is not one of
GL_FUNC_ADD
, GL_FUNC_SUBTRACT
, GL_FUNC_REVERSE_SUBTRACT
,
GL_MAX
, or GL_MIN
.
GL_INVALID_OPERATION
is generated if glBlendEquationSeparate
is executed
between the execution of glBegin and the corresponding
execution of glEnd.
glGet with an argument of GL_BLEND_EQUATION_RGB
glGet with an argument of GL_BLEND_EQUATION_ALPHA
Copyright © 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.