| Name |
| |
| SGIS_generate_mipmap |
| |
| Name Strings |
| |
| GL_SGIS_generate_mipmap |
| |
| Version |
| |
| $Date: 1997/02/26 03:36:30 $ $Revision: 1.6 $ |
| |
| Number |
| |
| 32 |
| |
| Dependencies |
| |
| EXT_texture is required |
| EXT_texture3D affects the definition of this extension |
| EXT_texture_object affects the definition of this extension |
| SGIS_texture_lod affects the definition of this extension |
| |
| Overview |
| |
| This extension defines a mechanism by which OpenGL can derive the |
| entire set of mipmap arrays when provided with only the base level |
| array. Automatic mipmap generation is particularly useful when |
| texture images are being provided as a video stream. |
| |
| Issues |
| |
| * How are edges handled? |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <pname> parameter of TexParameteri, TexParameterf, |
| TexParameteriv, TexParameterfv, GetTexParameteriv, and GetTexParameterfv: |
| |
| GENERATE_MIPMAP_SGIS 0x8191 |
| |
| Accepted by the <target> parameter of Hint, and by the <pname> |
| parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: |
| |
| GENERATE_MIPMAP_HINT_SGIS 0x8192 |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the 1.0 Specification (Rasterization) |
| |
| GL Specification Table 3.7 is updated as follows: |
| |
| Name Type Legal Values |
| ---- ---- ------------ |
| TEXTURE_WRAP_S integer CLAMP, REPEAT |
| TEXTURE_WRAP_T integer CLAMP, REPEAT |
| TEXTURE_WRAP_R_EXT integer CLAMP, REPEAT |
| TEXTURE_MIN_FILTER integer NEAREST, LINEAR, |
| NEAREST_MIPMAP_NEAREST, |
| NEAREST_MIPMAP_LINEAR, |
| LINEAR_MIPMAP_NEAREST, |
| LINEAR_MIPMAP_LINEAR, |
| FILTER4_SGIS |
| TEXTURE_MAG_FILTER integer NEAREST, LINEAR, |
| FILTER4_SGIS, |
| LINEAR_DETAIL_SGIS, |
| LINEAR_DETAIL_ALPHA_SGIS, |
| LINEAR_DETAIL_COLOR_SGIS, |
| LINEAR_SHARPEN_SGIS, |
| LINEAR_SHARPEN_ALPHA_SGIS, |
| LINEAR_SHARPEN_COLOR_SGIS |
| TEXTURE_BORDER_COLOR 4 floats any 4 values in [0,1] |
| DETAIL_TEXTURE_LEVEL_SGIS integer any non-negative integer |
| DETAIL_TEXTURE_MODE_SGIS integer ADD, MODULATE |
| TEXTURE_MIN_LOD_SGIS float any value |
| TEXTURE_MAX_LOD_SGIS float any value |
| TEXTURE_BASE_LEVEL_SGIS integer any non-negative integer |
| TEXTURE_MAX_LEVEL_SGIS integer any non-negative integer |
| GENERATE_MIPMAP_SGIS boolean TRUE or FALSE |
| |
| Table 3.7: Texture parameters and their values. |
| |
| This extension introduces a side effect to the modification of the |
| base level mipmap array. The side effect is enabled on a per-texture |
| basis by calling TexParameteri, TexParameterf, TexParameteriv, or |
| TexParameterfv with <target> set to TEXTURE_1D, TEXTURE_2D, or |
| TEXTURE_3D_EXT, <pname> set to GENERATE_MIPMAP_SGIS, and <param> |
| set to TRUE (or <params> pointing to TRUE). It is disabled using the |
| same call, with <param> set to FALSE, or <params> pointing to FALSE. |
| If SGIS_texture_lod is supported, the base level array is the array |
| number TEXTURE_BASE_LEVEL_SGIS. Otherwise the base level array is |
| array zero. |
| |
| If GENERATE_MIPMAP_SGIS is enabled, the side effect occurs whenever |
| any change is made to the interior or edge image values of the base |
| level texture array. The side effect is computation of a complete |
| set of mipmap arrays, all derived from the modified base level array. |
| Array levels BASE+1 through BASE+p are replaced with derived arrays, |
| regardless of their previous contents. All other texture arrays, |
| including the base array, are left unchanged by this mipmap computation. |
| |
| The internal formats and border widths of the derived mipmap arrays |
| all match those of the base array, and the dimensions of the derived |
| arrays follow the requirements described in the Mipmapping section of |
| the GL Specification. The result is that the set of mipmap arrays is |
| complete as defined by the GL Specification. The contents of the |
| derived image arrays are computed by repeated, filtered reduction of |
| the base level image array. This specification does not require any |
| particular filter algorithm, though a simple 2x2 box filter is |
| recommended as the default filter. Hint variable |
| GENERATE_MIPMAP_HINT_SGIS can be changed from its default value of |
| DONT_CARE to either FASTEST or NICEST, indicating to the implementation |
| that either the fastest or highest quality filter operation is desired. |
| These operations are not defined by this specification, however. The |
| single hint value controls the filtering of all the textures, and is |
| evaluated when the filtering operation takes place. |
| |
| Automatic mipmap generation is available for texture targets TEXTURE_1D, |
| TEXTURE_2D, and TEXTURE_3D_EXT only. |
| |
| Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations |
| and the Frame Buffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.0 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.0 Specification (State and State Requests) |
| |
| None |
| |
| Additions to the GLX Specification |
| |
| None |
| |
| Dependencies on EXT_texture |
| |
| EXT_texture is required. |
| |
| Dependencies on EXT_texture3D |
| |
| If EXT_texture3D is not supported, references to 3D texture mapping and |
| to TEXTURE_3D_EXT in this document are invalid and should be ignored. |
| |
| Dependencies on EXT_texture_object |
| |
| If EXT_texture_object is implemented, the state value named |
| |
| GENERATE_MIPMAP_SGIS |
| |
| is added to the state vector of each texture object. When an attribute |
| set that includes texture information is popped, the bindings and |
| enables are first restored to their pushed values, then the bound |
| textures have their GENERATE_MIPMAP_SGIS parameters restored to their |
| pushed values. |
| |
| Dependencies on SGIS_texture_lod |
| |
| If SGIS_texture_lod is not supported, the base array level is always |
| level zero. References in this document to TEXTURE_BASE_LEVEL_SGIS |
| should be ignored. |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| Initial |
| Get Value Get Command Type Value Attrib |
| --------- ----------- ---- ------- ------ |
| GENERATE_MIPMAP_SGIS GetTexParameteriv B FALSE texture |
| GENERATE_MIPMAP_HINT_SGIS GetIntegerv Z3 DONT_CARE hint |
| |
| New Implementation Dependent State |
| |
| None |