15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci EXT_texture_env_combine 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_EXT_texture_env_combine 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Michael Gold (gold 'at' nvidia.com) 125bd8deadSopenharmony_ci Tom Frisinger, AMD (tom.frisinger 'at' amd.com) 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ciStatus 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ci Shipping (NVIDIA, ATI) 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciVersion 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci $Date$ $Revision$ 215bd8deadSopenharmony_ci Last Modified Date: 2006/11/04 02:49:00 Revision: 1.8 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciNumber 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci 158 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ciDependencies 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci SGI_texture_color_table affects the definition of this extension 305bd8deadSopenharmony_ci SGIX_texture_scale_bias affects the definition of this extension 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ciOverview 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci New texture environment function COMBINE_EXT allows programmable 355bd8deadSopenharmony_ci texture combiner operations, including: 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci REPLACE Arg0 385bd8deadSopenharmony_ci MODULATE Arg0 * Arg1 395bd8deadSopenharmony_ci ADD Arg0 + Arg1 405bd8deadSopenharmony_ci ADD_SIGNED_EXT Arg0 + Arg1 - 0.5 415bd8deadSopenharmony_ci INTERPOLATE_EXT Arg0 * (Arg2) + Arg1 * (1-Arg2) 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci where Arg0, Arg1 and Arg2 are derived from 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci PRIMARY_COLOR_EXT primary color of incoming fragment 465bd8deadSopenharmony_ci TEXTURE texture color of corresponding texture unit 475bd8deadSopenharmony_ci CONSTANT_EXT texture environment constant color 485bd8deadSopenharmony_ci PREVIOUS_EXT result of previous texture environment; on 495bd8deadSopenharmony_ci texture unit 0, this maps to PRIMARY_COLOR_EXT 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci and Arg2 is restricted to the alpha component of the corresponding source. 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci In addition, the result may be scaled by 1.0, 2.0 or 4.0. 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciIssues 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci Should the explicit bias be removed in favor of an implcit bias as 585bd8deadSopenharmony_ci part of a ADD_SIGNED_EXT function? 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci - Yes. This pre-scale bias is a special case and will be treated 615bd8deadSopenharmony_ci as such. 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci Should the primary color of the incoming fragment be available to 645bd8deadSopenharmony_ci all texture environments? Currently it is only available to the 655bd8deadSopenharmony_ci texture environment of texture unit 0. 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci - Yes, PRIMARY_COLOR_EXT has been added as an input source. 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci Should textures from other texture units be allowed as sources? 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ci - No, not in the base spec. Too many vendors have expressed 725bd8deadSopenharmony_ci concerns about the scalability of such functionality. This can 735bd8deadSopenharmony_ci be added as a subsequent extension. 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci All of the 1.2 modes except BLEND can be expressed in terms of 765bd8deadSopenharmony_ci this extension. Should texture color be allowed as a source for 775bd8deadSopenharmony_ci Arg2, so all of the 1.2 modes can be expressed? If so, should all 785bd8deadSopenharmony_ci color sources be allowed, to maintain orthogonality? 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci - No, not in the base spec. This can be added as a subsequent 815bd8deadSopenharmony_ci extension. 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ciNew Procedures and Functions 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci None 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ciNew Tokens 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 905bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is TEXTURE_ENV_MODE 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci COMBINE_EXT 0x8570 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ci Accepted by the <pname> parameter of TexEnvf, TexEnvi, TexEnvfv, 955bd8deadSopenharmony_ci and TexEnviv when the <target> parameter value is TEXTURE_ENV 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ci COMBINE_RGB_EXT 0x8571 985bd8deadSopenharmony_ci COMBINE_ALPHA_EXT 0x8572 995bd8deadSopenharmony_ci SOURCE0_RGB_EXT 0x8580 1005bd8deadSopenharmony_ci SOURCE1_RGB_EXT 0x8581 1015bd8deadSopenharmony_ci SOURCE2_RGB_EXT 0x8582 1025bd8deadSopenharmony_ci SOURCE0_ALPHA_EXT 0x8588 1035bd8deadSopenharmony_ci SOURCE1_ALPHA_EXT 0x8589 1045bd8deadSopenharmony_ci SOURCE2_ALPHA_EXT 0x858A 1055bd8deadSopenharmony_ci OPERAND0_RGB_EXT 0x8590 1065bd8deadSopenharmony_ci OPERAND1_RGB_EXT 0x8591 1075bd8deadSopenharmony_ci OPERAND2_RGB_EXT 0x8592 1085bd8deadSopenharmony_ci OPERAND0_ALPHA_EXT 0x8598 1095bd8deadSopenharmony_ci OPERAND1_ALPHA_EXT 0x8599 1105bd8deadSopenharmony_ci OPERAND2_ALPHA_EXT 0x859A 1115bd8deadSopenharmony_ci RGB_SCALE_EXT 0x8573 1125bd8deadSopenharmony_ci ALPHA_SCALE 1135bd8deadSopenharmony_ci 1145bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1155bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is COMBINE_RGB_EXT 1165bd8deadSopenharmony_ci or COMBINE_ALPHA_EXT 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci REPLACE 1195bd8deadSopenharmony_ci MODULATE 1205bd8deadSopenharmony_ci ADD 1215bd8deadSopenharmony_ci ADD_SIGNED_EXT 0x8574 1225bd8deadSopenharmony_ci INTERPOLATE_EXT 0x8575 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1255bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is SOURCE0_RGB_EXT, 1265bd8deadSopenharmony_ci SOURCE1_RGB_EXT, SOURCE2_RGB_EXT, SOURCE0_ALPHA_EXT, 1275bd8deadSopenharmony_ci SOURCE1_ALPHA_EXT, or SOURCE2_ALPHA_EXT 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci TEXTURE 1305bd8deadSopenharmony_ci CONSTANT_EXT 0x8576 1315bd8deadSopenharmony_ci PRIMARY_COLOR_EXT 0x8577 1325bd8deadSopenharmony_ci PREVIOUS_EXT 0x8578 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1355bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is 1365bd8deadSopenharmony_ci OPERAND0_RGB_EXT or OPERAND1_RGB_EXT 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci SRC_COLOR 1395bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR 1405bd8deadSopenharmony_ci SRC_ALPHA 1415bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1445bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is 1455bd8deadSopenharmony_ci OPERAND0_ALPHA_EXT or OPERAND1_ALPHA_EXT 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci SRC_ALPHA 1485bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1515bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is 1525bd8deadSopenharmony_ci OPERAND2_RGB_EXT or OPERAND2_ALPHA_EXT 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ci SRC_ALPHA 1555bd8deadSopenharmony_ci 1565bd8deadSopenharmony_ci Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 1575bd8deadSopenharmony_ci and TexEnviv when the <pname> parameter value is RGB_SCALE_EXT or 1585bd8deadSopenharmony_ci ALPHA_SCALE 1595bd8deadSopenharmony_ci 1605bd8deadSopenharmony_ci 1.0 1615bd8deadSopenharmony_ci 2.0 1625bd8deadSopenharmony_ci 4.0 1635bd8deadSopenharmony_ci 1645bd8deadSopenharmony_ciAdditions to Chapter 2 of the GL Specification (OpenGL Operation) 1655bd8deadSopenharmony_ci 1665bd8deadSopenharmony_ci None 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ciAdditions to Chapter 3 of the GL Specification (Rasterization) 1695bd8deadSopenharmony_ci 1705bd8deadSopenharmony_ci Added to subsection 3.8.9, before the paragraph describing the 1715bd8deadSopenharmony_ci state requirements: 1725bd8deadSopenharmony_ci 1735bd8deadSopenharmony_ci If the value of TEXTURE_ENV_MODE is COMBINE_EXT, the form of the 1745bd8deadSopenharmony_ci texture function depends on the values of COMBINE_RGB_EXT and 1755bd8deadSopenharmony_ci COMBINE_ALPHA_EXT, according to table 3.20. The RGB and ALPHA 1765bd8deadSopenharmony_ci results of the texture function are then multiplied by the values 1775bd8deadSopenharmony_ci of RGB_SCALE_EXT and ALPHA_SCALE, respectively. The results are 1785bd8deadSopenharmony_ci clamped to [0,1]. 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ci COMBINE_RGB_EXT or 1825bd8deadSopenharmony_ci COMBINE_ALPHA_EXT Texture Function 1835bd8deadSopenharmony_ci ------------------ ---------------- 1845bd8deadSopenharmony_ci REPLACE Arg0 1855bd8deadSopenharmony_ci MODULATE Arg0 * Arg1 1865bd8deadSopenharmony_ci ADD Arg0 + Arg1 1875bd8deadSopenharmony_ci ADD_SIGNED_EXT Arg0 + Arg1 - 0.5 1885bd8deadSopenharmony_ci INTERPOLATE_EXT Arg0 * (Arg2) + Arg1 * (1-Arg2) 1895bd8deadSopenharmony_ci 1905bd8deadSopenharmony_ci Table 3.20: COMBINE_EXT texture functions 1915bd8deadSopenharmony_ci 1925bd8deadSopenharmony_ci The arguments Arg0, Arg1 and Arg2 are determined by the values of 1935bd8deadSopenharmony_ci SOURCE<n>_RGB_EXT, SOURCE<n>_ALPHA_EXT, OPERAND<n>_RGB_EXT and 1945bd8deadSopenharmony_ci OPERAND<n>_ALPHA_EXT. In the following two tables, Ct and At are 1955bd8deadSopenharmony_ci the filtered texture RGB and alpha values; Cc and Ac are the 1965bd8deadSopenharmony_ci texture environment RGB and alpha values; Cf and Af are the RGB 1975bd8deadSopenharmony_ci and alpha of the primary color of the incoming fragment; and Cp 1985bd8deadSopenharmony_ci and Ap are the RGB and alpha values resulting from the previous 1995bd8deadSopenharmony_ci texture environment. On texture environment 0, Cp and Ap are 2005bd8deadSopenharmony_ci identical to Cf and Af, respectively. The relationship is 2015bd8deadSopenharmony_ci described in tables 3.21 and 3.22. 2025bd8deadSopenharmony_ci 2035bd8deadSopenharmony_ci SOURCE<n>_RGB_EXT OPERAND<n>_RGB_EXT Argument 2045bd8deadSopenharmony_ci ----------------- -------------- -------- 2055bd8deadSopenharmony_ci TEXTURE SRC_COLOR Ct 2065bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Ct) 2075bd8deadSopenharmony_ci SRC_ALPHA At 2085bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-At) 2095bd8deadSopenharmony_ci CONSTANT_EXT SRC_COLOR Cc 2105bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cc) 2115bd8deadSopenharmony_ci SRC_ALPHA Ac 2125bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ac) 2135bd8deadSopenharmony_ci PRIMARY_COLOR_EXT SRC_COLOR Cf 2145bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cf) 2155bd8deadSopenharmony_ci SRC_ALPHA Af 2165bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Af) 2175bd8deadSopenharmony_ci PREVIOUS_EXT SRC_COLOR Cp 2185bd8deadSopenharmony_ci ONE_MINUS_SRC_COLOR (1-Cp) 2195bd8deadSopenharmony_ci SRC_ALPHA Ap 2205bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ap) 2215bd8deadSopenharmony_ci 2225bd8deadSopenharmony_ci Table 3.21: Arguments for COMBINE_RGB_EXT functions 2235bd8deadSopenharmony_ci 2245bd8deadSopenharmony_ci SOURCE<n>_ALPHA_EXT OPERAND<n>_ALPHA_EXT Argument 2255bd8deadSopenharmony_ci ----------------- -------------- -------- 2265bd8deadSopenharmony_ci TEXTURE SRC_ALPHA At 2275bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-At) 2285bd8deadSopenharmony_ci CONSTANT_EXT SRC_ALPHA Ac 2295bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ac) 2305bd8deadSopenharmony_ci PRIMARY_COLOR_EXT SRC_ALPHA Af 2315bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Af) 2325bd8deadSopenharmony_ci PREVIOUS_EXT SRC_ALPHA Ap 2335bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA (1-Ap) 2345bd8deadSopenharmony_ci 2355bd8deadSopenharmony_ci Table 3.22: Arguments for COMBINE_ALPHA_EXT functions 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ci The mapping of texture components to source components is 2385bd8deadSopenharmony_ci summarized in Table 3.23. In the following table, At, Lt, It, Rt, 2395bd8deadSopenharmony_ci Gt and Bt are the filtered texel values. 2405bd8deadSopenharmony_ci 2415bd8deadSopenharmony_ci Base Internal Format RGB Values Alpha Value 2425bd8deadSopenharmony_ci -------------------- ---------- ----------- 2435bd8deadSopenharmony_ci ALPHA 0, 0, 0 At 2445bd8deadSopenharmony_ci LUMINANCE Lt, Lt, Lt 1 2455bd8deadSopenharmony_ci LUMINANCE_ALPHA Lt, Lt, Lt At 2465bd8deadSopenharmony_ci INTENSITY It, It, It It 2475bd8deadSopenharmony_ci RGB Rt, Gt, Bt 1 2485bd8deadSopenharmony_ci RGBA Rt, Gt, Bt At 2495bd8deadSopenharmony_ci 2505bd8deadSopenharmony_ci Table 3.23: Correspondence of texture components to source 2515bd8deadSopenharmony_ci components for COMBINE_RGB_EXT and COMBINE_ALPHA_EXT arguments 2525bd8deadSopenharmony_ci 2535bd8deadSopenharmony_ciAdditions to Chapter 4 of the GL Specification (Per-Fragment Operations 2545bd8deadSopenharmony_ciand the Framebuffer) 2555bd8deadSopenharmony_ci 2565bd8deadSopenharmony_ci None 2575bd8deadSopenharmony_ci 2585bd8deadSopenharmony_ciAdditions to Chapter 5 of the GL Specification (Special Functions) 2595bd8deadSopenharmony_ci 2605bd8deadSopenharmony_ci None 2615bd8deadSopenharmony_ci 2625bd8deadSopenharmony_ciAdditions to Chapter 6 of the GL Specification (State and State Requests) 2635bd8deadSopenharmony_ci 2645bd8deadSopenharmony_ci None 2655bd8deadSopenharmony_ci 2665bd8deadSopenharmony_ciAdditions to the GLX Specification 2675bd8deadSopenharmony_ci 2685bd8deadSopenharmony_ci None 2695bd8deadSopenharmony_ci 2705bd8deadSopenharmony_ciGLX Protocol 2715bd8deadSopenharmony_ci 2725bd8deadSopenharmony_ci None 2735bd8deadSopenharmony_ci 2745bd8deadSopenharmony_ciErrors 2755bd8deadSopenharmony_ci 2765bd8deadSopenharmony_ci INVALID_ENUM is generated if <params> value for COMBINE_RGB_EXT or 2775bd8deadSopenharmony_ci COMBINE_ALPHA_EXT is not one of REPLACE, MODULATE, ADD, 2785bd8deadSopenharmony_ci ADD_SIGNED_EXT, or INTERPOLATE_EXT. 2795bd8deadSopenharmony_ci 2805bd8deadSopenharmony_ci INVALID_ENUM is generated if <params> value for SOURCE0_RGB_EXT, 2815bd8deadSopenharmony_ci SOURCE1_RGB_EXT, SOURCE2_RGB_EXT, SOURCE0_ALPHA_EXT, 2825bd8deadSopenharmony_ci SOURCE1_ALPHA_EXT or SOURCE2_ALPHA_EXT is not one of TEXTURE, 2835bd8deadSopenharmony_ci CONSTANT_EXT, PRIMARY_COLOR_EXT or PREVIOUS_EXT. 2845bd8deadSopenharmony_ci 2855bd8deadSopenharmony_ci INVALID_ENUM is generated if <params> value for OPERAND0_RGB_EXT 2865bd8deadSopenharmony_ci or OPERAND1_RGB_EXT is not one of SRC_COLOR, ONE_MINUS_SRC_COLOR, 2875bd8deadSopenharmony_ci SRC_ALPHA or ONE_MINUS_SRC_ALPHA. 2885bd8deadSopenharmony_ci 2895bd8deadSopenharmony_ci INVALID_ENUM is generated if <params> value for OPERAND0_ALPHA_EXT 2905bd8deadSopenharmony_ci or OPERAND1_ALPHA_EXT is not one of SRC_ALPHA or 2915bd8deadSopenharmony_ci ONE_MINUS_SRC_ALPHA. 2925bd8deadSopenharmony_ci 2935bd8deadSopenharmony_ci INVALID_ENUM is generated if <params> value for OPERAND2_RGB_EXT 2945bd8deadSopenharmony_ci or OPERAND2_ALPHA_EXT is not SRC_ALPHA. 2955bd8deadSopenharmony_ci 2965bd8deadSopenharmony_ci INVALID_VALUE is generated if <params> value for RGB_SCALE_EXT or 2975bd8deadSopenharmony_ci ALPHA_SCALE is not one of 1.0, 2.0, or 4.0. 2985bd8deadSopenharmony_ci 2995bd8deadSopenharmony_ciDependencies on SGI_texture_color_table 3005bd8deadSopenharmony_ci 3015bd8deadSopenharmony_ci If SGI_texture_color_table is implemented, the expanded Rt, Gt, 3025bd8deadSopenharmony_ci Bt, and At values are used directly instead of the expansion 3035bd8deadSopenharmony_ci described by Table 3.23. 3045bd8deadSopenharmony_ci 3055bd8deadSopenharmony_ciDependencies on SGIX_texture_scale_bias 3065bd8deadSopenharmony_ci 3075bd8deadSopenharmony_ci If SGIX_texture_scale_bias is implemented, the expanded Rt, Gt, 3085bd8deadSopenharmony_ci Bt, and At values are used directly instead of the expansion 3095bd8deadSopenharmony_ci described by Table 3.23. 3105bd8deadSopenharmony_ci 3115bd8deadSopenharmony_ciNew State 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci Get Value Get Command Type Initial Value Attribute 3145bd8deadSopenharmony_ci --------- ----------- ---- ------------- --------- 3155bd8deadSopenharmony_ci COMBINE_RGB_EXT GetTexEnviv n x Z4 MODULATE texture 3165bd8deadSopenharmony_ci COMBINE_ALPHA_EXT GetTexEnviv n x Z4 MODULATE texture 3175bd8deadSopenharmony_ci SOURCE0_RGB_EXT GetTexEnviv n x Z3 TEXTURE texture 3185bd8deadSopenharmony_ci SOURCE1_RGB_EXT GetTexEnviv n x Z3 PREVIOUS_EXT texture 3195bd8deadSopenharmony_ci SOURCE2_RGB_EXT GetTexEnviv n x Z3 CONSTANT_EXT texture 3205bd8deadSopenharmony_ci SOURCE0_ALPHA_EXT GetTexEnviv n x Z3 TEXTURE texture 3215bd8deadSopenharmony_ci SOURCE1_ALPHA_EXT GetTexEnviv n x Z3 PREVIOUS_EXT texture 3225bd8deadSopenharmony_ci SOURCE2_ALPHA_EXT GetTexEnviv n x Z3 CONSTANT_EXT texture 3235bd8deadSopenharmony_ci OPERAND0_RGB_EXT GetTexEnviv n x Z6 SRC_COLOR texture 3245bd8deadSopenharmony_ci OPERAND1_RGB_EXT GetTexEnviv n x Z6 SRC_COLOR texture 3255bd8deadSopenharmony_ci OPERAND2_RGB_EXT GetTexEnviv n x Z1 SRC_ALPHA texture 3265bd8deadSopenharmony_ci OPERAND0_ALPHA_EXT GetTexEnviv n x Z4 SRC_ALPHA texture 3275bd8deadSopenharmony_ci OPERAND1_ALPHA_EXT GetTexEnviv n x Z4 SRC_ALPHA texture 3285bd8deadSopenharmony_ci OPERAND2_ALPHA_EXT GetTexEnviv n x Z1 SRC_ALPHA texture 3295bd8deadSopenharmony_ci RGB_SCALE_EXT GetTexEnvfv n x R3 1.0 texture 3305bd8deadSopenharmony_ci ALPHA_SCALE GetTexEnvfv n x R3 1.0 texture 3315bd8deadSopenharmony_ci 3325bd8deadSopenharmony_ciNew Implementation Dependent State 3335bd8deadSopenharmony_ci 3345bd8deadSopenharmony_ci None 3355bd8deadSopenharmony_ci 3365bd8deadSopenharmony_ciNVIDIA Implementation Details 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ci Because of a hardware limitation, TNT, TNT2, GeForce, and Quadro 3395bd8deadSopenharmony_ci treat "scale by 4.0" with the COMBINE_RGB_EXT or COMBINE_ALPHA_EXT 3405bd8deadSopenharmony_ci mode of ADD_SIGNED_EXT as "scale by 2.0". 3415bd8deadSopenharmony_ci 3425bd8deadSopenharmony_ci GeForce 6 Series and later GPUs (NV40 and on) support "scale by 4.0" 3435bd8deadSopenharmony_ci properly. 3445bd8deadSopenharmony_ci 3455bd8deadSopenharmony_ciRevision History 3465bd8deadSopenharmony_ci 3475bd8deadSopenharmony_ci 2/22/00 mjk - added NVIDIA Implementation Details 348