blob: 6b3cb95e1717a7af8e1a0db98cdded58ee0ed0f7 [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
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 <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.