blob: 737e9df8d61d7c6f18746bfec9cf7c7fee6def44 [file] [log] [blame]
XXX - Not complete yet!!!
Name
SGIX_blend_cmultiply
Name Strings
GL_SGIX_blend_cmultiply
Version
$Date: 1999/04/06 06:51:38 $ $Revision: 1.2 $
Number
????
Dependencies
EXT_blend_minmax affects the definition of this extension
SGIX_COMPLEX or SGIX_REAL pixel formats is required
SGIX_FBConfig is required
SGIX_cbuffer is required
Overview
An additional blending equation is specified using the interface defined
by EXT_blend_minmax. This equation generates the product of two complex
input sources. Multiplying two complex images is useful for image
and signal processing applications; for example, it is another means
for computing convolution and correlation filters.
New Procedures and Functions
None
New Tokens
Accepted by the <mode> parameter of BlendEquationEXT:
FUNC_COMPLEX_MULTIPLY_EXT 0x601B
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)
An additional blending equation is defined. If BlendEquationEXT is
called with <mode> set to FUNC_COMPLEX_MULTIPLY_EXT, the blending equation
becomes
C_real' = (Cs_real * Cd_real) - (Cs_imaginary * Cd_imaginary)
C_imaginary' = (Cs_real * Cd_imaginary) + (Cs_imaginary * Cd_real)
where Cs_real and Cs_imaginary are the source real and imaginary
components and Cd_real and Cd_imaginary are the destination
components. The resulting image will also be composed of
real (C_real') and imaginary (C_imaginary') components.
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,
FUNC_REVERSE_SUBTRACT_EXT, FUNC_COMPLEX_MULTIPLY_EXT,
FUNC_COMPLEX_ADD_EXT, FUNC_COMPLEX_PHASE_EXT or FUNC_COMPLEX_MAGNITUDE_EXT.
INVALID_OPERATION is generated if BlendEquationEXT is executed with
parameter FUNC_COMPLEX_MULTIPLY_EXT or FUNC_COMPLEX_ADD_EXT and the
destination buffer is not an SGIX_cbuffer.
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 ?? FUNC_ADD_EXT color-buffer
New Implementation Dependent State
None