15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci SGIS_generate_mipmap 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_SGIS_generate_mipmap 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1997/02/26 03:36:30 $ $Revision: 1.6 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci 32 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci EXT_texture is required 205bd8deadSopenharmony_ci EXT_texture3D affects the definition of this extension 215bd8deadSopenharmony_ci EXT_texture_object affects the definition of this extension 225bd8deadSopenharmony_ci SGIS_texture_lod affects the definition of this extension 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciOverview 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci This extension defines a mechanism by which OpenGL can derive the 275bd8deadSopenharmony_ci entire set of mipmap arrays when provided with only the base level 285bd8deadSopenharmony_ci array. Automatic mipmap generation is particularly useful when 295bd8deadSopenharmony_ci texture images are being provided as a video stream. 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciIssues 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci * How are edges handled? 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciNew Procedures and Functions 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci None 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ciNew Tokens 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci Accepted by the <pname> parameter of TexParameteri, TexParameterf, 425bd8deadSopenharmony_ci TexParameteriv, TexParameterfv, GetTexParameteriv, and GetTexParameterfv: 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci GENERATE_MIPMAP_SGIS 0x8191 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci Accepted by the <target> parameter of Hint, and by the <pname> 475bd8deadSopenharmony_ci parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci GENERATE_MIPMAP_HINT_SGIS 0x8192 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci None 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci GL Specification Table 3.7 is updated as follows: 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci Name Type Legal Values 605bd8deadSopenharmony_ci ---- ---- ------------ 615bd8deadSopenharmony_ci TEXTURE_WRAP_S integer CLAMP, REPEAT 625bd8deadSopenharmony_ci TEXTURE_WRAP_T integer CLAMP, REPEAT 635bd8deadSopenharmony_ci TEXTURE_WRAP_R_EXT integer CLAMP, REPEAT 645bd8deadSopenharmony_ci TEXTURE_MIN_FILTER integer NEAREST, LINEAR, 655bd8deadSopenharmony_ci NEAREST_MIPMAP_NEAREST, 665bd8deadSopenharmony_ci NEAREST_MIPMAP_LINEAR, 675bd8deadSopenharmony_ci LINEAR_MIPMAP_NEAREST, 685bd8deadSopenharmony_ci LINEAR_MIPMAP_LINEAR, 695bd8deadSopenharmony_ci FILTER4_SGIS 705bd8deadSopenharmony_ci TEXTURE_MAG_FILTER integer NEAREST, LINEAR, 715bd8deadSopenharmony_ci FILTER4_SGIS, 725bd8deadSopenharmony_ci LINEAR_DETAIL_SGIS, 735bd8deadSopenharmony_ci LINEAR_DETAIL_ALPHA_SGIS, 745bd8deadSopenharmony_ci LINEAR_DETAIL_COLOR_SGIS, 755bd8deadSopenharmony_ci LINEAR_SHARPEN_SGIS, 765bd8deadSopenharmony_ci LINEAR_SHARPEN_ALPHA_SGIS, 775bd8deadSopenharmony_ci LINEAR_SHARPEN_COLOR_SGIS 785bd8deadSopenharmony_ci TEXTURE_BORDER_COLOR 4 floats any 4 values in [0,1] 795bd8deadSopenharmony_ci DETAIL_TEXTURE_LEVEL_SGIS integer any non-negative integer 805bd8deadSopenharmony_ci DETAIL_TEXTURE_MODE_SGIS integer ADD, MODULATE 815bd8deadSopenharmony_ci TEXTURE_MIN_LOD_SGIS float any value 825bd8deadSopenharmony_ci TEXTURE_MAX_LOD_SGIS float any value 835bd8deadSopenharmony_ci TEXTURE_BASE_LEVEL_SGIS integer any non-negative integer 845bd8deadSopenharmony_ci TEXTURE_MAX_LEVEL_SGIS integer any non-negative integer 855bd8deadSopenharmony_ci GENERATE_MIPMAP_SGIS boolean TRUE or FALSE 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci Table 3.7: Texture parameters and their values. 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci This extension introduces a side effect to the modification of the 905bd8deadSopenharmony_ci base level mipmap array. The side effect is enabled on a per-texture 915bd8deadSopenharmony_ci basis by calling TexParameteri, TexParameterf, TexParameteriv, or 925bd8deadSopenharmony_ci TexParameterfv with <target> set to TEXTURE_1D, TEXTURE_2D, or 935bd8deadSopenharmony_ci TEXTURE_3D_EXT, <pname> set to GENERATE_MIPMAP_SGIS, and <param> 945bd8deadSopenharmony_ci set to TRUE (or <params> pointing to TRUE). It is disabled using the 955bd8deadSopenharmony_ci same call, with <param> set to FALSE, or <params> pointing to FALSE. 965bd8deadSopenharmony_ci If SGIS_texture_lod is supported, the base level array is the array 975bd8deadSopenharmony_ci number TEXTURE_BASE_LEVEL_SGIS. Otherwise the base level array is 985bd8deadSopenharmony_ci array zero. 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci If GENERATE_MIPMAP_SGIS is enabled, the side effect occurs whenever 1015bd8deadSopenharmony_ci any change is made to the interior or edge image values of the base 1025bd8deadSopenharmony_ci level texture array. The side effect is computation of a complete 1035bd8deadSopenharmony_ci set of mipmap arrays, all derived from the modified base level array. 1045bd8deadSopenharmony_ci Array levels BASE+1 through BASE+p are replaced with derived arrays, 1055bd8deadSopenharmony_ci regardless of their previous contents. All other texture arrays, 1065bd8deadSopenharmony_ci including the base array, are left unchanged by this mipmap computation. 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci The internal formats and border widths of the derived mipmap arrays 1095bd8deadSopenharmony_ci all match those of the base array, and the dimensions of the derived 1105bd8deadSopenharmony_ci arrays follow the requirements described in the Mipmapping section of 1115bd8deadSopenharmony_ci the GL Specification. The result is that the set of mipmap arrays is 1125bd8deadSopenharmony_ci complete as defined by the GL Specification. The contents of the 1135bd8deadSopenharmony_ci derived image arrays are computed by repeated, filtered reduction of 1145bd8deadSopenharmony_ci the base level image array. This specification does not require any 1155bd8deadSopenharmony_ci particular filter algorithm, though a simple 2x2 box filter is 1165bd8deadSopenharmony_ci recommended as the default filter. Hint variable 1175bd8deadSopenharmony_ci GENERATE_MIPMAP_HINT_SGIS can be changed from its default value of 1185bd8deadSopenharmony_ci DONT_CARE to either FASTEST or NICEST, indicating to the implementation 1195bd8deadSopenharmony_ci that either the fastest or highest quality filter operation is desired. 1205bd8deadSopenharmony_ci These operations are not defined by this specification, however. The 1215bd8deadSopenharmony_ci single hint value controls the filtering of all the textures, and is 1225bd8deadSopenharmony_ci evaluated when the filtering operation takes place. 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci Automatic mipmap generation is available for texture targets TEXTURE_1D, 1255bd8deadSopenharmony_ci TEXTURE_2D, and TEXTURE_3D_EXT only. 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 1285bd8deadSopenharmony_ciand the Frame Buffer) 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ci None 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ci None 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci None 1395bd8deadSopenharmony_ci 1405bd8deadSopenharmony_ciAdditions to the GLX Specification 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci None 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ciDependencies on EXT_texture 1455bd8deadSopenharmony_ci 1465bd8deadSopenharmony_ci EXT_texture is required. 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ciDependencies on EXT_texture3D 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci If EXT_texture3D is not supported, references to 3D texture mapping and 1515bd8deadSopenharmony_ci to TEXTURE_3D_EXT in this document are invalid and should be ignored. 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ciDependencies on EXT_texture_object 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci If EXT_texture_object is implemented, the state value named 1565bd8deadSopenharmony_ci 1575bd8deadSopenharmony_ci GENERATE_MIPMAP_SGIS 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ci is added to the state vector of each texture object. When an attribute 1605bd8deadSopenharmony_ci set that includes texture information is popped, the bindings and 1615bd8deadSopenharmony_ci enables are first restored to their pushed values, then the bound 1625bd8deadSopenharmony_ci textures have their GENERATE_MIPMAP_SGIS parameters restored to their 1635bd8deadSopenharmony_ci pushed values. 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ciDependencies on SGIS_texture_lod 1665bd8deadSopenharmony_ci 1675bd8deadSopenharmony_ci If SGIS_texture_lod is not supported, the base array level is always 1685bd8deadSopenharmony_ci level zero. References in this document to TEXTURE_BASE_LEVEL_SGIS 1695bd8deadSopenharmony_ci should be ignored. 1705bd8deadSopenharmony_ci 1715bd8deadSopenharmony_ciErrors 1725bd8deadSopenharmony_ci 1735bd8deadSopenharmony_ci None 1745bd8deadSopenharmony_ci 1755bd8deadSopenharmony_ciNew State 1765bd8deadSopenharmony_ci 1775bd8deadSopenharmony_ci Initial 1785bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 1795bd8deadSopenharmony_ci --------- ----------- ---- ------- ------ 1805bd8deadSopenharmony_ci GENERATE_MIPMAP_SGIS GetTexParameteriv B FALSE texture 1815bd8deadSopenharmony_ci GENERATE_MIPMAP_HINT_SGIS GetIntegerv Z3 DONT_CARE hint 1825bd8deadSopenharmony_ci 1835bd8deadSopenharmony_ciNew Implementation Dependent State 1845bd8deadSopenharmony_ci 1855bd8deadSopenharmony_ci None 186