| 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 |