1XXX - Not complete yet!!! 2 3Name 4 5 EXT_index_texture 6 7Name Strings 8 9 GL_EXT_index_texture 10 11Version 12 13 $Date: 1996/11/21 00:52:26 $ $Revision: 1.4 $ 14 15Number 16 17 93 18 19Dependencies 20 21 EXT_paletted_texture is required 22 23Overview 24 25 This extends the definition of texturing so that it is supported 26 in color index mode. This extension builds on the notion of 27 texture images which have color index internal formats which was 28 introduced in EXT_paletted_texture. 29 30 This extension also introduces a new texture environment function 31 ADD which is useful for combining lighting and texturing in 32 color index mode. 33 34Issues 35 36 * EXT_paletted_texture should probably have defined 37 TEXTURE_BORDER_INDEX 38 TEXTURE_INDEX_SIZE 39 Should we go ahead and introduce them in this extension? 40 41 * ADD is defined differently for RGBA mode in SGIX_texture_add_env 42 Should we add TEXTURE_ENV_SHIFT and TEXTURE_ENV_OFFSET parameters 43 so that the environment functions works similarly? Probably not. 44 45New Procedures and Functions 46 47 None 48 49New Tokens 50 51 None 52 53Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) 54 55 None 56 57Additions to Chapter 3 of the 1.1 Specification (Rasterization) 58 59 In Section 3.8, the sentence "Texturing is specified only for RGBA 60 mode; its use in color index mode is undefined." is deleted. And 61 the sentence "These details include specification of the image to 62 be texture mapped, the means by which the image is filtered when 63 applied to the primitive, and the function that determines what 64 RGBA value is produced given a fragment color and an image value." 65 is modified to read "...determine what RGBA or color index value 66 is produced given a fragment color or index...". 67 68 The remaining discussion of texturing is modified as per 69 EXT_paletted_texture with the following modifications: 70 71 The discussion of restrictions on the <internalFormat> parameter 72 for CopyTexImage1D and CopyTexImage2D is modifies to read: "...except 73 that <internalFormat> may not be specified as 1, 2, 3, or 4 nor may 74 <internalFormat> be specified using one of the color index internal 75 formats unless the GL is in color index mode." 76 77 Use of texture palettes is supported in both RGBA mode and color 78 index mode. The texture palette is applied to color indexes extracted 79 from the texture array only when the texture palette has a Luminance, 80 Alpha, Luminance Alpha, Intensity, RGB, or RGBA internal format and 81 the GL is in RGBA mode or when the texture palette has a color index 82 internal format and the GL is in color index mode. If both the 83 texture image and the texture palette have color index internal 84 formats and the GL is in RGBA mode, then the texture is inconsistent. 85 86 In Section 3.8.5 "Texture Environments and Texture Functions", the 87 sentence discussing possible environment parameters is modified to 88 say: "...TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE, 89 DECAL, BLEND, or ADD...". Also Tables 3.10 and 3.11 are extended 90 to include the following new row and column 91 92 Cf is the index from the incoming fragment 93 Ct is the filtered texture index 94 Cv is the index computed by the texture environment function 95 96 Base REPLACE MODULATE DECAL BLEND ADD 97 Internal Format Tex Func Tex Func Tex Func Tex Func Tex Func 98 --------------- -------- -------- -------- -------- -------- 99 . . . . . . 100 . . . . . undef 101 . . . . . . 102 COLOR_INDEX Cv=Ct Cv=Cf*Ct undef undef Cv=Cf+Ct 103 . . . . . . 104 . . . . . undef 105 . . . . . . 106 107 In Section 3.8.6 "Texture Application", is modified to include 108 a description of what happens in color index mode. "In RGBA 109 mode this function replaces the incoming fragment's R, G, B, and A 110 values. These are the color values passed to subsequent operations. 111 In color index mode the resulting index is first masked (bitwise 112 ANDed) with 2^n - 1, where n is the number of bits in a color in 113 the color index buffer and then passed on to subsequent operations." 114 115Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations 116and the Frame Buffer) 117 118 None 119 120Additions to Chapter 5 of the 1.1 Specification (Special Functions) 121 122 None 123 124Additions to Chapter 6 of the 1.1 Specification (State and State Requests) 125 126 None 127 128Additions to the GLX Specification 129 130 XXX - Not complete yet!!! 131 132GLX Protocol 133 134 XXX - Not complete yet!!! 135 136Dependencies on EXT_paletted_texture 137 138 EXT_paletted_texture is required. This extension depends on the 139 notion of color index internal formats for texture images as introduced 140 by EXT_paletted_texture. 141 142 EXT_paletted_texture is modified by this extension by allowing texture 143 palettes to be used in color index mode. 144 145Errors 146 147 None 148 149New State 150 151 None 152 153New Implementation Dependent State 154 155 None 156