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
