blob: 6a7857e75d9d0d269aceaf24efccabb538d58ddc [file] [log] [blame]
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 <mode> parameter of BlendEquation and BlendEquationi, and by
the <modeRGB> and <modeAlpha> 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 <mode>, <modeRGB> and <modeAlpha>
in the description of BlendEquation{i} and BlendEquationSeparate{i}, p.262:
"... <mode>, <modeRGB>, <modeAlpha> 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.