# glBlendEquation

specify the equation used for both the RGB blend equation and the Alpha blend equation

## Signature

glBlendEquation( GLenum ( mode ) )-> void
glBlendEquation( )
glBlendEquationi( GLuint ( buf ) , GLenum ( mode ) )-> void
glBlendEquationi( buf , )

## Parameters

VariablesDescription
buf
for glBlendEquationi , specifies the index of the draw buffer for which to set the blend equation.
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 .

## Description

The blend equations determine how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color). This function sets both the RGB blend equation and the alpha blend equation to a single equation. glBlendEquationi specifies the blend equation for a single draw buffer whereas glBlendEquation sets the blend equation for all draw buffers.
These 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 $\left({\mathit{R}}_{\mathit{s}},{\mathit{G}}_{\mathit{s}},{\mathit{B}}_{\mathit{s}},{\mathit{A}}_{\mathit{s}}\right)$ and $\left({\mathit{R}}_{\mathit{d}},{\mathit{G}}_{\mathit{d}},{\mathit{B}}_{\mathit{d}},{\mathit{A}}_{\mathit{d}}\right)$ , respectively. The result color is referred to as $\left({\mathit{R}}_{\mathit{r}},{\mathit{G}}_{\mathit{r}},{\mathit{B}}_{\mathit{r}},{\mathit{A}}_{\mathit{r}}\right)$ . The source and destination blend factors are denoted $\left({\mathit{s}}_{\mathit{R}},{\mathit{s}}_{\mathit{G}},{\mathit{s}}_{\mathit{B}},{\mathit{s}}_{\mathit{A}}\right)$ and $\left({\mathit{d}}_{\mathit{R}},{\mathit{d}}_{\mathit{G}},{\mathit{d}}_{\mathit{B}},{\mathit{d}}_{\mathit{A}}\right)$ , respectively. For these equations all color components are understood to have values in the range $\left[0,1\right]$ .
Mode RGB Components Alpha Component
$\mathit{Rr}={\mathit{R}}_{\mathit{s}}{\mathit{s}}_{\mathit{R}}+{\mathit{R}}_{\mathit{d}}{\mathit{d}}_{\mathit{R}}$
$\mathit{Gr}={\mathit{G}}_{\mathit{s}}{\mathit{s}}_{\mathit{G}}+{\mathit{G}}_{\mathit{d}}{\mathit{d}}_{\mathit{G}}$
$\mathit{Br}={\mathit{B}}_{\mathit{s}}{\mathit{s}}_{\mathit{B}}+{\mathit{B}}_{\mathit{d}}{\mathit{d}}_{\mathit{B}}$
$\mathit{Ar}={\mathit{A}}_{\mathit{s}}{\mathit{s}}_{\mathit{A}}+{\mathit{A}}_{\mathit{d}}{\mathit{d}}_{\mathit{A}}$
GL_FUNC_SUBTRACT
$\mathit{Rr}={\mathit{R}}_{\mathit{s}}{\mathit{s}}_{\mathit{R}}-{\mathit{R}}_{\mathit{d}}{\mathit{d}}_{\mathit{R}}$
$\mathit{Gr}={\mathit{G}}_{\mathit{s}}{\mathit{s}}_{\mathit{G}}-{\mathit{G}}_{\mathit{d}}{\mathit{d}}_{\mathit{G}}$
$\mathit{Br}={\mathit{B}}_{\mathit{s}}{\mathit{s}}_{\mathit{B}}-{\mathit{B}}_{\mathit{d}}{\mathit{d}}_{\mathit{B}}$
$\mathit{Ar}={\mathit{A}}_{\mathit{s}}{\mathit{s}}_{\mathit{A}}-{\mathit{A}}_{\mathit{d}}{\mathit{d}}_{\mathit{A}}$
GL_FUNC_REVERSE_SUBTRACT
$\mathit{Rr}={\mathit{R}}_{\mathit{d}}{\mathit{d}}_{\mathit{R}}-{\mathit{R}}_{\mathit{s}}{\mathit{s}}_{\mathit{R}}$
$\mathit{Gr}={\mathit{G}}_{\mathit{d}}{\mathit{d}}_{\mathit{G}}-{\mathit{G}}_{\mathit{s}}{\mathit{s}}_{\mathit{G}}$
$\mathit{Br}={\mathit{B}}_{\mathit{d}}{\mathit{d}}_{\mathit{B}}-{\mathit{B}}_{\mathit{s}}{\mathit{s}}_{\mathit{B}}$
$\mathit{Ar}={\mathit{A}}_{\mathit{d}}{\mathit{d}}_{\mathit{A}}-{\mathit{A}}_{\mathit{s}}{\mathit{s}}_{\mathit{A}}$
GL_MIN
$\mathit{Rr}=\mathit{min}\left({\mathit{R}}_{\mathit{s}},{\mathit{R}}_{\mathit{d}}\right)$
$\mathit{Gr}=\mathit{min}\left({\mathit{G}}_{\mathit{s}},{\mathit{G}}_{\mathit{d}}\right)$
$\mathit{Br}=\mathit{min}\left({\mathit{B}}_{\mathit{s}},{\mathit{B}}_{\mathit{d}}\right)$
$\mathit{Ar}=\mathit{min}\left({\mathit{A}}_{\mathit{s}},{\mathit{A}}_{\mathit{d}}\right)$
GL_MAX
$\mathit{Rr}=\mathit{max}\left({\mathit{R}}_{\mathit{s}},{\mathit{R}}_{\mathit{d}}\right)$
$\mathit{Gr}=\mathit{max}\left({\mathit{G}}_{\mathit{s}},{\mathit{G}}_{\mathit{d}}\right)$
$\mathit{Br}=\mathit{max}\left({\mathit{B}}_{\mathit{s}},{\mathit{B}}_{\mathit{d}}\right)$
$\mathit{Ar}=\mathit{max}\left({\mathit{A}}_{\mathit{s}},{\mathit{A}}_{\mathit{d}}\right)$
The results of these equations are clamped to the range $\left[0,1\right]$ .
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 mode 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 glBlendEquationi 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