Name AMD_blend_minmax_factor Name Strings GL_AMD_blend_minmax_factor Contributors Graham Sellers Pierre Boudier Contact Graham Sellers, AMD (graham.sellers 'at' amd.com) Status Shipping. Version Last Modified Date: April 8, 2011 Author Revision: 3 Number 404 Dependencies The extension is written against the OpenGL 4.1 (Core) Specification. OpenGL 1.0 is required. Overview The EXT_blend_minmax extension extended the GL's blending functionality to allow the blending equation to be specified by the application. That extension introduced the MIN_EXT and MAX_EXT blend equations, which caused the result of the blend equation to become the minimum or maximum of the source color and destination color, respectively. The MIN_EXT and MAX_EXT blend equations, however, do not include the source or destination blend factors in the arguments to the min and max functions. This extension provides two new blend equations that produce the minimum or maximum of the products of the source color and source factor, and the destination color and destination factor. New Procedures and Functions None. New Tokens Accepted by the parameter of BlendEquation and BlendEquationi, and by the and parameters of BlendEquationSeparate and BlendEquationSeparatei: FACTOR_MIN_AMD 0x901C FACTOR_MAX_AMD 0x901D Additions to Chapter 2 of the OpenGL 4.1 (Core) Specification (OpenGL Operation) None. Additions to Chapter 3 of the OpenGL 4.1 (Core) Specification (Rasterization) None. Additions to Chapter 4 of the OpenGL 4.1 (Core) Specification (Per-Fragment Operations and the Frame Buffer) Modify the list of accepted tokens for , and in the description of BlendEquation{i} and BlendEquationSeparate{i}, p.262: "... , , must be one of FUNC_ADD, FUNC_SUBTRACT, FUNC_REVERSE_SUBTRACT, MIN, MAX, FACTOR_MIN_AMD, or FACTOR_MAX_AMD. ..." Add to Table 4.1: RGB and Alpha Blend Equations +-----------------+---------------------------+-----------------------------+ | Mode | RGB Components | Alpha Component | +-----------------+---------------------------+-----------------------------+ | FACTOR_MIN_AMD | R = min(Rs * Sr, Rd * Dr) | A = min(As * Sa, Ad * Da) | | | G = min(Gs * Sg, Gd * Dg) | | | | B = min(Bs * Sb, Bd * Db) | | +-----------------+---------------------------+-----------------------------+ | FACTOR_MAX_AMD | R = max(Rs * Sr, Rd * Dr) | A = max(As * Sa, Ad * Da) | | | G = max(Gs * Sg, Gd * Dg) | | | | B = max(Bs * Sb, Bd * Db) | | +-----------------+---------------------------+-----------------------------+ Additions to Chapter 5 of the OpenGL 4.1 (Core) Specification (Special Functions) None. Additions to Chapter 6 of the OpenGL 4.1 (Core) Specification (State and State Requests) None. Additions to Appendix A of the OpenGL 4.1 (Core) Specification (Invariance) None. Additions to the AGL/GLX/WGL Specifications None. Errors None. New State Modify Table 6.21: Pixel Operations (cont.) p.343 Change entries for BLEND_EQUATION_ALPHA and BLEND_EQUATION_RGB to: +----------------------+---------+---------------+---------------+-------------------------+-------+ | Get Value | Type | Get Command | Initial Value | Description | Sec. | +----------------------+---------+---------------+---------------+-------------------------+-------+ | BLEND_EQUATION_RGB | 8* x Z7 | GetIntegeri_v | FUNC_ADD | RGB Blending Equation | 4.1.7 | | | | | | for Draw Buffer i | | +----------------------+---------+---------------+---------------+-------------------------+-------+ | BLEND_EQUATION_ALPHA | 8* x Z7 | GetIntegeri_v | FUNC_ADD | Alpha Blending Equation | 4.1.7 | | | | | | for Draw Buffer i | | +----------------------+---------+---------------+---------------+-------------------------+-------+ * Note that the only change change is that BLEND_EQUATION_RGB and BLEND_EQUATION_ALPHA are now Z7 rather than Z5. Issues None, so far. Revision History Rev. Date Author Changes ---- -------- -------- ----------------------------------------- 3 04/08/2011 gsellers Fix typo bug in Table 4.1 (caught by Brian Paul) 2 09/15/2010 gsellers Update to stand against OpenGL 4.1 Add token values. Rename to AMD_blend_minmax_factor. 1 03/16/2010 gsellers Initial draft.