Provided by: opengl-4-man-doc_1.0~svn22917-1_all bug

NAME

       glBlendFuncSeparate - specify pixel arithmetic for RGB and alpha components separately

C SPECIFICATION


       void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);

       void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);

PARAMETERS

       buf
           For 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.

       glBlendFuncSeparate defines the operation of blending for all draw buffers when it is enabled.
       glBlendFuncSeparatei defines the operation of blending for a single draw buffer specified by buf when
       enabled for that draw buffer.  srcRGB specifies which method is used to scale the source RGB-color
       components.  dstRGB specifies which method is used to scale the destination RGB-color components.
       Likewise, srcAlpha specifies which method is used to scale the source alpha color component, and dstAlpha
       specifies which method is used to scale the destination alpha component. The possible methods are
       described in the following table. Each method defines four scale factors, one each for red, green, blue,
       and alpha.

       In the table and in subsequent equations, first source, second source and destination color components
       are referred to as R s0 G s0 B s0 A s0, R s1 G s1 B s1 A s1, and R d G d B d A d, respectively. The color
       specified by glBlendColor() is referred to as R c G c B c A c. They are understood to have integer values
       between 0 and k R k G k B k A, where

       and m R m G m B m A is the number of red, green, blue, and alpha bitplanes.

       Source and destination scale factors are referred to as s R s G s B s A and d R d G d B d A. All scale
       factors have range 0 1.

       ┌───────────────────────────────────┬────────────────────────────────────────────┬────────────────────────────────────────┐
       │                                   │                                            │                                        │
       │                         ParameterRGBAlpha          │
       │                                   │ FactorFactor                                 │
       │                                   │                                            │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ZERO                           │ 0                                          │ 0                                      │
       │                                   │                                 0          │                                        │
       │                                   │                                 0          │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE                            │ 1                                          │ 1                                      │
       │                                   │                                 1          │                                        │
       │                                   │                                 1          │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_SRC_COLOR                      │ R                                          │ A                                      │
       │                                   │                                     s0     │                                 s0     │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     R      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                     s0     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     B      │                                        │
       │                                   │                                     s0     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     B      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_SRC_COLOR            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                     1      │                                     A  │
       │                                   │                                            │                                     s0 │
       │                                   │                                 -          │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                            │                                     A  │
       │                                   │                                         R  │                                        │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         R  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         B  │                                        │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         B  │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_DST_COLOR                      │ R                                          │ A                                      │
       │                                   │                                     d      │                                 d      │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     R      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                     d      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     B      │                                        │
       │                                   │                                     d      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     B      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_DST_COLOR            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                            │                                     A  │
       │                                   │                                 -          │                                     d  │
       │                                   │                                            │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                         R  │                                     A  │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         R  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         B  │                                        │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         B  │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_SRC_ALPHA                      │ A                                          │ A                                      │
       │                                   │                                     s0     │                                 s0     │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     A      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     s0     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     s0     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_SRC_ALPHA            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                            │                                     A  │
       │                                   │                                 -          │                                     s0 │
       │                                   │                                            │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                         A  │                                     A  │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         s0 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_DST_ALPHA                      │ A                                          │ A                                      │
       │                                   │                                     d      │                                 d      │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     A      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     d      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     d      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_DST_ALPHA            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                            │                                     A  │
       │                                   │                                 -          │                                     d  │
       │                                   │                                            │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                         A  │                                     A  │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         d  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_CONSTANT_COLOR                 │ R                                          │ A                                      │
       │                                   │                                 c          │                             c          │
       │                                   │                                            │                                        │
       │                                   │                                 G          │                                        │
       │                                   │                                 c          │                                        │
       │                                   │                                            │                                        │
       │                                   │                                 B          │                                        │
       │                                   │                                 c          │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_CONSTANT_COLOR       │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                 A      │
       │                                   │                                            │                                 c      │
       │                                   │                                 -          │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     R      │                                        │
       │                                   │                                     c      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                     c      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     B      │                                        │
       │                                   │                                     c      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_CONSTANT_ALPHA                 │ A                                          │ A                                      │
       │                                   │                                 c          │                             c          │
       │                                   │                                            │                                        │
       │                                   │                                 A          │                                        │
       │                                   │                                 c          │                                        │
       │                                   │                                            │                                        │
       │                                   │                                 A          │                                        │
       │                                   │                                 c          │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_CONSTANT_ALPHA       │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                 A      │
       │                                   │                                            │                                 c      │
       │                                   │                                 -          │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     c      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     c      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     c      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_SRC_ALPHA_SATURATE             │ i                                          │ 1                                      │
       │                                   │                                 i          │                                        │
       │                                   │                                 i          │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_SRC1_COLOR                     │ R                                          │ A                                      │
       │                                   │                                     s1     │                                 s1     │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     R      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                     s1     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     G      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     B      │                                        │
       │                                   │                                     s1     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     B      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_SRC_COLOR            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                     1      │                                     A  │
       │                                   │                                            │                                     s1 │
       │                                   │                                 -          │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                            │                                     A  │
       │                                   │                                         R  │                                        │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         R  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         G  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         B  │                                        │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         B  │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_SRC1_ALPHA                     │ A                                          │ A                                      │
       │                                   │                                     s1     │                                 s1     │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                 k      │
       │                                   │                                     A      │                                 A      │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     s1     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     A      │                                        │
       │                                   │                                     s1     │                                        │
       │                                   │                                            │                                        │
       │                                   │                                     k      │                                        │
       │                                   │                                     A      │                                        │
       ├───────────────────────────────────┼────────────────────────────────────────────┼────────────────────────────────────────┤
       │ GL_ONE_MINUS_SRC_ALPHA            │ 1                                          │ 1                                      │
       │                                   │                                     1      │                                 -      │
       │                                   │                                     1      │                                        │
       │                                   │                                            │                                     A  │
       │                                   │                                 -          │                                     s1 │
       │                                   │                                            │                                        │
       │                                   │                                            │                                     k  │
       │                                   │                                         A  │                                     A  │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         A  │                                        │
       │                                   │                                         s1 │                                        │
       │                                   │                                            │                                        │
       │                                   │                                         k  │                                        │
       │                                   │                                         A  │                                        │
       └───────────────────────────────────┴────────────────────────────────────────────┴────────────────────────────────────────┘

       In the table,

       To determine the blended RGBA values of a pixel, the system uses the following equations:

       Despite the apparent precision of the above equations, blending arithmetic is not exactly specified,
       because blending operates with imprecise integer color values. However, a blend factor that should be
       equal to 1 is guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its
       multiplicand to 0. For example, when srcRGB is GL_SRC_ALPHA, dstRGB is GL_ONE_MINUS_SRC_ALPHA, and A s is
       equal to k A, the equations reduce to simple replacement:

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

       GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an accepted value.

       GL_INVALID_VALUE is generated by glBlendFuncSeparatei if buf is greater than or equal to the value of
       GL_MAX_DRAW_BUFFERS.

ASSOCIATED GETS

       glGet() with argument GL_BLEND_SRC_RGB

       glGet() with argument GL_BLEND_SRC_ALPHA

       glGet() with argument GL_BLEND_DST_RGB

       glGet() with argument GL_BLEND_DST_ALPHA

       glIsEnabled() with argument GL_BLEND

SEE ALSO

       glBlendColor(), glBlendFunc(), glBlendEquation(), glClear(), glDrawBuffer(), glEnable(), glLogicOp(),
       glStencilFunc()

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

AUTHORS

       opengl.org

opengl.org                                         10/22/2013                            GLBLENDFUNCSEPARATE(3G)