back  Return to list

GL_EXT_blend_func_separate
homeprevnext Name
  
    EXT_blend_func_separate  
  
homeprevnext Name Strings
  
    GL_EXT_blend_func_separate  
  
homeprevnext Version
  
    Date: 04/06/1999  Version 1.3  
  
homeprevnext Number
  
    173  
  
homeprevnext Dependencies
  
    None  
  
homeprevnext Overview
  
    Blending capability is extended by defining a function that allows  
    independent setting of the RGB and alpha blend factors for blend  
    operations that require source and destination blend factors.  It  
    is not always desired that the blending used for RGB is also applied  
    to alpha.  
  
homeprevnext New Procedures and Functions
  
    void BlendFuncSeparateEXT(enum sfactorRGB,  
                              enum dfactorRGB,  
                              enum sfactorAlpha,  
                              enum dfactorAlpha);  
  
homeprevnext New Tokens
  
    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,  
    GetFloatv, and GetDoublev:  
  
        BLEND_DST_RGB_EXT                  0x80C8  
        BLEND_SRC_RGB_EXT                  0x80C9  
        BLEND_DST_ALPHA_EXT                0x80CA  
        BLEND_SRC_ALPHA_EXT                0x80CB  
  
  
homeprevnext Additions to Chapter 2 of the 1.2 GL Specification (OpenGL Operation)
  
    None  
  
homeprevnext Additions to Chapter 3 of the 1.2 GL Specification (Rasterization)
  
    None  
  
homeprevnext Additions to Chapter 4 of the 1.2 GL Specification (Per-Fragment Operations and the Framebuffer)
  
    The RGB and alpha blend factors are separate.  The function  
    BlendFuncSeparateEXT allows the specification of the four factors.  
    Table 4.1 and Table 4.2 are modified as follows:  
  
     Value                     RGB Factors                   Alpha Factors  
     ------------------        ----------------------------  -------------  
     ZERO                      (0, 0, 0)                     0  
     ONE                       (1, 1, 1)                     1  
     DST_COLOR                 (Rd/Kr, Gd/Kg, Bd/Kb)         Ad/Ka  
     ONE_MINUS_DST_COLOR       (1-Rd/Kr, 1-Gd/Kg, 1-Bd/Kb)   1-Ad/Ka  
     SRC_ALPHA                 (As/Ka, As/Ka, As/Ka)         As/Ka  
     ONE_MINUS_SRC_ALPHA       (1-As/Ka, 1-As/Ka, 1-As/Ka)   1-As/Ka  
     DST_ALPHA                 (Ad/Ka, Ad/Ka, Ad/Ka)         Ad/Ka  
     ONE_MINUS_DST_ALPHA       (1-Ad/Ka, 1-Ad/Ka, 1-Ad/Ka)   1-Ad/Ka  
     CONSTANT_COLOR            (Rc, Gc, Bc)                  Ac  
     ONE_MINUS_CONSTANT_COLOR  (1-Rc, 1-Gc, 1-Bc)            1-Ac  
     CONSTANT_ALPHA            (Ac, Ac, Ac)                  Ac  
     ONE_MINUS_CONSTANT_ALPHA  (1-Ac, 1-Ac, 1-Ac)            1-Ac  
     SRC_ALPHA_SATURATE        (f, f, f)                     1  
  
     Value                     RGB Factors                   Alpha Factors  
     ------------------        ----------------------------  -------------  
     ZERO                      (0, 0, 0)                     0  
     ONE                       (1, 1, 1)                     1  
     SRC_COLOR                 (Rs/Kr, Gs/Kg, Bs/Kb)         As/Ka  
     ONE_MINUS_SRC_COLOR       (1-Rs/Kr, 1-Gs/Kg, 1-Bs/Kb)   1-As/Ka  
     SRC_ALPHA                 (As/Ka, As/Ka, As/Ka)         As/Ka  
     ONE_MINUS_SRC_ALPHA       (1-As/Ka, 1-As/Ka, 1-As/Ka)   1-As/Ka  
     DST_ALPHA                 (Ad/Ka, Ad/Ka, Ad/Ka)         Ad/Ka  
     ONE_MINUS_DST_ALPHA       (1-Ad/Ka, 1-Ad/Ka, 1-Ad/Ka)   1-Ad/Ka  
     CONSTANT_COLOR            (Rc, Gc, Bc)                  Ac  
     ONE_MINUS_CONSTANT_COLOR  (1-Rc, 1-Gc, 1-Bc)            1-Ac  
     CONSTANT_ALPHA            (Ac, Ac, Ac)                  Ac  
     ONE_MINUS_CONSTANT_ALPHA  (1-Ac, 1-Ac, 1-Ac)            1-Ac  
     SRC_ALPHA_SATURATE        (f, f, f)                     1  
  
    The commands that control blending are  
  
        void BlendFunc(enum src, enum dst)  
        void BlendFuncSeparateEXT(enum sfactorRGB, enum dfactorRGB,  
                                  enum sfactorAlpha, enum dfactorAlpha);  
  
    The BlendFunc command sets both source factors (RGB and alpha) and  
    destination factors (RGB and alpha) while BlendFuncSeparateEXT sets  
    the RGB factors independently from the alpha factors.  
  
homeprevnext Additions to Chapter 5 of the 1.2 GL Specification (Special Functions)
  
    None  
  
homeprevnext Additions to Chapter 6 of the 1.2 GL Specification (State and State Requests)
  
    The state required is four integers indicating the source and  
    destination blending functions for RGB and alpha.  The initial state  
    for both source functions is ONE.  The initial state for both  
    destination functions is ZERO.  
  
homeprevnext Additions to the GLX Specification
  
    None  
  
homeprevnext GLX Protocol
  
    A new GL rendering command is added. The following command is sent  
    to the server as part of a glXRender request:  
  
        BlendFuncSeparateEXT  
            2           20              rendering command length  
            2           4134            rendering command opcode  
            4           ENUM            sfactorRGB  
            4           ENUM            dfactorRGB  
            4           ENUM            sfactorAlpha  
            4           ENUM            dfactorAlpha  
  
homeprevnext Errors
  
    GL_INVALID_ENUM is generated if either sfactorRGB, dfactorRGB,  
    sfactorAlpha, or dfactorAlpha is not an accepted value.  
  
    GL_INVALID_OPERATION is generated if glBlendFunc is executed between  
    the execution of glBegin and the corresponding execution of glEnd.  
  
homeprevnext New State
  
    The get values BLEND_SRC and BLEND_DST return the RGB source and  
    destination factor, respectively.  
  
                                              Initial  
    Get Value             Get Command   Type  Value       Attribute  
    ---------             -----------   ----  -------     ------------  
    BLEND_SRC_RGB_EXT     GetFloatv     Z     ONE        color-buffer  
    BLEND_DST_RGB_EXT     GetFloatv     Z     ZERO       color-buffer  
    BLEND_SRC_ALPHA_EXT   GetFloatv     Z     ONE        color-buffer  
    BLEND_DST_ALPHA_EXT   GetFloatv     Z     ZERO       color-buffer  
  
homeprevnext New Implementation Dependent State
  
    None  
  
  
  
Valid XHTML 1.1! Valid CSS! Last update: November 14, 2006.
Cette page doit être lue avec un navigateur récent respectant le standard XHTML 1.1.