table of contents
GLBLENDEQUATIONSEPAR(3G) | OpenGL Manual | GLBLENDEQUATIONSEPAR(3G) |
NAME¶
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
modeRGB
modeAlpha
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 specifie 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 | <div> Rr = R s s R + R d d R </div> <div> Gr = G s s G + G d d G </div> <div> Br = B s s B + B d d B </div> | <div> Ar = A s s A + A d d A </div> |
GL_FUNC_SUBTRACT | <div> Rr = R s s R - R d d R </div> <div> Gr = G s s G - G d d G </div> <div> Br = B s s B - B d d B </div> | <div> Ar = A s s A - A d d A </div> |
GL_FUNC_REVERSE_SUBTRACT | <div> Rr = R d d R - R s s R </div> <div> Gr = G d d G - G s s G </div> <div> Br = B d d B - B s s B </div> | <div> Ar = A d d A - A s s A </div> |
GL_MIN | <div> Rr = min R s R d </div> <div> Gr = min G s G d </div> <div> Br = min B s B d </div> | <div> Ar = min A s A d </div> |
GL_MAX | <div> Rr = max R s R d </div> <div> Gr = max G s G d </div> <div> Br = max B s B d </div> | <div> Ar = max A s A d </div> |
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 © 2006 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/.
AUTHORS¶
opengl.org
05/02/2014 | opengl.org |