table of contents
other versions
GLBLENDFUNCSEPARATE(3G) | [FIXME: manual] | GLBLENDFUNCSEPARATE(3G) |
NAME¶
glBlendFuncSeparate - specify pixel arithmetic for RGB and alpha components separatelyC SPECIFICATION¶
void
glBlendFuncSeparate(GLenum srcRGB,
GLenum dstRGB, GLenum srcAlpha,
GLenum dstAlpha);
void
glBlendFuncSeparatei(GLuint buf,
GLenum srcRGB, GLenum dstRGB,
GLenum srcAlpha,
GLenum dstAlpha);
PARAMETERS¶
bufFor glBlendFuncSeparatei, specifies the
index of the draw buffer for which to set the blend functions.
srcRGB
Specifies how the red, green, and blue
blending factors are computed. The initial value is GL_ONE.
dstRGB
Specifies how the red, green, and blue
destination blending factors are computed. The initial value is
GL_ZERO.
srcAlpha
Specified how the alpha source blending factor
is computed. The initial value is GL_ONE.
dstAlpha
Specified how the alpha destination blending
factor is computed. The initial value is GL_ZERO.
DESCRIPTION¶
Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use glEnable() and glDisable() with argument GL_BLEND to enable and disable blending.Parameter | RGB Factor | Alpha Factor |
GL_ZERO | 0 0 0 | 0 |
GL_ONE | 1 1 1 | 1 |
GL_SRC_COLOR | R s0 k R G s0 k G B s0 k B | A s0 k A |
GL_ONE_MINUS_SRC_COLOR | 1 1 1 1 - R s0 k R G s0 k G B s0 k B | 1 - A s0 k A |
GL_DST_COLOR | R d k R G d k G B d k B | A d k A |
GL_ONE_MINUS_DST_COLOR | 1 1 1 - R d k R G d k G B d k B | 1 - A d k A |
GL_SRC_ALPHA | A s0 k A A s0 k A A s0 k A | A s0 k A |
GL_ONE_MINUS_SRC_ALPHA | 1 1 1 - A s0 k A A s0 k A A s0 k A | 1 - A s0 k A |
GL_DST_ALPHA | A d k A A d k A A d k A | A d k A |
GL_ONE_MINUS_DST_ALPHA | 1 1 1 - A d k A A d k A A d k A | 1 - A d k A |
GL_CONSTANT_COLOR | R c G c B c | A c |
GL_ONE_MINUS_CONSTANT_COLOR | 1 1 1 - R c G c B c | 1 - A c |
GL_CONSTANT_ALPHA | A c A c A c | A c |
GL_ONE_MINUS_CONSTANT_ALPHA | 1 1 1 - A c A c A c | 1 - A c |
GL_SRC_ALPHA_SATURATE | i i i | 1 |
GL_SRC1_COLOR | R s1 k R G s1 k G B s1 k B | A s1 k A |
GL_ONE_MINUS_SRC_COLOR | 1 1 1 1 - R s1 k R G s1 k G B s1 k B | 1 - A s1 k A |
GL_SRC1_ALPHA | A s1 k A A s1 k A A s1 k A | A s1 k A |
GL_ONE_MINUS_SRC_ALPHA | 1 1 1 - A s1 k A A s1 k A A s1 k A | 1 - A s1 k A |
NOTES¶
Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 (K A), representing complete opacity, to 0.0 (0), representing complete transparency. When more than one color buffer is enabled for drawing, the GL performs blending separately for each enabled buffer, using the contents of that buffer for destination color. (See glDrawBuffer().) When dual source blending is enabled (i.e., one of the blend factors requiring the second color input is used), the maximum number of enabled draw buffers is given by GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, which may be lower than GL_MAX_DRAW_BUFFERS.ERRORS¶
ASSOCIATED GETS¶
SEE ALSO¶
COPYRIGHT¶
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/.05/30/2012 | [FIXME: source] |