Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL 2
OpenGL ES 3
OpenGL ES 2

# glBlendEquationSeparate

## Name

glBlendEquationSeparate — set the RGB blend equation and the alpha blend equation separately

## C Specification

`void glBlendEquationSeparate(` | GLenum modeRGB,
| GLenum modeAlpha`)`;

## Parameters

`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). This function specifies one blend equation for the RGB-color components and one blend equation for the alpha component.

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

## Associated Gets

glGet with an argument of `GL_BLEND_EQUATION_RGB`

glGet with an argument of `GL_BLEND_EQUATION_ALPHA`

## API Version Support

| OpenGL ES API Version
--- | ---
Function Name | 2.0 | 3.0 | 3.1
glBlendEquationSeparate | ✔ | ✔ | ✔

## See Also

glGetString, glBlendColor, glBlendEquation, glBlendFunc, glBlendFuncSeparate

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

Think you can improve this page? Edit this page on GitHub.