fglBlendEquation(3G) OpenGL Reference fglBlendEquation(3G)NAME
fglBlendEquation - set the blend equation
FORTRAN SPECIFICATION
SUBROUTINE fglBlendEquation( INTEGER*4 mode )
PARAMETERS
mode specifies how source and destination colors are combined. It must
be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN,
GL_MAX, GL_ALPHA_MIN_SGIX, or GL_ALPHA_MAX_SGIX.
DESCRIPTION
The blend equation determines how a new pixel (the ``source'' color) is
combined with a pixel already in the framebuffer (the ``destination''
color).
GL_MIN
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.
GL_MAX
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.
GL_ALPHA_MIN_SGIX
sets the blend equation so that the result color is either the
source or destination color, according to whether the alpha
component of the source color is less than, or greater than or equal
to, the alpha component of the destination color, respectively.
GL_ALPHA_MAX_SGIX
sets the blend equation so that the result color is either the
source or destination color, according to whether the alpha
component of the source color is greater than, or less than or equal
to, the alpha component of the destination color, respectively.
The remaining blend equations use the source and destination blend
factors specified by fglBlendFunc. See fglBlendFunc for a description of
the various blend factors.
In the equations that follow, source and destination color components are
referred to as (R G B A ) and (R G B A ), respectively. The result
s, s, s, s d, d, d, d
color is referred to as (R G B A ). The source and destination blend
r, r, r, r
factors are denoted (s s s s ) and (d d d d ), respectively. For
R, G, B, A R, G, B, A
these equations all color components are understood to have values in the
range [0, 1].
Page 1
fglBlendEquation(3G) OpenGL Reference fglBlendEquation(3G)
GL_FUNC_ADD
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
result is the componentwise sum of the two products, clamped to the
range [0, 1].
Rr = min(1, R s + R d )
s R d R
Gr = min(1, G s + G d )
s G d G
Br = min(1, B s + B d )
s B d B
Ar = min(1, A s + A d )
s A d A
GL_FUNC_SUBTRACT
Is like GL_FUNC_ADD 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, R s - R d )
s R d R
Gr = max(0, G s - G d )
s G d G
Br = max(0, B s - B d )
s B d B
Ar = max(0, A s - A d )
s A d A
GL_FUNC_REVERSE_SUBTRACT
Is like GL_FUNC_ADD 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, R d - R s )
d R s R
Gr = max(0, G d - G s )
d G s G
Br = max(0, B d - B s )
d B s B
Ar = max(0, A d - A s )
d A s A
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, the blend equation is set to GL_FUNC_ADD.
NOTES
fglBlendEquation is part of the GL_ARB_imaging subset. fglBlendEquation
is present only if GL_ARB_imaging is returned when fglGetString is called
with GL_EXTENSIONS as its argument.
The GL_MIN, GL_MAX, GL_ALPHA_MIN_SGIX and GL_ALPHA_MAX_SGIX equations do
not use the source or destination factors, only the source and
destination colors.
Page 2
fglBlendEquation(3G) OpenGL Reference fglBlendEquation(3G)ERRORS
GL_INVALID_ENUM is generated if mode 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 fglBlendEquation is executed between
the execution of fglBegin and the corresponding execution of fglEnd.
ASSOCIATED GETS
fglGet with an argument of GL_BLEND_EQUATION
MACHINE DEPENDENCIES
The SGIX_blend_alpha_minmax extension is supported only on Octane2 VPro
systems.
SEE ALSO
fglGetString, fglBlendColor, fglBlendFunc
Page 3