blob: eaf0a2fbd39dc084d4c8839d82fa5e77b90c3644 [file] [log] [blame]
XXX - Not complete yet!!!
Name
EXT_index_texture
Name Strings
GL_EXT_index_texture
Version
$Date: 1996/11/21 00:52:26 $ $Revision: 1.4 $
Number
93
Dependencies
EXT_paletted_texture is required
Overview
This extends the definition of texturing so that it is supported
in color index mode. This extension builds on the notion of
texture images which have color index internal formats which was
introduced in EXT_paletted_texture.
This extension also introduces a new texture environment function
ADD which is useful for combining lighting and texturing in
color index mode.
Issues
* EXT_paletted_texture should probably have defined
TEXTURE_BORDER_INDEX
TEXTURE_INDEX_SIZE
Should we go ahead and introduce them in this extension?
* ADD is defined differently for RGBA mode in SGIX_texture_add_env
Should we add TEXTURE_ENV_SHIFT and TEXTURE_ENV_OFFSET parameters
so that the environment functions works similarly? Probably not.
New Procedures and Functions
None
New Tokens
None
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
In Section 3.8, the sentence "Texturing is specified only for RGBA
mode; its use in color index mode is undefined." is deleted. And
the sentence "These details include specification of the image to
be texture mapped, the means by which the image is filtered when
applied to the primitive, and the function that determines what
RGBA value is produced given a fragment color and an image value."
is modified to read "...determine what RGBA or color index value
is produced given a fragment color or index...".
The remaining discussion of texturing is modified as per
EXT_paletted_texture with the following modifications:
The discussion of restrictions on the <internalFormat> parameter
for CopyTexImage1D and CopyTexImage2D is modifies to read: "...except
that <internalFormat> may not be specified as 1, 2, 3, or 4 nor may
<internalFormat> be specified using one of the color index internal
formats unless the GL is in color index mode."
Use of texture palettes is supported in both RGBA mode and color
index mode. The texture palette is applied to color indexes extracted
from the texture array only when the texture palette has a Luminance,
Alpha, Luminance Alpha, Intensity, RGB, or RGBA internal format and
the GL is in RGBA mode or when the texture palette has a color index
internal format and the GL is in color index mode. If both the
texture image and the texture palette have color index internal
formats and the GL is in RGBA mode, then the texture is inconsistent.
In Section 3.8.5 "Texture Environments and Texture Functions", the
sentence discussing possible environment parameters is modified to
say: "...TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE,
DECAL, BLEND, or ADD...". Also Tables 3.10 and 3.11 are extended
to include the following new row and column
Cf is the index from the incoming fragment
Ct is the filtered texture index
Cv is the index computed by the texture environment function
Base REPLACE MODULATE DECAL BLEND ADD
Internal Format Tex Func Tex Func Tex Func Tex Func Tex Func
--------------- -------- -------- -------- -------- --------
. . . . . .
. . . . . undef
. . . . . .
COLOR_INDEX Cv=Ct Cv=Cf*Ct undef undef Cv=Cf+Ct
. . . . . .
. . . . . undef
. . . . . .
In Section 3.8.6 "Texture Application", is modified to include
a description of what happens in color index mode. "In RGBA
mode this function replaces the incoming fragment's R, G, B, and A
values. These are the color values passed to subsequent operations.
In color index mode the resulting index is first masked (bitwise
ANDed) with 2^n - 1, where n is the number of bits in a color in
the color index buffer and then passed on to subsequent operations."
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
None
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
None
Additions to the GLX Specification
XXX - Not complete yet!!!
GLX Protocol
XXX - Not complete yet!!!
Dependencies on EXT_paletted_texture
EXT_paletted_texture is required. This extension depends on the
notion of color index internal formats for texture images as introduced
by EXT_paletted_texture.
EXT_paletted_texture is modified by this extension by allowing texture
palettes to be used in color index mode.
Errors
None
New State
None
New Implementation Dependent State
None