glBlendFunc man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]

GLBLENDFUNC(3G)			 OpenGL Manual		       GLBLENDFUNC(3G)

NAME
       glBlendFunc - specify pixel arithmetic

C SPECIFICATION
       void glBlendFunc(GLenum sfactor, GLenum dfactor);

       void glBlendFunci(GLuint buf, GLenum sfactor, GLenum dfactor);

PARAMETERS
       buf
	   For glBlendFunci, specifies the index of the draw buffer for which
	   to set the blend function.

       sfactor
	   Specifies how the red, green, blue, and alpha source blending
	   factors are computed. The initial value is GL_ONE.

       dfactor
	   Specifies how the red, green, blue, and alpha destination blending
	   factors are computed. The following symbolic constants are
	   accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
	   GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA,
	   GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA.
	   GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA,
	   and GL_ONE_MINUS_CONSTANT_ALPHA. 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.

       glBlendFunc defines the operation of blending for all draw buffers when
       it is enabled.  glBlendFunci defines the operation of blending for a
       single draw buffer specified by buf when enabled for that draw buffer.
       sfactor specifies which method is used to scale the source color
       components.  dfactor specifies which method is used to scale the
       destination color components. Both parameters must be one of the
       following symbolic constants: GL_ZERO, GL_ONE, GL_SRC_COLOR,
       GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR,
       GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA,
       GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR,
       GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, GL_SRC_ALPHA_SATURATE,
       GL_SRC1_COLOR, GL_ONE_MINUS_SRC1_COLOR, GL_SRC1_ALPHA, and
       GL_ONE_MINUS_SRC1_ALPHA. 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. The scale factors described in the table, denoted
       f R f G f B f A, represent either source or destination factors. All
       scale factors have range 0 1.

       ┌──────────────────────────────────┬────────────────────────────────────────────┐
       │				  │					       │
       │			Parameter │					       │
       │				  │					       │
       │				  │					       │
       │				  │				    f	       │
       │				  │				    R	       │
       │				  │					       │
       │				  │				    f	       │
       │				  │				    G	       │
       │				  │					       │
       │				  │				    f	       │
       │				  │				    B	       │
       │				  │					       │
       │				  │				    f	       │
       │				  │				    A	       │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       ├──────────────────────────────────┼────────────────────────────────────────────┤
       │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  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    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      │
       │				  │					1      │
       │				  │					       │
       │				  │				    -	       │
       │				  │					       │
       │				  │					       │
       │				  │					    R  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    R  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    G  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    G  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    B  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    B  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    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      │
       │				  │					1      │
       │				  │					       │
       │				  │				    -	       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    s0 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    s0 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    s0 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    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      │
       │				  │					1      │
       │				  │					       │
       │				  │				    -	       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    A  │
       │				  │					    d  │
       │				  │					       │
       │				  │					    k  │
       │				  │					    A  │
       ├──────────────────────────────────┼────────────────────────────────────────────┤
       │GL_CONSTANT_COLOR		  │ R					       │
       │				  │				    c	       │
       │				  │					       │
       │				  │				    G	       │
       │				  │				    c	       │
       │				  │					       │
       │				  │				    B	       │
       │				  │				    c	       │
       │				  │					       │
       │				  │				    A	       │
       │				  │				    c	       │
       ├──────────────────────────────────┼────────────────────────────────────────────┤
       │GL_ONE_MINUS_CONSTANT_COLOR	  │ 1					       │
       │				  │					1      │
       │				  │					1      │
       │				  │					1      │
       │				  │					       │
       │				  │				    -	       │
       │				  │					       │
       │				  │					R      │
       │				  │					c      │
       │				  │					       │
       │				  │					G      │
       │				  │					c      │
       │				  │					       │
       │				  │					B      │
       │				  │					c      │
       │				  │					       │
       │				  │					A      │
       │				  │					c      │
       ├──────────────────────────────────┼────────────────────────────────────────────┤
       │GL_CONSTANT_ALPHA		  │ A					       │
       │				  │				    c	       │
       │				  │					       │
       │				  │				    A	       │
       │				  │				    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					       │
       │				  │				    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_SRC1_COLOR		  │ 1					       │
       │				  │					1      │
       │				  │					1      │
       │				  │					1      │
       │				  │					       │
       │				  │				    -	       │
       │				  │					       │
       │				  │					       │
       │				  │					    R  │
       │				  │					    s1 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    R  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    G  │
       │				  │					    s1 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    G  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    B  │
       │				  │					    s1 │
       │				  │					       │
       │				  │					    k  │
       │				  │					    B  │
       │				  │					       │
       │				  │					       │
       │				  │					       │
       │				  │					    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_SRC1_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
       sfactor is GL_SRC_ALPHA, dfactor is GL_ONE_MINUS_SRC_ALPHA, and A s is
       equal to k A, the equations reduce to simple replacement:

EXAMPLES
       Transparency is best implemented using blend function (GL_SRC_ALPHA,
       GL_ONE_MINUS_SRC_ALPHA) with primitives sorted from farthest to
       nearest. Note that this transparency calculation does not require the
       presence of alpha bitplanes in the frame buffer.

       Blend function (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) is also useful
       for rendering antialiased points and lines in arbitrary order.

       Polygon antialiasing is optimized using blend function
       (GL_SRC_ALPHA_SATURATE, GL_ONE) with polygons sorted from nearest to
       farthest. (See the glEnable(), glDisable() reference page and the
       GL_POLYGON_SMOOTH argument for information on polygon antialiasing.)
       Destination alpha bitplanes, which must be present for this blend
       function to operate correctly, store the accumulated coverage.

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 sfactor or dfactor is not an
       accepted value.

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

ASSOCIATED GETS
       glGet() with argument GL_BLEND_SRC

       glGet() with argument GL_BLEND_DST

       glIsEnabled() with argument GL_BLEND

SEE ALSO
       glBlendColor(), glBlendEquation(), glBlendFuncSeparate(), 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			  04/29/2014		       GLBLENDFUNC(3G)
[top]

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net