# glBlendEquation

## Name

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

## C Specification

 void glBlendEquation( GLenum mode);

## Parameters

mode

specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, or GL_FUNC_REVERSE_SUBTRACT.

## 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.

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 $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$

The results of these equations are clamped to the range $0 1$.

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.

## Errors

GL_INVALID_ENUM is generated if mode is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, or GL_FUNC_REVERSE_SUBTRACT.

## Associated Gets

glGet with an argument of GL_BLEND_EQUATION_RGB

glGet with an argument of GL_BLEND_EQUATION_ALPHA