15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci ATI_texture_env_combine3 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_ATI_texture_env_combine3 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com) 125bd8deadSopenharmony_ci Evan Hart, NVIDIA (ehart 'at' nvidia.com) 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ciNotice 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ci Copyright ATI Corporation, 2002. 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciIP Status 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci None. 215bd8deadSopenharmony_ci 225bd8deadSopenharmony_ciVersion 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ci Date: 11/04/2006 Revision: 1.02 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ciNumber 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ci None. 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ciDependencies 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci ARB_texture_env_combine is required and is modified by this extension 335bd8deadSopenharmony_ci ARB_multitexture affects the definition of this extension 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciOverview 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci Adds new set of operations to the texture combiner operations. 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci MODULATE_ADD_ATI Arg0 * Arg2 + Arg1 405bd8deadSopenharmony_ci MODULATE_SIGNED_ADD_ATI Arg0 * Arg2 + Arg1 - 0.5 415bd8deadSopenharmony_ci MODULATE_SUBTRACT_ATI Arg0 * Arg2 - Arg1 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci where Arg0, Arg1 and Arg2 are derived from 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci PRIMARY_COLOR_ARB primary color of incoming fragment 465bd8deadSopenharmony_ci TEXTURE texture color of corresponding texture unit 475bd8deadSopenharmony_ci CONSTANT_ARB texture environment constant color 485bd8deadSopenharmony_ci PREVIOUS_ARB result of previous texture environment; on 495bd8deadSopenharmony_ci texture unit 0, this maps to PRIMARY_COLOR_ARB 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci In addition, the result may be scaled by 1.0, 2.0 or 4.0. 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci Note that in addition to providing more flexible equations new source 545bd8deadSopenharmony_ci inputs have been added for zero and one. 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ciIssues 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci None 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ciNew Procedures and Functions 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci None 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ciNew Tokens 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 675bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is COMBINE_RGB_ARB 685bd8deadSopenharmony_ci or COMBINE_ALPHA_ARB 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci MODULATE_ADD_ATI 0x8744 715bd8deadSopenharmony_ci MODULATE_SIGNED_ADD_ATI 0x8745 725bd8deadSopenharmony_ci MODULATE_SUBTRACT_ATI 0x8746 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 765bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is SOURCE0_RGB_ARB, 775bd8deadSopenharmony_ci SOURCE1_RGB_ARB, SOURCE2_RGB_ARB, SOURCE0_ALPHA_ARB, 785bd8deadSopenharmony_ci SOURCE1_ALPHA_ARB, or SOURCE2_ALPHA_ARB 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci ZERO 815bd8deadSopenharmony_ci ONE 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci None 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2 Specification (Rasterization) 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci Added to subsection 3.8.9, before the paragraph describing the 905bd8deadSopenharmony_ci state requirements: 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci If the value of TEXTURE_ENV_MODE is COMBINE_ARB, the form of the 935bd8deadSopenharmony_ci texture function depends on the values of COMBINE_RGB_ARB and 945bd8deadSopenharmony_ci COMBINE_ALPHA_ARB, according to table 3.20. The RGB and ALPHA 955bd8deadSopenharmony_ci results of the texture function are then multiplied by the values 965bd8deadSopenharmony_ci of RGB_SCALE_ARB and ALPHA_SCALE, respectively. The results are 975bd8deadSopenharmony_ci clamped to [0,1]. 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ci COMBINE_RGB_ARB Texture Function 1005bd8deadSopenharmony_ci ------------------ ---------------- 1015bd8deadSopenharmony_ci REPLACE Arg0 1025bd8deadSopenharmony_ci MODULATE Arg0 * Arg1 1035bd8deadSopenharmony_ci ADD Arg0 + Arg1 1045bd8deadSopenharmony_ci SIGNED_ADD_ARB Arg0 + Arg1 - 0.5 1055bd8deadSopenharmony_ci INTERPOLATE_ARB Arg0 * (Arg2) + Arg1 * (1-Arg2) 1065bd8deadSopenharmony_ci SUBTRACT_ARB Arg0 - Arg1 1075bd8deadSopenharmony_ci MODULATE_ADD_ATI Arg0 * Arg2 + Arg1 1085bd8deadSopenharmony_ci MODULATE_SIGNED_ADD_ATI Arg0 * Arg2 + Arg1 - 0.5 1095bd8deadSopenharmony_ci MODULATE_SUBTRACT_ATI Arg0 * Arg2 - Arg1 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci COMBINE_ALPHA_ARB Texture Function 1135bd8deadSopenharmony_ci ------------------ ---------------- 1145bd8deadSopenharmony_ci REPLACE Arg0 1155bd8deadSopenharmony_ci MODULATE Arg0 * Arg1 1165bd8deadSopenharmony_ci ADD Arg0 + Arg1 1175bd8deadSopenharmony_ci SIGNED_ADD_ARB Arg0 + Arg1 - 0.5 1185bd8deadSopenharmony_ci INTERPOLATE_ARB Arg0 * (Arg2) + Arg1 * (1-Arg2) 1195bd8deadSopenharmony_ci SUBTRACT_ARB Arg0 - Arg1 1205bd8deadSopenharmony_ci MODULATE_ADD_ATI Arg0 * Arg2 + Arg1 1215bd8deadSopenharmony_ci MODULATE_SIGNED_ADD_ATI Arg0 * Arg2 + Arg1 - 0.5 1225bd8deadSopenharmony_ci MODULATE_SUBTRACT_ATI Arg0 * Arg2 - Arg1 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci The arguments Arg0, Arg1 and Arg2 are determined by the values of 1255bd8deadSopenharmony_ci SOURCE<n>_RGB_ARB, SOURCE<n>_ALPHA_ARB, OPERAND<n>_RGB_ARB and 1265bd8deadSopenharmony_ci OPERAND<n>_ALPHA_ARB. In the following two tables, Ct and At are 1275bd8deadSopenharmony_ci the filtered texture RGB and alpha values; Cc and Ac are the 1285bd8deadSopenharmony_ci texture environment RGB and alpha values; Cf and Af are the RGB 1295bd8deadSopenharmony_ci and alpha of the primary color of the incoming fragment; and Cp 1305bd8deadSopenharmony_ci and Ap are the RGB and alpha values resulting from the previous 1315bd8deadSopenharmony_ci texture environment. On texture environment 0, Cp and Ap are 1325bd8deadSopenharmony_ci identical to Cf and Af, respectively. The relationship is 1335bd8deadSopenharmony_ci described in tables 3.21 and 3.22. 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ci SOURCE<n>_RGB_ARB OPERAND<n>_RGB_ARB Argument 1365bd8deadSopenharmony_ci ----------------- -------------- -------- 1375bd8deadSopenharmony_ci TEXTURE SRC_COLOR Ct 1385bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Ct) 1395bd8deadSopenharmony_ci SRC_ALPHA At 1405bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-At) 1415bd8deadSopenharmony_ci CONSTANT_ARB SRC_COLOR Cc 1425bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cc) 1435bd8deadSopenharmony_ci SRC_ALPHA Ac 1445bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ac) 1455bd8deadSopenharmony_ci PRIMARY_COLOR_ARB SRC_COLOR Cf 1465bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cf) 1475bd8deadSopenharmony_ci SRC_ALPHA Af 1485bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Af) 1495bd8deadSopenharmony_ci PREVIOUS_ARB SRC_COLOR Cp 1505bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cp) 1515bd8deadSopenharmony_ci SRC_ALPHA Ap 1525bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ap) 1535bd8deadSopenharmony_ci ZERO SRC_COLOR 0 1545bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR 1 1555bd8deadSopenharmony_ci SRC_ALPHA 0 1565bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 1 1575bd8deadSopenharmony_ci ONE SRC_COLOR 1 1585bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR 0 1595bd8deadSopenharmony_ci SRC_ALPHA 1 1605bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 0 1615bd8deadSopenharmony_ci 1625bd8deadSopenharmony_ci 1635bd8deadSopenharmony_ci Table 3.21: Arguments for COMBINE_RGB_ARB functions 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ci SOURCE<n>_ALPHA_ARB OPERAND<n>_ALPHA_ARB Argument 1665bd8deadSopenharmony_ci ----------------- -------------- -------- 1675bd8deadSopenharmony_ci TEXTURE SRC_ALPHA At 1685bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-At) 1695bd8deadSopenharmony_ci CONSTANT_ARB SRC_ALPHA Ac 1705bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ac) 1715bd8deadSopenharmony_ci PRIMARY_COLOR_ARB SRC_ALPHA Af 1725bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Af) 1735bd8deadSopenharmony_ci PREVIOUS_ARB SRC_ALPHA Ap 1745bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ap) 1755bd8deadSopenharmony_ci ZERO SRC_ALPHA 0 1765bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 1 1775bd8deadSopenharmony_ci ONE SRC_ALPHA 1 1785bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 0 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci Table 3.22: Arguments for COMBINE_ALPHA_ARB functions 1815bd8deadSopenharmony_ci 1825bd8deadSopenharmony_ci 1835bd8deadSopenharmony_ci 1845bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations 1855bd8deadSopenharmony_ciand the Framebuffer) 1865bd8deadSopenharmony_ci 1875bd8deadSopenharmony_ci None 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2 Specification (Special Functions) 1905bd8deadSopenharmony_ci 1915bd8deadSopenharmony_ci None 1925bd8deadSopenharmony_ci 1935bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2 Specification (State and State Requests) 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci None 1965bd8deadSopenharmony_ci 1975bd8deadSopenharmony_ciNew State 1985bd8deadSopenharmony_ci 1995bd8deadSopenharmony_ci None 2005bd8deadSopenharmony_ci 2015bd8deadSopenharmony_ciNew Implementation Dependent State 2025bd8deadSopenharmony_ci 2035bd8deadSopenharmony_ci None 2045bd8deadSopenharmony_ci 2055bd8deadSopenharmony_ciRevision History 2065bd8deadSopenharmony_ci 2075bd8deadSopenharmony_ci Date: 3/29/2010 2085bd8deadSopenharmony_ci Revision: 1.03 2095bd8deadSopenharmony_ci - (pbrown @ NVIDIA) Fix the "Name Strings" section to include a "GL" 2105bd8deadSopenharmony_ci prefix. 2115bd8deadSopenharmony_ci 2125bd8deadSopenharmony_ci Date: 11/4/2006 2135bd8deadSopenharmony_ci Revision: 1.02 2145bd8deadSopenharmony_ci - Updated contact info after ATI/AMD merger. 2155bd8deadSopenharmony_ci 2165bd8deadSopenharmony_ci Date: 8/02/2002 2175bd8deadSopenharmony_ci Revision: 1.01 2185bd8deadSopenharmony_ci - Changed constant MODULATE_ADD_SIGNED_ATI to MODULATE_SIGNED_ADD_ATI. 2195bd8deadSopenharmony_ci 2205bd8deadSopenharmony_ci Date: 8/01/2002 2215bd8deadSopenharmony_ci Revision: 1.0 2225bd8deadSopenharmony_ci - First release based on ATIX version. 223