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 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.