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