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 parameter for CopyTexImage1D and CopyTexImage2D is modifies to read: "...except that may not be specified as 1, 2, 3, or 4 nor may 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