Name EXT_blend_subtract Name Strings GL_EXT_blend_subtract Version $Date: 1995/03/31 04:40:39 $ $Revision: 1.4 $ Number 38 Dependencies EXT_blend_minmax affects the definition of this extension Overview Two additional blending equations are specified using the interface defined by EXT_blend_minmax. These equations are similar to the default blending equation, but produce the difference of its left and right hand sides, rather than the sum. Image differences are useful in many image processing applications. New Procedures and Functions None New Tokens Accepted by the parameter of BlendEquationEXT: FUNC_SUBTRACT_EXT 0x800A FUNC_REVERSE_SUBTRACT_EXT 0x800B Additions to Chapter 2 of the GL Specification (OpenGL Operation) None Additions to Chapter 3 of the GL Specification (Rasterization) None Additions to Chapter 4 of the GL Specification (Per-Fragment Operations and the Framebuffer) Two additional blending equations are defined. If BlendEquationEXT is called with set to FUNC_SUBTRACT_EXT, the blending equation becomes C' = (Cs * S) - (Cd * D) / 0.0 C' < 0.0 C = ( \ C' C' >= 0.0 where Cs and Cd are the source and destination colors, and S and D are as specified by BlendFunc. If BlendEquationEXT is called with set to FUNC_REVERSE_SUBTRACT_EXT, the blending equation becomes C' = (Cd * D) - (Cs * S) / 0.0 C' < 0.0 C = ( \ C' C' >= 0.0 In all cases the blending equation is evaluated separately for each color component. Additions to Chapter 5 of the GL Specification (Special Functions) None Additions to Chapter 6 of the GL Specification (State and State Requests) None Additions to the GLX Specification None GLX Protocol None Dependencies on EXT_blend_minmax If this extension is supported, but EXT_blend_minmax is not, then this extension effectively defines the procedure BlendEquationEXT, its parameter FUNC_ADD_EXT, and the query target BLEND_EQUATION_EXT, as described in EXT_blend_minmax. It is therefore as though EXT_blend_minmax were also supported, except that equations MIN_EXT and MAX_EXT are not supported. Errors INVALID_ENUM is generated by BlendEquationEXT if its single parameter is not FUNC_ADD_EXT, MIN_EXT, MAX_EXT, FUNC_SUBTRACT_EXT, or FUNC_REVERSE_SUBTRACT_EXT. INVALID_OPERATION is generated if BlendEquationEXT is executed between the execution of Begin and the corresponding execution to End. New State Get Value Get Command Type Initial Value Attribute --------- ----------- ---- ------------- --------- BLEND_EQUATION_EXT GetIntegerv Z5 FUNC_ADD_EXT color-buffer New Implementation Dependent State None