glBlendEquationEXT(3G) OpenGL Reference glBlendEquationEXT(3G)
NAME
glBlendEquationEXT - set the blend equation
C SPECIFICATION
void glBlendEquationEXT( GLenum mode )
PARAMETERS
mode specifies how source and destination colors are combined. It must
be GLFUNCADDEXT, GLFUNCSUBTRACTEXT,
GLFUNCREVERSESUBTRACTEXT, GLMINEXT, GLMAXEXT, or
GLLOGICOP.
DESCRIPTION
The blend equation determines how a new pixel (the ``source'' color) is
combined with a pixel already in the framebuffer (the ``destination''
color).
GLMINEXT
sets the blend equation so that each component of the result color
is the minimum of the corresponding components of the source and
destination colors.
GLMAXEXT
sets the blend equation so that each component of the result color
is the maximum of the corresponding components of the source and
destination colors.
GLLOGICOP
sets the blend equation so that each component of the result color
is a bitwise logical combination of the corresponding components of
the source and destination colors. Use the glLogicOp command to
specify the logical operator.
The remaining blend equations use the source and destination blend
factors specified by glBlendFunc. See glBlendFunc for a description of
the various blend factors.
In the equations that follow, source and destination color components are
referred to as (Rs,Gs,Bs,As) and (Rd,Gd,Bd,Ad), respectively. The result
color is referred to as (Rr,Gr,Br,Ar). The source and destination blend
factors are denoted (sR,sG,sB,sA) and (dR,dG,dB,dA), respectively. For
these equations all color components are understood to have values
between 0.0 and 1.0, inclusive.
GLFUNCADDEXT
sets the blend equation so that the source and destination data are
added. Each component of the source color is multiplied by the
corresponding source factor, then each component of the destination
color is multiplied by the corresponding destination factor. The
Page 1
glBlendEquationEXT(3G) OpenGL Reference glBlendEquationEXT(3G)
result is the componentwise sum of the two products, clamped to the
range [0,1].
Rr = min(1, Rs sR + Rd dR)
Gr = min(1, Gs sG + Gd dG)
Br = min(1, Bs sB + Bd dB)
Ar = min(1, As sA + Ad dA)
GLFUNCSUBTRACTEXT
Is like GLFUNCADDEXT except the product of the destination factor
and the destination color is componentwise subtracted from the
product of the source factor and the source color. The result is
clamped to the range [0,1].
Rr = max(0, Rs sR - Rd dR)
Gr = max(0, Gs sG - Gd dG)
Br = max(0, Bs sB - Bd dB)
Ar = max(0, As sA - Ad dA)
GLFUNCREVERSESUBTRACTEXT
Is like GLFUNCADDEXT except the product of the source factor and
the source color is componentwise subtracted from the product of the
destination factor and the destination color. The result is clamped
to the range [0,1].
Rr = max(0, Rd dR - Rs sR)
Gr = max(0, Gd dG - Gs sG)
Br = max(0, Bd dB - Bs sB)
Ar = max(0, Ad dA - As sA)
The GLMINEXT and GLMAXEXT equations are useful for applications that
analyze image data (image thresholding against a constant color, for
example). The GLLOGICOP equation is most commonly used with GLXOR for
reversible drawing. The GLFUNCADDEXT equation is useful for anti-
aliasing and transparency, among other things.
Initially the blend equation is set to GLFUNCADDEXT.
NOTES
The GLMINEXT, GLMAXEXT, and GLLOGICOP equations do not use the
source or destination factors, only the source and destination colors.
ERRORS
GLINVALIDENUM is generated if mode is not one of GLFUNCADDEXT,
GLFUNCSUBTRACTEXT, GLFUNCREVERSESUBTRACTEXT, GLMAXEXT,
GLMINEXT, or GLLOGICOP.
GLINVALIDOPERATION is generated if glBlendEquationEXT is executed
between the execution of glBegin and the corresponding execution of
glEnd.
Page 2
glBlendEquationEXT(3G) OpenGL Reference glBlendEquationEXT(3G)
ASSOCIATED GETS
glGet with an argument of GLBLENDEQUATIONEXT.
glGetString with an argument of GLEXTENSIONS.
This feature is not part of standard GL. The extensions string of
glGetString will contain the name blendminmax if GLMINEXT and
GLMAXEXT are supported. It will contain the name blendlogicop
if GLLOGICOP is supported in RGB mode. It will contain the name
blendsubtract if GLFUNCSUBTRACTEXT and
GLFUNCREVERSESUBTRACTEXT are supported.
MACHINE DEPENDENCIES
RealityEngine, RealityEngine2, and VTX systems do not support the use of
blend factor GLSRCALPHASATURATE with blend equation
GLFUNCREVERSESUBTRACTEXT; this combination produces incorrect
results.
SEE ALSO
glGetString, glBlendColorEXT, glBlendFunc.
Page 3