blob: dfa2fdf3571187ce03fd86c475a4616513a84e4a [file] [log] [blame]
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 <params> parameter of TexEnvf, TexEnvi, TexEnvfv, and
TexEnvfi when the <pname> 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.