1991-2006
Silicon Graphics, Inc.
2010-2013
Khronos Group
glBlendEquationSeparate
3G
glBlendEquationSeparate
set the RGB blend equation and the alpha blend equation separately
C Specification
void glBlendEquationSeparate
GLenum modeRGB
GLenum modeAlpha
void glBlendEquationSeparatei
GLuint buf
GLenum modeRGB
GLenum modeAlpha
Parameters
buf
for glBlendEquationSeparatei, specifies the index of the draw buffer for which
to set the blend equations.
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.
Description
The blend equations determines how a new pixel (the ''source'' color)
is combined with a pixel already in the framebuffer (the ''destination''
color). These functions specify one blend equation for the RGB-color
components and one blend equation for the alpha component. glBlendEquationSeparatei
specifies the blend equations for a single draw buffer whereas glBlendEquationSeparate
sets the blend equations for all draw buffers.
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
R
s
G
s
B
s
A
s
and
R
d
G
d
B
d
A
d
,
respectively.
The result color is referred to as
R
r
G
r
B
r
A
r
.
The source and destination blend factors are denoted
s
R
s
G
s
B
s
A
and
d
R
d
G
d
B
d
A
,
respectively.
For these equations all color components are understood to have values
in the range
0
1
.
Mode
RGB Components
Alpha Component
GL_FUNC_ADD
Rr
=
R
s
⁢
s
R
+
R
d
⁢
d
R
Gr
=
G
s
⁢
s
G
+
G
d
⁢
d
G
Br
=
B
s
⁢
s
B
+
B
d
⁢
d
B
Ar
=
A
s
⁢
s
A
+
A
d
⁢
d
A
GL_FUNC_SUBTRACT
Rr
=
R
s
⁢
s
R
-
R
d
⁢
d
R
Gr
=
G
s
⁢
s
G
-
G
d
⁢
d
G
Br
=
B
s
⁢
s
B
-
B
d
⁢
d
B
Ar
=
A
s
⁢
s
A
-
A
d
⁢
d
A
GL_FUNC_REVERSE_SUBTRACT
Rr
=
R
d
⁢
d
R
-
R
s
⁢
s
R
Gr
=
G
d
⁢
d
G
-
G
s
⁢
s
G
Br
=
B
d
⁢
d
B
-
B
s
⁢
s
B
Ar
=
A
d
⁢
d
A
-
A
s
⁢
s
A
GL_MIN
Rr
=
min
⁡
R
s
R
d
Gr
=
min
⁡
G
s
G
d
Br
=
min
⁡
B
s
B
d
Ar
=
min
⁡
A
s
A
d
GL_MAX
Rr
=
max
⁡
R
s
R
d
Gr
=
max
⁡
G
s
G
d
Br
=
max
⁡
B
s
B
d
Ar
=
max
⁡
A
s
A
d
The results of these equations are clamped to the range
0
1
.
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.
Notes
The GL_MIN, and GL_MAX equations do not use
the source or destination factors, only the source and destination colors.
Errors
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_VALUE is generated by glBlendEquationSeparatei if buf is greater
than or equal to the value of GL_MAX_DRAW_BUFFERS.
Associated Gets
glGet with an argument of GL_BLEND_EQUATION_RGB
glGet with an argument of GL_BLEND_EQUATION_ALPHA
See Also
glGetString,
glBlendColor,
glBlendFunc,
glBlendFuncSeparate
Copyright
Copyright 1991-2006 Silicon Graphics, Inc.
Copyright 2010-2013 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/.