glBlendEquation - specify the equation used for both the RGB blend equation and the Alpha blend equation
void glBlendEquation(GLenum mode);
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||<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.
The GL_MIN, and GL_MAX equations do not use the source or destination factors, only the source and destination colors.
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.
glGet() with an argument of GL_BLEND_EQUATION_RGB
glGet() with an argument of GL_BLEND_EQUATION_ALPHA
glBlendColor(), glBlendFunc() glBlendFuncSeparate()
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.