Name ARB_texture_env_add Name Strings GL_ARB_texture_env_add Contact Michael Gold, NVIDIA (gold 'at' nvidia.com) Tom Frisinger, ATI (tfrisinger 'at' atitech.com) Notice Copyright (c) 1999-2013 The Khronos Group Inc. Copyright terms at http://www.khronos.org/registry/speccopyright.html Specification Update Policy Khronos-approved extension specifications are updated in response to issues and bugs prioritized by the Khronos OpenGL Working Group. For extensions which have been promoted to a core Specification, fixes will first appear in the latest version of that core Specification, and will eventually be backported to the extension document. This policy is described in more detail at https://www.khronos.org/registry/OpenGL/docs/update_policy.php Status Complete. Approved by ARB on 12/8/1999 Version Last Modified Date: June 22, 2000 Author Revision: 0.3 Based on: EXT_texture_env_add Date: 1999/03/22 Revision: 1.1 Number ARB Extension #6 Dependencies None Overview New texture environment function ADD is supported with the following equation: Cv = min(1, Cf + Ct) New function may be specified by calling TexEnv with ADD token. One possible application is to add a specular highlight texture to a Gouraud-shaded primitive to emulate Phong shading, in a single pass. New Procedures and Functions None New Tokens Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnvfi when the parameter value is GL_TEXTURE_ENV_MODE ADD Additions to Chapter 2 of the GL Specification (OpenGL Operation) None Additions to Chapter 3 of the GL Specification (Rasterization) The description of TEXTURE_ENV_MODE in the first paragraph of section 3.8.9 should be modified as follows: TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE, DECAL, BLEND or ADD; Table 3.19 is augmented as follows: Base DECAL BLEND ADD Internal Format tex func tex func tex func --------------- ----- ----- --- ALPHA ... ... Rv = Rf ... ... Gv = Gf ... ... Bv = Bf ... ... Av = AfAt LUMINANCE ... ... Rv = min(1, Rf+Lt) (or 1) ... ... Gv = min(1, Gf+Lt) ... ... Bv = min(1, Bf+Lt) ... ... Av = Af LUMINANCE_ALPHA ... ... Rv = min(1, Rf+Lt) (or 2) ... ... Gv = min(1, Gf+Lt) ... ... Bv = min(1, Bf+Lt) ... ... Av = AfAt INTENSITY ... ... Rv = min(1, Rf+It) ... ... Gv = min(1, Gf+It) ... ... Bv = min(1, Bf+It) ... ... Av = min(1, Af+It) RGB ... ... Rv = min(1, Rf+Rt) (or 3) ... ... Gv = min(1, Gf+Gt) ... ... Bv = min(1, Bf+Bt) ... ... Av = Af RGBA ... ... Rv = min(1, Rf+Rt) (or 4) ... ... Gv = min(1, Gf+Gt) ... ... Bv = min(1, Bf+Bt) ... ... Av = AfAt Table 3.19: Decal, blend and add texture functions. Additions to Chapter 4 of the GL Specification (Per-Fragment Operations and the Framebuffer) None Additions to Chapter 5 of the GL Specification (Special Functions) None Additions to Chapter 6 of the GL Specification (State and State Requests) None Additions to the GLX / WGL / AGL Specifications None GLX Protocol None Errors None New State The Type of TEXTURE_ENV_MODE in Table F.2 should be changed to 1 * xZ5 New Implementation Dependent State None Revision History 11/09/1999 0.1 - First ARB draft based on the original EXT draft. 1/13/2000 0.2 - Added justification to the overview - Updated to describe modifications to 1.2.1 specification - Added changes to description of TEXTURE_ENV_MODE parameter to TexEnv{if} and TexEnv{if}v - Added change to TEXTURE_ENV_MODE type (Z4 -> Z5) 6/22/2000 0.3 - The addition should saturate to 1.