• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    AMD_blend_minmax_factor
4
5
6Name Strings
7
8    GL_AMD_blend_minmax_factor
9
10
11Contributors
12
13    Graham Sellers
14    Pierre Boudier
15
16Contact
17
18    Graham Sellers, AMD (graham.sellers 'at' amd.com)
19
20
21Status
22
23    Shipping.
24
25
26Version
27
28    Last Modified Date:         April 8, 2011
29    Author Revision:            3
30
31
32Number
33
34    404
35
36Dependencies
37
38    The extension is written against the OpenGL 4.1 (Core) Specification.
39
40    OpenGL 1.0 is required.
41
42Overview
43
44    The EXT_blend_minmax extension extended the GL's blending functionality
45    to allow the blending equation to be specified by the application. That
46    extension introduced the MIN_EXT and MAX_EXT blend equations, which caused the
47    result of the blend equation to become the minimum or maximum of the source
48    color and destination color, respectively.
49
50    The MIN_EXT and MAX_EXT blend equations, however, do not include the source
51    or destination blend factors in the arguments to the min and max functions.
52    This extension provides two new blend equations that produce the minimum
53    or maximum of the products of the source color and source factor, and the
54    destination color and destination factor.
55
56New Procedures and Functions
57
58    None.
59
60New Tokens
61
62    Accepted by the <mode> parameter of BlendEquation and BlendEquationi, and by
63    the <modeRGB> and <modeAlpha> parameters of BlendEquationSeparate and
64    BlendEquationSeparatei:
65
66        FACTOR_MIN_AMD                              0x901C
67        FACTOR_MAX_AMD                              0x901D
68
69Additions to Chapter 2 of the OpenGL 4.1 (Core) Specification (OpenGL Operation)
70
71    None.
72
73Additions to Chapter 3 of the OpenGL 4.1 (Core) Specification (Rasterization)
74
75    None.
76
77Additions to Chapter 4 of the OpenGL 4.1 (Core) Specification (Per-Fragment
78Operations and the Frame Buffer)
79
80    Modify the list of accepted tokens for <mode>, <modeRGB> and <modeAlpha>
81    in the description of BlendEquation{i} and BlendEquationSeparate{i}, p.262:
82
83    "... <mode>, <modeRGB>, <modeAlpha> must be one of FUNC_ADD, FUNC_SUBTRACT,
84    FUNC_REVERSE_SUBTRACT, MIN, MAX, FACTOR_MIN_AMD, or FACTOR_MAX_AMD. ..."
85
86    Add to Table 4.1: RGB and Alpha Blend Equations
87
88    +-----------------+---------------------------+-----------------------------+
89    | Mode            | RGB Components            | Alpha Component             |
90    +-----------------+---------------------------+-----------------------------+
91    | FACTOR_MIN_AMD  | R = min(Rs * Sr, Rd * Dr) | A = min(As * Sa, Ad * Da)   |
92    |                 | G = min(Gs * Sg, Gd * Dg) |                             |
93    |                 | B = min(Bs * Sb, Bd * Db) |                             |
94    +-----------------+---------------------------+-----------------------------+
95    | FACTOR_MAX_AMD  | R = max(Rs * Sr, Rd * Dr) | A = max(As * Sa, Ad * Da)   |
96    |                 | G = max(Gs * Sg, Gd * Dg) |                             |
97    |                 | B = max(Bs * Sb, Bd * Db) |                             |
98    +-----------------+---------------------------+-----------------------------+
99
100Additions to Chapter 5 of the OpenGL 4.1 (Core) Specification (Special Functions)
101
102    None.
103
104Additions to Chapter 6 of the OpenGL 4.1 (Core) Specification (State and
105State Requests)
106
107    None.
108
109Additions to Appendix A of the OpenGL 4.1 (Core) Specification (Invariance)
110
111    None.
112
113Additions to the AGL/GLX/WGL Specifications
114
115    None.
116
117Errors
118
119    None.
120
121New State
122
123    Modify Table 6.21: Pixel Operations (cont.) p.343
124
125    Change entries for BLEND_EQUATION_ALPHA and BLEND_EQUATION_RGB to:
126
127    +----------------------+---------+---------------+---------------+-------------------------+-------+
128    | Get Value            | Type    | Get Command   | Initial Value | Description             | Sec.  |
129    +----------------------+---------+---------------+---------------+-------------------------+-------+
130    | BLEND_EQUATION_RGB   | 8* x Z7 | GetIntegeri_v | FUNC_ADD      | RGB Blending Equation   | 4.1.7 |
131    |                      |         |               |               | for Draw Buffer i       |       |
132    +----------------------+---------+---------------+---------------+-------------------------+-------+
133    | BLEND_EQUATION_ALPHA | 8* x Z7 | GetIntegeri_v | FUNC_ADD      | Alpha Blending Equation | 4.1.7 |
134    |                      |         |               |               | for Draw Buffer i       |       |
135    +----------------------+---------+---------------+---------------+-------------------------+-------+
136
137    * Note that the only change change is that BLEND_EQUATION_RGB and
138      BLEND_EQUATION_ALPHA are now Z7 rather than Z5.
139
140Issues
141
142    None, so far.
143
144Revision History
145
146    Rev.    Date      Author    Changes
147    ----  --------    --------  -----------------------------------------
148
149     3    04/08/2011  gsellers  Fix typo bug in Table 4.1 (caught by Brian Paul)
150     2    09/15/2010  gsellers  Update to stand against OpenGL 4.1
151                                Add token values.
152                                Rename to AMD_blend_minmax_factor.
153     1    03/16/2010  gsellers  Initial draft.
154