blend_subtract
Specification
Name
EXT_blend_subtract
Name Strings
GL_EXT_blend_subtract
Version
$Date: 1996/09/09 00:58:46 $ $Revision: 1.2 $
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 < mode > 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 < mode > 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 < mode > 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