| Name |
| |
| NV_blend_square |
| |
| Name Strings |
| |
| GL_NV_blend_square |
| |
| Contact |
| |
| Matt Craighead, NVIDIA Corporation (mcraighead 'at' nvidia.com) |
| Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com) |
| |
| Notice |
| |
| Copyright NVIDIA Corporation, 1999. |
| |
| Status |
| |
| Shipping (version 1.1) |
| |
| Version |
| |
| Date: 1/14/2000 Version: 1.1 |
| $Date$ $Revision$ |
| |
| Number |
| |
| 194 |
| |
| Dependencies |
| |
| Written based on the wording of the OpenGL 1.2.1 specification. |
| |
| Overview |
| |
| It is useful to be able to multiply a number by itself in the blending |
| stages -- for example, in certain types of specular lighting effects |
| where a result from a dot product needs to be taken to a high power. |
| |
| This extension provides four additional blending factors to permit |
| this and other effects: SRC_COLOR and ONE_MINUS_SRC_COLOR for source |
| blending factors, and DST_COLOR and ONE_MINUS_DST_COLOR for destination |
| blending factors. |
| |
| Direct3D provides capability bits for advertising these additional |
| blend modes. |
| |
| Issues |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| None |
| |
| Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment Operations |
| and the Framebuffer) |
| |
| Two lines are added to each of tables 4.1 and 4.2: |
| |
| Value Blend Factors |
| ----- ------------- |
| ZERO (0, 0, 0, 0) |
| ONE (1, 1, 1, 1) |
| SRC_COLOR (Rs, Gs, Bs, As) NEW |
| ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (Rs, Gs, Bs, As) NEW |
| DST_COLOR (Rd, Gd, Bd, Ad) |
| ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (Rd, Gd, Bd, Ad) |
| SRC_ALPHA (As, As, As, As) / Ka |
| ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (As, As, As, As) / Ka |
| DST_ALPHA (Ad, Ad, Ad, Ad) / Ka |
| ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) / Ka |
| CONSTANT_COLOR (Rc, Gc, Bc, Ac) |
| ONE_MINUS_CONSTANT_COLOR (1, 1, 1, 1) - (Rc, Gc, Bc, Ac) |
| CONSTANT_ALPHA (Ac, Ac, Ac, Ac) |
| ONE_MINUS_CONSTANT_ALPHA (1, 1, 1, 1) - (Ac, Ac, Ac, Ac) |
| SRC_ALPHA_SATURATE (f, f, f, 1) |
| |
| Table 4.1: Values controlling the source blending function and the |
| source blending values they compute. f = min(As, 1 - Ad). |
| |
| Value Blend Factors |
| ----- ------------- |
| ZERO (0, 0, 0, 0) |
| ONE (1, 1, 1, 1) |
| SRC_COLOR (Rs, Gs, Bs, As) |
| ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (Rs, Gs, Bs, As) |
| DST_COLOR (Rd, Gd, Bd, Ad) NEW |
| ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (Rd, Gd, Bd, Ad) NEW |
| SRC_ALPHA (As, As, As, As) / Ka |
| ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (As, As, As, As) / Ka |
| DST_ALPHA (Ad, Ad, Ad, Ad) / Ka |
| ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) / Ka |
| CONSTANT_COLOR_EXT (Rc, Gc, Bc, Ac) |
| ONE_MINUS_CONSTANT_COLOR_EXT (1, 1, 1, 1) - (Rc, Gc, Bc, Ac) |
| CONSTANT_ALPHA_EXT (Ac, Ac, Ac, Ac) |
| ONE_MINUS_CONSTANT_ALPHA_EXT (1, 1, 1, 1) - (Ac, Ac, Ac, Ac) |
| |
| Table 4.2: Values controlling the destination blending function and |
| the destination blending values they compute. |
| |
| Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and State Requests) |
| |
| None |
| |
| Additions to the AGL/GLX/WGL Specifications |
| |
| None |
| |
| GLX Protocol |
| |
| None |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| (table 6.15, page 205) |
| Get Value Type Get Command Initial Value Sec Attribute |
| ------------------------ ---- ------------ ------------- ----- --------- |
| BLEND_SRC Z15 GetIntegerv ONE 4.1.6 color-buffer |
| BLEND_DST Z14 GetIntegerv ZERO 4.1.6 color-buffer |
| |
| NOTE: the only change is that Z13 changes to Z15 and Z12 changes to Z14 |
| |
| New Implementation Dependent State |
| |
| None |
| |
| Revision History |
| |
| None |