15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci NV_blend_square 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_NV_blend_square 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Matt Craighead, NVIDIA Corporation (mcraighead 'at' nvidia.com) 125bd8deadSopenharmony_ci Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com) 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ciNotice 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ci Copyright NVIDIA Corporation, 1999. 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciStatus 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci Shipping (version 1.1) 215bd8deadSopenharmony_ci 225bd8deadSopenharmony_ciVersion 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ci Date: 1/14/2000 Version: 1.1 255bd8deadSopenharmony_ci $Date$ $Revision$ 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ciNumber 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci 194 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciDependencies 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci Written based on the wording of the OpenGL 1.2.1 specification. 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciOverview 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci It is useful to be able to multiply a number by itself in the blending 385bd8deadSopenharmony_ci stages -- for example, in certain types of specular lighting effects 395bd8deadSopenharmony_ci where a result from a dot product needs to be taken to a high power. 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci This extension provides four additional blending factors to permit 425bd8deadSopenharmony_ci this and other effects: SRC_COLOR and ONE_MINUS_SRC_COLOR for source 435bd8deadSopenharmony_ci blending factors, and DST_COLOR and ONE_MINUS_DST_COLOR for destination 445bd8deadSopenharmony_ci blending factors. 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci Direct3D provides capability bits for advertising these additional 475bd8deadSopenharmony_ci blend modes. 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciIssues 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci None 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciNew Procedures and Functions 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci None 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ciNew Tokens 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci None 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci None 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci None 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment Operations 705bd8deadSopenharmony_ciand the Framebuffer) 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ci Two lines are added to each of tables 4.1 and 4.2: 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci Value Blend Factors 755bd8deadSopenharmony_ci ----- ------------- 765bd8deadSopenharmony_ci ZERO (0, 0, 0, 0) 775bd8deadSopenharmony_ci ONE (1, 1, 1, 1) 785bd8deadSopenharmony_ci SRC_COLOR (Rs, Gs, Bs, As) NEW 795bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (Rs, Gs, Bs, As) NEW 805bd8deadSopenharmony_ci DST_COLOR (Rd, Gd, Bd, Ad) 815bd8deadSopenharmony_ci ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (Rd, Gd, Bd, Ad) 825bd8deadSopenharmony_ci SRC_ALPHA (As, As, As, As) / Ka 835bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (As, As, As, As) / Ka 845bd8deadSopenharmony_ci DST_ALPHA (Ad, Ad, Ad, Ad) / Ka 855bd8deadSopenharmony_ci ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) / Ka 865bd8deadSopenharmony_ci CONSTANT_COLOR (Rc, Gc, Bc, Ac) 875bd8deadSopenharmony_ci ONE_MINUS_CONSTANT_COLOR (1, 1, 1, 1) - (Rc, Gc, Bc, Ac) 885bd8deadSopenharmony_ci CONSTANT_ALPHA (Ac, Ac, Ac, Ac) 895bd8deadSopenharmony_ci ONE_MINUS_CONSTANT_ALPHA (1, 1, 1, 1) - (Ac, Ac, Ac, Ac) 905bd8deadSopenharmony_ci SRC_ALPHA_SATURATE (f, f, f, 1) 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci Table 4.1: Values controlling the source blending function and the 935bd8deadSopenharmony_ci source blending values they compute. f = min(As, 1 - Ad). 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ci Value Blend Factors 965bd8deadSopenharmony_ci ----- ------------- 975bd8deadSopenharmony_ci ZERO (0, 0, 0, 0) 985bd8deadSopenharmony_ci ONE (1, 1, 1, 1) 995bd8deadSopenharmony_ci SRC_COLOR (Rs, Gs, Bs, As) 1005bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (Rs, Gs, Bs, As) 1015bd8deadSopenharmony_ci DST_COLOR (Rd, Gd, Bd, Ad) NEW 1025bd8deadSopenharmony_ci ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (Rd, Gd, Bd, Ad) NEW 1035bd8deadSopenharmony_ci SRC_ALPHA (As, As, As, As) / Ka 1045bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (As, As, As, As) / Ka 1055bd8deadSopenharmony_ci DST_ALPHA (Ad, Ad, Ad, Ad) / Ka 1065bd8deadSopenharmony_ci ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) / Ka 1075bd8deadSopenharmony_ci CONSTANT_COLOR_EXT (Rc, Gc, Bc, Ac) 1085bd8deadSopenharmony_ci ONE_MINUS_CONSTANT_COLOR_EXT (1, 1, 1, 1) - (Rc, Gc, Bc, Ac) 1095bd8deadSopenharmony_ci CONSTANT_ALPHA_EXT (Ac, Ac, Ac, Ac) 1105bd8deadSopenharmony_ci ONE_MINUS_CONSTANT_ALPHA_EXT (1, 1, 1, 1) - (Ac, Ac, Ac, Ac) 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci Table 4.2: Values controlling the destination blending function and 1135bd8deadSopenharmony_ci the destination blending values they compute. 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci None 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2.1 Specification (State and State Requests) 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci None 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci None 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ciGLX Protocol 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci None 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ciErrors 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ci None 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ciNew State 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ci(table 6.15, page 205) 1385bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Sec Attribute 1395bd8deadSopenharmony_ci ------------------------ ---- ------------ ------------- ----- --------- 1405bd8deadSopenharmony_ci BLEND_SRC Z15 GetIntegerv ONE 4.1.6 color-buffer 1415bd8deadSopenharmony_ci BLEND_DST Z14 GetIntegerv ZERO 4.1.6 color-buffer 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ciNOTE: the only change is that Z13 changes to Z15 and Z12 changes to Z14 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ciNew Implementation Dependent State 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci None 1485bd8deadSopenharmony_ci 1495bd8deadSopenharmony_ciRevision History 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ci None 152