| 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 |