fglBlendEquationEXT(3G)

fglBlendEquationEXT - set the blend equation

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     fglBlendEquationEXT - set the blend equation


FORTRAN SPECIFICATION
     SUBROUTINE fglBlendEquationEXT( INTEGER*4 mode )


PARAMETERS
     mode  specifies how source and destination colors are combined.  It must
           be GL_FUNC_ADD_EXT, GL_FUNC_SUBTRACT_EXT,
           GL_FUNC_REVERSE_SUBTRACT_EXT, GL_MIN_EXT, GL_MAX_EXT, or
           GL_LOGIC_OP.


DESCRIPTION
     The blend equation determines how a new pixel (the ``source'' color) is
     combined with a pixel already in the framebuffer (the ``destination''
     color).

     GL_MIN_EXT
          sets the blend equation so that each component of the result color
          is the minimum of the corresponding components of the source and
          destination colors.

     GL_MAX_EXT
          sets the blend equation so that each component of the result color
          is the maximum of the corresponding components of the source and
          destination colors.

     GL_LOGIC_OP
          sets the blend equation so that each component of the result color
          is a bitwise logical combination of the corresponding components of
          the source and destination colors.  Use the fglLogicOp command to
          specify the logical operator.

     The remaining blend equations use the source and destination blend
     factors specified by fglBlendFunc.  See fglBlendFunc for a description of
     the various blend factors.

     In the equations that follow, source and destination color components are
     referred to as (Rs,Gs,Bs,As) and (Rd,Gd,Bd,Ad), respectively.  The result
     color is referred to as (Rr,Gr,Br,Ar).  The source and destination blend
     factors are denoted (sR,sG,sB,sA) and (dR,dG,dB,dA), respectively.  For
     these equations all color components are understood to have values
     between 0.0 and 1.0, inclusive.

     GL_FUNC_ADD_EXT
          sets the blend equation so that the source and destination data are
          added.  Each component of the source color is multiplied by the
          corresponding source factor, then each component of the destination
          color is multiplied by the corresponding destination factor.  The
          result is the componentwise sum of the two products, clamped to the
          range [0,1].

                             Rr = min(1,  Rs sR  +  Rd dR)
                             Gr = min(1,  Gs sG  +  Gd dG)
                             Br = min(1,  Bs sB  +  Bd dB)
                             Ar = min(1,  As sA  +  Ad dA)

     GL_FUNC_SUBTRACT_EXT
          Is like GL_FUNC_ADD_EXT except the product of the destination factor
          and the destination color is componentwise subtracted from the
          product of the source factor and the source color.  The result is
          clamped to the range [0,1].
                             Rr = max(0,  Rs sR  -  Rd dR)
                             Gr = max(0,  Gs sG  -  Gd dG)
                             Br = max(0,  Bs sB  -  Bd dB)
                             Ar = max(0,  As sA  -  Ad dA)

     GL_FUNC_REVERSE_SUBTRACT_EXT
          Is like GL_FUNC_ADD_EXT except the product of the source factor and
          the source color is componentwise subtracted from the product of the
          destination factor and the destination color.  The result is clamped
          to the range [0,1].
                             Rr = max(0,  Rd dR  -  Rs sR)
                             Gr = max(0,  Gd dG  -  Gs sG)
                             Br = max(0,  Bd dB  -  Bs sB)
                             Ar = max(0,  Ad dA  -  As sA)


     The GL_MIN_EXT and GL_MAX_EXT equations are useful for applications that
     analyze image data (image thresholding against a constant color, for
     example).  The GL_LOGIC_OP equation is most commonly used with GL_XOR for
     reversible drawing.  The GL_FUNC_ADD_EXT equation is useful for anti-
     aliasing and transparency, among other things.

     Initially the blend equation is set to GL_FUNC_ADD_EXT.

NOTES
     The GL_MIN_EXT, GL_MAX_EXT, and GL_LOGIC_OP equations do not use the
     source or destination factors, only the source and destination colors.

ERRORS
     GL_INVALID_ENUM is generated if mode is not one of GL_FUNC_ADD_EXT,
     GL_FUNC_SUBTRACT_EXT, GL_FUNC_REVERSE_SUBTRACT_EXT, GL_MAX_EXT,
     GL_MIN_EXT, or GL_LOGIC_OP.

     GL_INVALID_OPERATION is generated if fglBlendEquationEXT is executed
     between the execution of fglBegin and the corresponding execution of
     fglEnd.

ASSOCIATED GETS
     fglGet with an argument of GL_BLEND_EQUATION_EXT.

     fglGetString with an argument of GL_EXTENSIONS.
          This feature is not part of standard GL. The extensions string of
          fglGetString will contain the name blend_minmax if GL_MIN_EXT and
          GL_MAX_EXT are supported.  It will contain the name blend_logic_op
          if GL_LOGIC_OP is supported in RGB mode. It will contain the name
          blend_subtract if GL_FUNC_SUBTRACT_EXT and
          GL_FUNC_REVERSE_SUBTRACT_EXT are supported.


MACHINE DEPENDENCIES
     RealityEngine, RealityEngine2, and VTX systems do not support the use of
     blend factor GL_SRC_ALPHA_SATURATE with blend equation
     GL_FUNC_REVERSE_SUBTRACT_EXT; this combination produces incorrect
     results.


SEE ALSO
     fglGetString, fglBlendColorEXT, fglBlendFunc.