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

Calling this function is equivalent to calling glBlendEquationSeparate
with modeRGB and modeAlpha both set to the value of mode.

In the equations that follow, source and destination
color components are referred to as
RsGsBsAs
and
RdGdBdAd,
respectively.
The result color is referred to as
RrGrBrAr.
The source and destination blend factors are denoted
sRsGsBsA
and
dRdGdBdA,
respectively.
For these equations all color components are understood to have values
in the range
01.

Mode

RGB Components

Alpha Component

GL_FUNC_ADD

Rr=Rs⁢sR+Rd⁢dRGr=Gs⁢sG+Gd⁢dGBr=Bs⁢sB+Bd⁢dB

Ar=As⁢sA+Ad⁢dA

GL_FUNC_SUBTRACT

Rr=Rs⁢sR-Rd⁢dRGr=Gs⁢sG-Gd⁢dGBr=Bs⁢sB-Bd⁢dB

Ar=As⁢sA-Ad⁢dA

GL_FUNC_REVERSE_SUBTRACT

Rr=Rd⁢dR-Rs⁢sRGr=Gd⁢dG-Gs⁢sGBr=Bd⁢dB-Bs⁢sB

Ar=Ad⁢dA-As⁢sA

GL_MIN

Rr=min⁡RsRdGr=min⁡GsGdBr=min⁡BsBd

Ar=min⁡AsAd

GL_MAX

Rr=max⁡RsRdGr=max⁡GsGdBr=max⁡BsBd

Ar=max⁡AsAd

The results of these equations are clamped to the range
01.

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.