15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci ARB_texture_env_add 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_ARB_texture_env_add 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Michael Gold, NVIDIA (gold 'at' nvidia.com) 125bd8deadSopenharmony_ci Tom Frisinger, ATI (tfrisinger 'at' atitech.com) 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ciNotice 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ci Copyright (c) 1999-2013 The Khronos Group Inc. Copyright terms at 175bd8deadSopenharmony_ci http://www.khronos.org/registry/speccopyright.html 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciSpecification Update Policy 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci Khronos-approved extension specifications are updated in response to 225bd8deadSopenharmony_ci issues and bugs prioritized by the Khronos OpenGL Working Group. For 235bd8deadSopenharmony_ci extensions which have been promoted to a core Specification, fixes will 245bd8deadSopenharmony_ci first appear in the latest version of that core Specification, and will 255bd8deadSopenharmony_ci eventually be backported to the extension document. This policy is 265bd8deadSopenharmony_ci described in more detail at 275bd8deadSopenharmony_ci https://www.khronos.org/registry/OpenGL/docs/update_policy.php 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ciStatus 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ci Complete. Approved by ARB on 12/8/1999 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ciVersion 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci Last Modified Date: June 22, 2000 365bd8deadSopenharmony_ci Author Revision: 0.3 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci Based on: EXT_texture_env_add 395bd8deadSopenharmony_ci Date: 1999/03/22 Revision: 1.1 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ciNumber 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci ARB Extension #6 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ciDependencies 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci None 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciOverview 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci New texture environment function ADD is supported with the following 525bd8deadSopenharmony_ci equation: 535bd8deadSopenharmony_ci Cv = min(1, Cf + Ct) 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci New function may be specified by calling TexEnv with ADD token. 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci One possible application is to add a specular highlight texture to 585bd8deadSopenharmony_ci a Gouraud-shaded primitive to emulate Phong shading, in a single 595bd8deadSopenharmony_ci pass. 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ciNew Procedures and Functions 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci None 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ciNew Tokens 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, and 695bd8deadSopenharmony_ci TexEnvfi when the <pname> parameter value is GL_TEXTURE_ENV_MODE 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ci ADD 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ciAdditions to Chapter 2 of the GL Specification (OpenGL Operation) 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci None 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ciAdditions to Chapter 3 of the GL Specification (Rasterization) 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ci The description of TEXTURE_ENV_MODE in the first paragraph of 805bd8deadSopenharmony_ci section 3.8.9 should be modified as follows: 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ci TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE, DECAL, 835bd8deadSopenharmony_ci BLEND or ADD; 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci Table 3.19 is augmented as follows: 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci Base DECAL BLEND ADD 885bd8deadSopenharmony_ci Internal Format tex func tex func tex func 895bd8deadSopenharmony_ci --------------- ----- ----- --- 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci ALPHA ... ... Rv = Rf 925bd8deadSopenharmony_ci ... ... Gv = Gf 935bd8deadSopenharmony_ci ... ... Bv = Bf 945bd8deadSopenharmony_ci ... ... Av = AfAt 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci LUMINANCE ... ... Rv = min(1, Rf+Lt) 975bd8deadSopenharmony_ci (or 1) ... ... Gv = min(1, Gf+Lt) 985bd8deadSopenharmony_ci ... ... Bv = min(1, Bf+Lt) 995bd8deadSopenharmony_ci ... ... Av = Af 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci LUMINANCE_ALPHA ... ... Rv = min(1, Rf+Lt) 1025bd8deadSopenharmony_ci (or 2) ... ... Gv = min(1, Gf+Lt) 1035bd8deadSopenharmony_ci ... ... Bv = min(1, Bf+Lt) 1045bd8deadSopenharmony_ci ... ... Av = AfAt 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci INTENSITY ... ... Rv = min(1, Rf+It) 1075bd8deadSopenharmony_ci ... ... Gv = min(1, Gf+It) 1085bd8deadSopenharmony_ci ... ... Bv = min(1, Bf+It) 1095bd8deadSopenharmony_ci ... ... Av = min(1, Af+It) 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ci RGB ... ... Rv = min(1, Rf+Rt) 1125bd8deadSopenharmony_ci (or 3) ... ... Gv = min(1, Gf+Gt) 1135bd8deadSopenharmony_ci ... ... Bv = min(1, Bf+Bt) 1145bd8deadSopenharmony_ci ... ... Av = Af 1155bd8deadSopenharmony_ci 1165bd8deadSopenharmony_ci RGBA ... ... Rv = min(1, Rf+Rt) 1175bd8deadSopenharmony_ci (or 4) ... ... Gv = min(1, Gf+Gt) 1185bd8deadSopenharmony_ci ... ... Bv = min(1, Bf+Bt) 1195bd8deadSopenharmony_ci ... ... Av = AfAt 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci Table 3.19: Decal, blend and add texture functions. 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ciAdditions to Chapter 4 of the GL Specification (Per-Fragment Operations 1265bd8deadSopenharmony_ciand the Framebuffer) 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci None 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ciAdditions to Chapter 5 of the GL Specification (Special Functions) 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ci None 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ciAdditions to Chapter 6 of the GL Specification (State and State Requests) 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ci None 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ciAdditions to the GLX / WGL / AGL Specifications 1395bd8deadSopenharmony_ci 1405bd8deadSopenharmony_ci None 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ciGLX Protocol 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ci None 1455bd8deadSopenharmony_ci 1465bd8deadSopenharmony_ciErrors 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ci None 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ciNew State 1515bd8deadSopenharmony_ci 1525bd8deadSopenharmony_ci The Type of TEXTURE_ENV_MODE in Table F.2 should be changed to 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ci 1 * xZ5 1555bd8deadSopenharmony_ci 1565bd8deadSopenharmony_ciNew Implementation Dependent State 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ci None 1595bd8deadSopenharmony_ci 1605bd8deadSopenharmony_ciRevision History 1615bd8deadSopenharmony_ci 1625bd8deadSopenharmony_ci 11/09/1999 0.1 1635bd8deadSopenharmony_ci - First ARB draft based on the original EXT draft. 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ci 1/13/2000 0.2 1665bd8deadSopenharmony_ci - Added justification to the overview 1675bd8deadSopenharmony_ci - Updated to describe modifications to 1.2.1 specification 1685bd8deadSopenharmony_ci - Added changes to description of TEXTURE_ENV_MODE parameter 1695bd8deadSopenharmony_ci to TexEnv{if} and TexEnv{if}v 1705bd8deadSopenharmony_ci - Added change to TEXTURE_ENV_MODE type (Z4 -> Z5) 1715bd8deadSopenharmony_ci 1725bd8deadSopenharmony_ci 6/22/2000 0.3 1735bd8deadSopenharmony_ci - The addition should saturate to 1. 174