15bd8deadSopenharmony_ciXXX - Not complete yet!!! 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci EXT_index_texture 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_EXT_index_texture 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1996/11/21 00:52:26 $ $Revision: 1.4 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci 93 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci EXT_paletted_texture is required 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extends the definition of texturing so that it is supported 265bd8deadSopenharmony_ci in color index mode. This extension builds on the notion of 275bd8deadSopenharmony_ci texture images which have color index internal formats which was 285bd8deadSopenharmony_ci introduced in EXT_paletted_texture. 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci This extension also introduces a new texture environment function 315bd8deadSopenharmony_ci ADD which is useful for combining lighting and texturing in 325bd8deadSopenharmony_ci color index mode. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ciIssues 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci * EXT_paletted_texture should probably have defined 375bd8deadSopenharmony_ci TEXTURE_BORDER_INDEX 385bd8deadSopenharmony_ci TEXTURE_INDEX_SIZE 395bd8deadSopenharmony_ci Should we go ahead and introduce them in this extension? 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci * ADD is defined differently for RGBA mode in SGIX_texture_add_env 425bd8deadSopenharmony_ci Should we add TEXTURE_ENV_SHIFT and TEXTURE_ENV_OFFSET parameters 435bd8deadSopenharmony_ci so that the environment functions works similarly? Probably not. 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ciNew Procedures and Functions 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci None 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciNew Tokens 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci None 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation) 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci None 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization) 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci In Section 3.8, the sentence "Texturing is specified only for RGBA 605bd8deadSopenharmony_ci mode; its use in color index mode is undefined." is deleted. And 615bd8deadSopenharmony_ci the sentence "These details include specification of the image to 625bd8deadSopenharmony_ci be texture mapped, the means by which the image is filtered when 635bd8deadSopenharmony_ci applied to the primitive, and the function that determines what 645bd8deadSopenharmony_ci RGBA value is produced given a fragment color and an image value." 655bd8deadSopenharmony_ci is modified to read "...determine what RGBA or color index value 665bd8deadSopenharmony_ci is produced given a fragment color or index...". 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ci The remaining discussion of texturing is modified as per 695bd8deadSopenharmony_ci EXT_paletted_texture with the following modifications: 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ci The discussion of restrictions on the <internalFormat> parameter 725bd8deadSopenharmony_ci for CopyTexImage1D and CopyTexImage2D is modifies to read: "...except 735bd8deadSopenharmony_ci that <internalFormat> may not be specified as 1, 2, 3, or 4 nor may 745bd8deadSopenharmony_ci <internalFormat> be specified using one of the color index internal 755bd8deadSopenharmony_ci formats unless the GL is in color index mode." 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci Use of texture palettes is supported in both RGBA mode and color 785bd8deadSopenharmony_ci index mode. The texture palette is applied to color indexes extracted 795bd8deadSopenharmony_ci from the texture array only when the texture palette has a Luminance, 805bd8deadSopenharmony_ci Alpha, Luminance Alpha, Intensity, RGB, or RGBA internal format and 815bd8deadSopenharmony_ci the GL is in RGBA mode or when the texture palette has a color index 825bd8deadSopenharmony_ci internal format and the GL is in color index mode. If both the 835bd8deadSopenharmony_ci texture image and the texture palette have color index internal 845bd8deadSopenharmony_ci formats and the GL is in RGBA mode, then the texture is inconsistent. 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ci In Section 3.8.5 "Texture Environments and Texture Functions", the 875bd8deadSopenharmony_ci sentence discussing possible environment parameters is modified to 885bd8deadSopenharmony_ci say: "...TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE, 895bd8deadSopenharmony_ci DECAL, BLEND, or ADD...". Also Tables 3.10 and 3.11 are extended 905bd8deadSopenharmony_ci to include the following new row and column 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci Cf is the index from the incoming fragment 935bd8deadSopenharmony_ci Ct is the filtered texture index 945bd8deadSopenharmony_ci Cv is the index computed by the texture environment function 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci Base REPLACE MODULATE DECAL BLEND ADD 975bd8deadSopenharmony_ci Internal Format Tex Func Tex Func Tex Func Tex Func Tex Func 985bd8deadSopenharmony_ci --------------- -------- -------- -------- -------- -------- 995bd8deadSopenharmony_ci . . . . . . 1005bd8deadSopenharmony_ci . . . . . undef 1015bd8deadSopenharmony_ci . . . . . . 1025bd8deadSopenharmony_ci COLOR_INDEX Cv=Ct Cv=Cf*Ct undef undef Cv=Cf+Ct 1035bd8deadSopenharmony_ci . . . . . . 1045bd8deadSopenharmony_ci . . . . . undef 1055bd8deadSopenharmony_ci . . . . . . 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ci In Section 3.8.6 "Texture Application", is modified to include 1085bd8deadSopenharmony_ci a description of what happens in color index mode. "In RGBA 1095bd8deadSopenharmony_ci mode this function replaces the incoming fragment's R, G, B, and A 1105bd8deadSopenharmony_ci values. These are the color values passed to subsequent operations. 1115bd8deadSopenharmony_ci In color index mode the resulting index is first masked (bitwise 1125bd8deadSopenharmony_ci ANDed) with 2^n - 1, where n is the number of bits in a color in 1135bd8deadSopenharmony_ci the color index buffer and then passed on to subsequent operations." 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations 1165bd8deadSopenharmony_ciand the Frame Buffer) 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci None 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions) 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci None 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests) 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci None 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ciAdditions to the GLX Specification 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ci XXX - Not complete yet!!! 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ciGLX Protocol 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ci XXX - Not complete yet!!! 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciDependencies on EXT_paletted_texture 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci EXT_paletted_texture is required. This extension depends on the 1395bd8deadSopenharmony_ci notion of color index internal formats for texture images as introduced 1405bd8deadSopenharmony_ci by EXT_paletted_texture. 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci EXT_paletted_texture is modified by this extension by allowing texture 1435bd8deadSopenharmony_ci palettes to be used in color index mode. 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ciErrors 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci None 1485bd8deadSopenharmony_ci 1495bd8deadSopenharmony_ciNew State 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ci None 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ciNew Implementation Dependent State 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci None 156