home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / gltexparameter.z / gltexparameter
Encoding:
Text File  |  2002-10-03  |  116.0 KB  |  1,195 lines

  1.  
  2.  
  3.  
  4. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrrffff,,,, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrriiii,,,, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrrffffvvvv,,,, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrriiiivvvv -
  10.      set texture parameters
  11.  
  12.  
  13. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  14.      void ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrrffff( GLenum _t_a_r_g_e_t,
  15.                            GLenum _p_n_a_m_e,
  16.                            GLfloat _p_a_r_a_m )
  17.      void ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrriiii( GLenum _t_a_r_g_e_t,
  18.                            GLenum _p_n_a_m_e,
  19.                            GLint _p_a_r_a_m )
  20.  
  21.  
  22. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  23.      _t_a_r_g_e_t  Specifies the target texture, which must be either GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD,
  24.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT.
  25.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS.
  26.  
  27.      _p_n_a_m_e   Specifies the symbolic name of a single-valued texture parameter.
  28.              _p_n_a_m_e can be one of the following:  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR,
  29.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAGGGG____FFFFIIIILLLLTTTTEEEERRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD,
  30.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS,
  31.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____QQQQ____SSSSGGGGIIIISSSS,
  32.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____PPPPRRRRIIIIOOOORRRRIIIITTTTYYYY, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS,
  33.              GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMOOOODDDDEEEE____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS,
  34.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS,
  35.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____SSSS____SSSSGGGGIIIIXXXX,
  36.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____TTTT____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____RRRR____SSSSGGGGIIIIXXXX,
  37.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX,
  38.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____RRRR____SSSSGGGGIIIIXXXX, GGGGLLLL____DDDDUUUUAAAALLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS,
  39.              GGGGLLLL____QQQQUUUUAAAADDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX,
  40.              GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____OOOOPPPPEEEERRRRAAAATTTTOOOORRRR____SSSSGGGGIIIIXXXX, or
  41.              GGGGLLLL____SSSSHHHHAAAADDDDOOOOWWWW____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX.
  42.  
  43.      _p_a_r_a_m   Specifies the value of _p_n_a_m_e.
  44.  
  45. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  46.      void ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrrffffvvvv( GLenum _t_a_r_g_e_t,
  47.                             GLenum _p_n_a_m_e,
  48.                             const GLfloat *_p_a_r_a_m_s )
  49.      void ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrriiiivvvv( GLenum _t_a_r_g_e_t,
  50.                             GLenum _p_n_a_m_e,
  51.                             const GLint *_p_a_r_a_m_s )
  52.  
  53.  
  54. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  55.      _t_a_r_g_e_t
  56.           Specifies the target texture, which must be either GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD,
  57.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT.
  58.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      _p_n_a_m_e
  75.           Specifies the symbolic name of a texture parameter.  _p_n_a_m_e can be
  76.           one of the following:  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAGGGG____FFFFIIIILLLLTTTTEEEERRRR,
  77.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL,
  78.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT,
  79.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____QQQQ____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____PPPPRRRRIIIIOOOORRRRIIIITTTTYYYY,
  80.           GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMOOOODDDDEEEE____SSSSGGGGIIIISSSS,
  81.           GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____BBBBIIIIAAAASSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX,
  82.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBOOOORRRRDDDDEEEERRRR____CCCCOOOOLLLLOOOORRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS,
  83.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS,
  84.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____SSSS____SSSSGGGGIIIIXXXX,
  85.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____TTTT____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____RRRR____SSSSGGGGIIIIXXXX,
  86.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX,
  87.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____RRRR____SSSSGGGGIIIIXXXX, GGGGLLLL____DDDDUUUUAAAALLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS,
  88.           GGGGLLLL____QQQQUUUUAAAADDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX,
  89.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX,
  90.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____SSSSGGGGIIIIXXXX,
  91.           GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____OOOOPPPPEEEERRRRAAAATTTTOOOORRRR____SSSSGGGGIIIIXXXX, or GGGGLLLL____SSSSHHHHAAAADDDDOOOOWWWW____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX.
  92.  
  93.      _p_a_r_a_m_s
  94.           Specifies a pointer to an array where the value or values of _p_n_a_m_e
  95.           are stored.
  96.  
  97. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  98.      Texture mapping is a technique that applies an image onto an object's
  99.      surface as if the image were a decal or cellophane shrink-wrap. The image
  100.      is created in texture space, with an (s, t, r) coordinate system. A
  101.      texture is a one-, two-, or three-dimensional image and a set of
  102.      parameters that determine how samples are derived from the image.
  103.  
  104.      ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr assigns the value or values in _p_a_r_a_m_s to the texture
  105.      parameter specified as _p_n_a_m_e. _t_a_r_g_e_t defines the target texture, either
  106.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD,
  107.      or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS.  The following symbols are accepted in _p_n_a_m_e:
  108.  
  109.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR
  110.                The texture minifying function is used whenever the pixel being
  111.                textured maps to an area greater than one texture element.
  112.                There are eight defined minifying functions.  Two of them use
  113.                the nearest one or nearest four texture elements to compute the
  114.                texture value. Four use mipmaps, and one uses a mipmap variant
  115.                called a clipmap.  One uses an application-specified filter
  116.                that combines four adjacent texture elements (in the 1D case)
  117.                or sixteen adjacent texture elements (in the 2D case).
  118.  
  119.                A mipmap is an ordered set of arrays representing the same
  120.                image at progressively lower resolutions. If the texture has
  121.                            n    m
  122.                dimensions 2  x 2 , there are max(n,m)+1 mipmaps. The first
  123.                                                                 n    m
  124.                mipmap is the original texture, with dimensions 2  x 2 . Each
  125.                                                  k-1    l-1         k    l
  126.                subsequent mipmap has dimensions 2    x 2   , where 2  x 2  are
  127.                the dimensions of the previous mipmap, until either k = 0 or
  128.                l = 0.  At that point, subsequent mipmaps have dimension
  129.  
  130.  
  131.  
  132.                                                                         PPPPaaaaggggeeee 2222
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  140.  
  141.  
  142.  
  143.                     l-1     k-1
  144.                1 x 2    or 2    x 1 until the final mipmap, which has
  145.                dimension 1 x 1. To define the mipmaps, call ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD,
  146.                ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, or
  147.                ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD with the _l_e_v_e_l argument indicating the order
  148.                of the mipmaps.  Level 0 is the original texture; level
  149.                max(n,m) is the final 1 x 1 mipmap.
  150.  
  151.                A clipmap virtualizes a 2D mipmap by storing and using only a
  152.                portion of a full mipmap ``pyramid'' at any given time.  In a
  153.                clipmap with N+1 levels numbered 0 (the base) through N (the
  154.                tip), each image level from B through N contains the full image
  155.                from the corresponding level of the complete mipmap.  Each
  156.                image level from 0 through B-1 contains a subimage of the
  157.                corresponding level of the complete mipmap, called the _r_e_g_i_o_n
  158.                _o_f _i_n_t_e_r_e_s_t.  The region of interest must be the same size in
  159.                all the levels 0 through B-1 - that is, precisely the same size
  160.                as the texture image at mipmap level B.  For the clipmap to be
  161.                usable, only the region of interest need reside in texture
  162.                memory.  When texture filtering requires texels (texture
  163.                elements) that are inside the region of interest for a level,
  164.                they are fetched in just the way they would be accessed for a
  165.                mipmap.  When the required texels fall outside the region of
  166.                interest, then successively higher clipmap levels are queried
  167.                until one is found that contains texels at the appropriate
  168.                coordinates.
  169.  
  170.                Since each 2D mipmap level usually contains four times as many
  171.                texels as the subsequent level, using a clipmap for a few of
  172.                the highest-resolution levels can reduce texture memory
  173.                requirements tremendously.  In addition to reducing memory
  174.                requirements, clipmaps also have features that support paging
  175.                texture images into and out of texture memory.  Clipmaps also
  176.                can be virtualized to support many more levels of detail than
  177.                ordinarily would be available.  (See below for more information
  178.                on paging and virtualization.)  Note that clipmaps may be used
  179.                only with borderless 2D textures.
  180.  
  181.                _p_a_r_a_m_s supplies a function for minifying the texture as one of
  182.                the following:
  183.  
  184.                GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT
  185.                          Returns the value of the texture element that is
  186.                          nearest (in Manhattan distance) to the center of the
  187.                          pixel being textured.
  188.  
  189.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR Returns the weighted average of the two, four, or
  190.                          eight texture elements that are closest to the center
  191.                          of the pixel being textured.  These can include
  192.                          border texture elements, depending on the values of
  193.                          GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT, and
  194.                          GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR, and on the exact mapping.
  195.  
  196.  
  197.  
  198.  
  199.                                                                         PPPPaaaaggggeeee 3333
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  207.  
  208.  
  209.  
  210.                GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT____MMMMIIIIPPPPMMMMAAAAPPPP____NNNNEEEEAAAARRRREEEESSSSTTTT
  211.                          Chooses the mipmap that most closely matches the size
  212.                          of the pixel being textured and uses the GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT
  213.                          criterion (the texture element nearest to the center
  214.                          of the pixel) to produce a texture value.
  215.  
  216.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____MMMMIIIIPPPPMMMMAAAAPPPP____NNNNEEEEAAAARRRREEEESSSSTTTT
  217.                          Chooses the mipmap that most closely matches the size
  218.                          of the pixel being textured and uses the GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR
  219.                          criterion (a weighted average of the four texture
  220.                          elements that are closest to the center of the pixel)
  221.                          to produce a texture value.
  222.  
  223.                GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT____MMMMIIIIPPPPMMMMAAAAPPPP____LLLLIIIINNNNEEEEAAAARRRR
  224.                          Chooses the two mipmaps that most closely match the
  225.                          size of the pixel being textured and uses the
  226.                          GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT criterion (the texture element nearest to
  227.                          the center of the pixel) to produce a texture value
  228.                          from each mipmap. The final texture value is a
  229.                          weighted average of those two values.
  230.  
  231.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____MMMMIIIIPPPPMMMMAAAAPPPP____LLLLIIIINNNNEEEEAAAARRRR
  232.                          Chooses the two mipmaps that most closely match the
  233.                          size of the pixel being textured and uses the
  234.                          GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR criterion (a weighted average of the four
  235.                          texture elements that are closest to the center of
  236.                          the pixel) to produce a texture value from each
  237.                          mipmap.  The final texture value is a weighted
  238.                          average of those two values.
  239.  
  240.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____CCCCEEEEIIIILLLLIIIINNNNGGGG____SSSSGGGGIIIIXXXX
  241.  
  242.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____FFFFLLLLOOOOOOOORRRR____SSSSGGGGIIIIXXXX
  243.  
  244.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____RRRROOOOUUUUNNNNDDDD____SSSSGGGGIIIIXXXX
  245.                          The SSSSGGGGIIIIXXXX____iiiimmmmppppaaaacccctttt____ppppiiiixxxxeeeellll____tttteeeexxxxttttuuuurrrreeee extension allows the
  246.                          ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnnSSSSGGGGIIIIXXXX command to utilize a 4D texture
  247.                          when there is no hardware support for linear
  248.                          interpolation in the q coordinate. In this case the
  249.                          application may get the desired result from a two-
  250.                          pass operation; on the first pass the filter function
  251.                          is set to ceiling with alpha-blending disabled,
  252.                          followed by a second pass set to floor with the
  253.                          appropriate blendfunction set. If a nearest-neighbor
  254.                          mode is acceptable, a one-pass method can be used
  255.                          with the filter set to round (the default).
  256.  
  257.                          Additional information about 4D pixel-texturing can
  258.                          be found man pages for ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnnSSSSGGGGIIIIXXXX.
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.                                                                         PPPPaaaaggggeeee 4444
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  273.  
  274.  
  275.  
  276.                GGGGLLLL____FFFFIIIILLLLTTTTEEEERRRR4444____SSSSGGGGIIIISSSS
  277.                          Returns a weighted average of the four texture
  278.                          elements (in the 1D case) or the sixteen texture
  279.                          elements (in the 2D case) that are closest to the
  280.                          center of the pixel being textured.  These can
  281.                          include border texture elements, although the
  282.                          behavior in such cases is rarely useful.  The weights
  283.                          are derived from a filter kernel specified by the
  284.                          user; see ggggllllTTTTeeeexxxxFFFFiiiilllltttteeeerrrrFFFFuuuunnnnccccSSSSGGGGIIIISSSS for details.  Note that
  285.                          this mode is not supported for 3D textures.
  286.  
  287.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____LLLLIIIINNNNEEEEAAAARRRR____SSSSGGGGIIIIXXXX
  288.                          Similar to GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____MMMMIIIIPPPPMMMMAAAAPPPP____LLLLIIIINNNNEEEEAAAARRRR, but used only
  289.                          with clipmaps.  This method may be used with any
  290.                          magnification filter except GGGGLLLL____FFFFIIIILLLLTTTTEEEERRRR4444____SSSSGGGGIIIISSSS; however,
  291.                          detail and sharpen filtering are performed only when
  292.                          texels are supplied by the level 0 image of the
  293.                          clipmap.
  294.  
  295.                As more texture elements are sampled in the minification
  296.                process, fewer aliasing artifacts will be apparent. While the
  297.                GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT and GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR minification functions can be faster
  298.                than the four mipmap filtering modes, they sample only one,
  299.                four, or eight texture elements to determine the texture value
  300.                of the pixel being rendered and can produce moire patterns or
  301.                ragged transitions. The initial value of GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR
  302.                is GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT____MMMMIIIIPPPPMMMMAAAAPPPP____LLLLIIIINNNNEEEEAAAARRRR.
  303.  
  304.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAGGGG____FFFFIIIILLLLTTTTEEEERRRR
  305.                The texture magnification function is used when the pixel being
  306.                textured maps to an area less than or equal to one texture
  307.                element.  It sets the texture magnification function to any of
  308.                the following.  GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT is generally faster than GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR,
  309.                but it can produce textured images with sharper edges because
  310.                the transition between texture elements is not as smooth. The
  311.                initial value of GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAGGGG____FFFFIIIILLLLTTTTEEEERRRR is GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR.
  312.  
  313.                GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT
  314.                          Returns the value of the texture element that is
  315.                          nearest (in Manhattan distance) to the center of the
  316.                          pixel being textured.
  317.  
  318.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR Returns the weighted average of the two, four, or
  319.                          eight texture elements that are closest to the center
  320.                          of the pixel being textured.  These can include
  321.                          border texture elements, depending on the values of
  322.                          GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT, and
  323.                          GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR, and on the exact mapping.
  324.  
  325.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____DDDDEEEETTTTAAAAIIIILLLL____SSSSGGGGIIIISSSS
  326.                          Returns a weighted average of samples from the
  327.                          current 2D texture and from the current 2D detail
  328.  
  329.  
  330.  
  331.                                                                         PPPPaaaaggggeeee 5555
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  339.  
  340.  
  341.  
  342.                          texture, for all four color components.
  343.  
  344.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____DDDDEEEETTTTAAAAIIIILLLL____AAAALLLLPPPPHHHHAAAA____SSSSGGGGIIIISSSS
  345.                          Returns a weighted average of samples from the
  346.                          current 2D texture and from the current 2D detail
  347.                          texture for the alpha color component; the other
  348.                          three color components are returned as for GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR.
  349.  
  350.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____DDDDEEEETTTTAAAAIIIILLLL____CCCCOOOOLLLLOOOORRRR____SSSSGGGGIIIISSSS
  351.                          Returns a weighted average of samples from the
  352.                          current 2D texture and from the current 2D detail
  353.                          texture for the red, green, and blue color
  354.                          components; the alpha color component is returned as
  355.                          for GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR.
  356.  
  357.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____SSSSHHHHAAAARRRRPPPPEEEENNNN____SSSSGGGGIIIISSSS
  358.                          Returns an extrapolation derived from level zero and
  359.                          level one texture image samples.  This is similar to
  360.                          GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR filtering, but with less blurring.
  361.  
  362.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____SSSSHHHHAAAARRRRPPPPEEEENNNN____AAAALLLLPPPPHHHHAAAA____SSSSGGGGIIIISSSS
  363.                          Returns a sharpened extrapolated value for the alpha
  364.                          color component.  All other color components are
  365.                          returned as for GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR.
  366.  
  367.                GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____SSSSHHHHAAAARRRRPPPPEEEENNNN____CCCCOOOOLLLLOOOORRRR____SSSSGGGGIIIISSSS
  368.                          Returns sharpened extrapolated values for the red,
  369.                          green, and blue color components.  The alpha
  370.                          component is returned as for GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR.
  371.  
  372.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____CCCCEEEEIIIILLLLIIIINNNNGGGG____SSSSGGGGIIIIXXXX
  373.  
  374.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____FFFFLLLLOOOOOOOORRRR____SSSSGGGGIIIIXXXX
  375.  
  376.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____RRRROOOOUUUUNNNNDDDD____SSSSGGGGIIIIXXXX
  377.                          The SSSSGGGGIIIIXXXX____iiiimmmmppppaaaacccctttt____ppppiiiixxxxeeeellll____tttteeeexxxxttttuuuurrrreeee extension allows the
  378.                          ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnnSSSSGGGGIIIIXXXX command to utilize a 4D texture
  379.                          when there is no hardware support for linear
  380.                          interpolation in the q coordinate. In this case the
  381.                          application may get the desired result from a two-
  382.                          pass operation; on the first pass the filter function
  383.                          is set to ceiling with alpha-blending disabled,
  384.                          followed by a second pass set to floor with the
  385.                          appropriate blendfunction set. If a nearest-neighbor
  386.                          mode is acceptable, a one-pass method can be used
  387.                          with the filter set to round (the default).
  388.  
  389.                          Additional information about 4D pixel-texturing can
  390.                          be found man pages for ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnnSSSSGGGGIIIIXXXX.
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.                                                                         PPPPaaaaggggeeee 6666
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  405.  
  406.  
  407.  
  408.                GGGGLLLL____FFFFIIIILLLLTTTTEEEERRRR4444____SSSSGGGGIIIISSSS
  409.                          As with minification, returns a weighted average of
  410.                          the four texture elements (in the 1D case) or the
  411.                          sixteen texture elements (in the 2D case) that are
  412.                          closest to the center of the pixel being textured.
  413.                          These can include border texture elements, although
  414.                          the behavior in such cases is rarely useful.  The
  415.                          weights are derived from a filter kernel specified by
  416.                          the user; see ggggllllTTTTeeeexxxxFFFFiiiilllltttteeeerrrrFFFFuuuunnnnccccSSSSGGGGIIIISSSS.  Note that this
  417.                          mode is not supported for 3D textures.
  418.  
  419.                See ggggllllDDDDeeeettttaaaaiiiillllTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS for more explanation of the detail
  420.                texture magnification filters, and ggggllllSSSShhhhaaaarrrrppppeeeennnnTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS for
  421.                more explanation of the sharpen texture magnification filters.
  422.  
  423.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD
  424.                Sets the minimum level-of-detail parameter.  This floating-
  425.                point value limits the selection of highest resolution mipmap
  426.                (lowest mipmap level). The initial value is -1000.
  427.  
  428.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD
  429.                Sets the maximum level-of-detail parameter.  This floating-
  430.                point value limits the selection of the lowest resolution
  431.                mipmap (highest mipmap level). The initial value is 1000.
  432.  
  433.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL
  434.                Specifies the index of the lowest defined mipmap level. This is
  435.                an integer value. The initial value is 0.
  436.  
  437.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL
  438.                Sets the index of the highest defined mipmap level. This is an
  439.                integer value. The initial value is 1000.
  440.  
  441.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS
  442.                Sets the wrap parameter for texture coordinate _s to GGGGLLLL____CCCCLLLLAAAAMMMMPPPP,
  443.                GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT, GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS, or GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE.
  444.                GGGGLLLL____CCCCLLLLAAAAMMMMPPPP causes s coordinates to be clamped to the range [0,1]
  445.                and is useful for preventing wrapping artifacts when mapping a
  446.                single image onto an object.  GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE causes s
  447.                                                       |   1__     1__|
  448.                coordinates to be clamped to the range    ,1-   , where N is
  449.                                                       |2N   2N|
  450.                the size of the texture in the direction of clamping.
  451.                GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT causes the integer part of the s coordinate to be
  452.                ignored; the GL uses only the fractional part, thereby creating
  453.                a repeating pattern. GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS is similar to
  454.                GGGGLLLL____CCCCLLLLAAAAMMMMPPPP, but the s coordinate range is adjusted slightly to
  455.                ensure that the texture border is fully accessed.  Border
  456.                texture elements are accessed only if wrapping is set to
  457.                GGGGLLLL____CCCCLLLLAAAAMMMMPPPP.  Initially, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS is set to GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT.
  458.  
  459.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT
  460.                Sets the wrap parameter for texture coordinate _t to GGGGLLLL____CCCCLLLLAAAAMMMMPPPP,
  461.                GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT, GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS, or GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE.  See
  462.  
  463.  
  464.  
  465.                                                                         PPPPaaaaggggeeee 7777
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  473.  
  474.  
  475.  
  476.                the discussion under GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS. Initially,
  477.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT is set to GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT.
  478.  
  479.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR
  480.                Sets the wrap parameter for texture coordinate _r to GGGGLLLL____CCCCLLLLAAAAMMMMPPPP,
  481.                GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT, GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS, or GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE.  See
  482.                the discussion under GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS. Initially,
  483.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____RRRR is set to GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT.
  484.  
  485.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____QQQQ____SSSSGGGGIIIISSSS
  486.                Sets the wrap parameter for texture coordinate _q to GGGGLLLL____CCCCLLLLAAAAMMMMPPPP,
  487.                GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT, or GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS.  See the discussion
  488.                under GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS, but note that the _q coordinate wraps
  489.                only when the SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee4444DDDD extension is being used.
  490.                Initially, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____QQQQ____SSSSGGGGIIIISSSS is set to GGGGLLLL____RRRREEEEPPPPEEEEAAAATTTT.
  491.  
  492.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBOOOORRRRDDDDEEEERRRR____CCCCOOOOLLLLOOOORRRR
  493.                Sets a border color.  _p_a_r_a_m_s contains four values that comprise
  494.                the RGBA color of the texture border. Integer color components
  495.                are interpreted linearly such that the most positive integer
  496.                maps to 1.0, and the most negative integer maps to -1.0.  The
  497.                values are clamped to the range [0,1] when they are specified.
  498.                Initially, the border color is (0, 0, 0, 0).
  499.  
  500.      GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS
  501.                Specifies the level of the detail texture image.  Must be
  502.                negative.  See ggggllllDDDDeeeettttaaaaiiiillllTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS for more information.
  503.  
  504.      GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMOOOODDDDEEEE____SSSSGGGGIIIISSSS
  505.                Specifies the detail texture mode.  The permissible values are
  506.                GGGGLLLL____AAAADDDDDDDD and GGGGLLLL____MMMMOOOODDDDUUUULLLLAAAATTTTEEEE.  See ggggllllDDDDeeeettttaaaaiiiillllTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS for more
  507.                information.
  508.  
  509.      GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____BBBBIIIIAAAASSSS____SSSSGGGGIIIIXXXX
  510.  
  511.      GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX
  512.                Specifies the bias and scale values for the texture. _p_a_r_a_m_s
  513.                contains four values that comprise the R, G, B, and A bias
  514.                terms (in the case of GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____BBBBIIIIAAAASSSS____SSSSGGGGIIIIXXXX) or
  515.                scale factors (in the case of
  516.                GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX).
  517.  
  518.                The scale, bias, and clamp to [0, 1] operations are applied, in
  519.                that order, directly before the texture environment equations,
  520.                or, if the SSSSGGGGIIII____tttteeeexxxxttttuuuurrrreeee____ccccoooolllloooorrrr____ttttaaaabbbblllleeee extension exists, directly
  521.                before the texture color lookup table.  See ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeeeSSSSGGGGIIII for
  522.                more information about color lookup tables.
  523.  
  524.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____PPPPRRRRIIIIOOOORRRRIIIITTTTYYYY
  525.                Specifies the texture residence priority.  Permissible values
  526.                are in the range [0.0, 1.0].  See ggggllllPPPPrrrriiiioooorrrriiiittttiiiizzzzeeeeTTTTeeeexxxxttttuuuurrrreeeessss for more
  527.                information.
  528.  
  529.  
  530.  
  531.                                                                         PPPPaaaaggggeeee 8888
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  539.  
  540.  
  541.  
  542.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS
  543.  
  544.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS
  545.                The GL specification describes a ``complete'' set of mipmap
  546.                image arrays as array levels 0 through p, where p is a well-
  547.                defined function of the dimensions of the level 0 image
  548.                discussed under GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR above.  The level 0 image
  549.                is the base level (the highest-resolution image, with the
  550.                largest dimensions), and the level p image is the maximum level
  551.                (the lowest-resolution image, with the smallest dimensions, 1
  552.                by 1).  To be used for texturing, all the levels of the
  553.                complete mipmap set must be loaded.
  554.  
  555.                The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____lllloooodddd extension allows the base and maximum
  556.                levels to be redefined - the base level may be set to a value
  557.                greater than zero, and the maximum level may be set to a value
  558.                less than p.  This permits a large texture to be loaded and
  559.                used initially at low resolution, and then at higher
  560.                resolutions as more data or texture loading time becomes
  561.                available.  To be used for texturing, only the levels between
  562.                the base and maximum (inclusive) must be loaded.  (Other levels
  563.                may be loaded, but only the levels from base through maximum
  564.                will be used.)
  565.  
  566.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, _p_a_r_a_m_s specifies the
  567.                base level of the mipmap set for the texture designated by
  568.                _t_a_r_g_e_t.  The default value is zero.
  569.  
  570.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, _p_a_r_a_m_s specifies the
  571.                maximum level of the mipmap set for the texture designated by
  572.                _t_a_r_g_e_t.  The default value is 1000.
  573.  
  574.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS
  575.  
  576.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS
  577.                When pixel fragments are being generated for a textured
  578.                primitive, a level-of-detail (LOD) is computed for each
  579.                fragment.  The LOD is related to the number of texels that
  580.                contribute to the color of the fragment, and is used to select
  581.                the mipmap levels (see above) that participate in the fragment
  582.                color computation.
  583.  
  584.                Normally the LOD is clamped to a range determined by the
  585.                filtering method and the base and maximum mipmap levels.  When
  586.                the application changes the base or maximum mipmap levels, the
  587.                LOD range changes discontinuously, and the texture resolution
  588.                in rendered scenes appears to ``pop'' to a new value rather
  589.                than making a smooth transition.  The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____lllloooodddd
  590.                extension allows the LOD to be clamped to an arbitrary user-
  591.                defined range instead of the range implied by the base and
  592.                maximum mipmap levels.  Because this clamping can be varied
  593.                continuously, the transition to a higher- or lower-resolution
  594.  
  595.  
  596.  
  597.                                                                         PPPPaaaaggggeeee 9999
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  605.  
  606.  
  607.  
  608.                texture can be accomplished smoothly.
  609.  
  610.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS, _p_a_r_a_m_s specifies the new
  611.                minimum LOD value for the texture designated by _t_a_r_g_e_t.  The
  612.                default is -1000.
  613.  
  614.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS, _p_a_r_a_m_s specifies the new
  615.                maximum LOD value for the texture designated by _t_a_r_g_e_t.  The
  616.                default is 1000.
  617.  
  618.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____SSSS____SSSSGGGGIIIIXXXX
  619.  
  620.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____TTTT____SSSSGGGGIIIIXXXX
  621.  
  622.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____RRRR____SSSSGGGGIIIIXXXX
  623.                Many textures have very low energy at high frequencies;
  624.                however, the LOD calculation has to assume the opposite.  The
  625.                result is that mapped textures can appear excessively blurry in
  626.                one or more diminensions.  The SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____lllloooodddd____bbbbiiiiaaaassss extension
  627.                provides user-control over a texture dimension's influence on
  628.                the fragment LOD calculation.  The bias specifies the number of
  629.                LODs (both integer and fractional) which should be added to the
  630.                LOD computed for the specified dimension.  The fragment's final
  631.                LOD is a function of the LODs computed for each texture
  632.                dimension.
  633.  
  634.                Some examples where this extension should be used follow.
  635.                Textures with non-power-of-two diminensions stretched to the
  636.                nearest power-of-two should have a bias between 0 and -1.0,
  637.                since the stretching didn't actually add any high frequency
  638.                information.  Textures from filtered sources such as video are
  639.                often overfiltered differently in each dimension, and benefit
  640.                from separate negative biases for each dimension.  A negative
  641.                bias can also be used to reduce one texture dimension's control
  642.                on the LOD or bluriness. This is helpful with a texture such as
  643.                a road which may appear too blurry when it is repeated many
  644.                times in one direction. Finally, a positive bias can be used to
  645.                intentionally make a texture appear blurrier.
  646.  
  647.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____SSSS____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies bias
  648.                to add to the intermediate LOD calculated for the s dimension
  649.                designated by _t_a_r_g_e_t.  The default is 0.
  650.  
  651.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____TTTT____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies bias
  652.                to add to the intermediate LOD calculated for the t dimension
  653.                designated by _t_a_r_g_e_t.  The default is 0.
  654.  
  655.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____RRRR____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies bias
  656.                to add to the intermediate LOD calculated for the r dimension
  657.                designated by _t_a_r_g_e_t.  The default is 0.
  658.  
  659.  
  660.  
  661.  
  662.  
  663.                                                                        PPPPaaaaggggeeee 11110000
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  671.  
  672.  
  673.  
  674.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX
  675.  
  676.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX
  677.  
  678.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____RRRR____SSSSGGGGIIIIXXXX
  679.                Specifies an upper bound for texture coordinate clamping.
  680.                Normally texture coordinates are clamped to a maximum of 1.0
  681.                when the wrap parameter is set to one of GGGGLLLL____CCCCLLLLAAAAMMMMPPPP,
  682.                GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS, or GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE.  The
  683.                SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____ccccoooooooorrrrddddiiiinnnnaaaatttteeee____ccccllllaaaammmmpppp extension allows the user to
  684.                specify a maximum clamp of any floating point value in the
  685.                range [0,1].
  686.  
  687.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies the
  688.                maximum coordinate clamp for the s dimension designated by
  689.                _t_a_r_g_e_t.  The default is 1.0.
  690.  
  691.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies the
  692.                maximum coordinate clamp for the t dimension designated by
  693.                _t_a_r_g_e_t.  The default is 1.0.
  694.  
  695.                When _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____RRRR____SSSSGGGGIIIIXXXX, _p_a_r_a_m_s specifies the
  696.                maximum coordinate clamp for the r dimension designated by
  697.                _t_a_r_g_e_t.  The default is 1.0.
  698.  
  699.      GGGGLLLL____DDDDUUUUAAAALLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS
  700.  
  701.      GGGGLLLL____QQQQUUUUAAAADDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS
  702.                On some Silicon Graphics machines with hardware texturing,
  703.                texel sizes must be a multiple of 16 bits.  Most texture
  704.                internal formats simply occupy a multiple of 16 bits that is at
  705.                least as large as the format requested by the application,
  706.                leaving the remaining bits of each texel unused.  The GGGGLLLL____DDDDUUUUAAAALLLL____
  707.                and GGGGLLLL____QQQQUUUUAAAADDDD____ texture internal formats allow multiple textures
  708.                with small texels to be packed into the space of a single 16-
  709.                bit texture, thus making full use of texture memory.  For
  710.                example, an 8-bit luminance texture would normally use a full
  711.                16 bits of texture memory for each texel, but if the
  712.                application chooses the GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____SSSSGGGGIIIISSSS internal
  713.                format, then two 8-bit luminance textures can be packed into
  714.                the same space.
  715.  
  716.                Some Silicon Graphics machines with hardware texturing do not
  717.                have the above texel size restriction, but may benefit from
  718.                this extension by loading textures at a faster rate.
  719.  
  720.                When such a texture is active, the application must select
  721.                which of the two packed textures will be used for drawing.
  722.                _p_a_r_a_m_s specifies which is selected.  For GGGGLLLL____DDDDUUUUAAAALLLL____ texture
  723.                storage formats, _p_a_r_a_m_s assumes the value 0 or 1.  For GGGGLLLL____QQQQUUUUAAAADDDD____
  724.                texture storage formats, _p_a_r_a_m_s assumes the value 0, 1, 2, or
  725.                3.  See ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD or ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT for
  726.  
  727.  
  728.  
  729.                                                                        PPPPaaaaggggeeee 11111111
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  737.  
  738.  
  739.  
  740.                information about loading dual and quad textures.
  741.  
  742.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX
  743.                A clipmap's region of interest is determined by some aspect of
  744.                the application; for example, it may be derived from an
  745.                observer's position in a terrain map.  The application defines
  746.                the center of the region of interest by executing
  747.                ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with _p_n_a_m_e set to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX
  748.                and _p_a_r_a_m_s pointing to an array with two elements.  The first
  749.                element is the s coordinate of the center of the region of
  750.                interest in the level 0 texture image, and the second element
  751.                is the t coordinate of the center.  (Note that the position
  752.                (s_center,t_center) at level 0 corresponds to the position
  753.                (s_center/2,t_center/2) at level 1, and so on as the level
  754.                number increases.)  The coordinates of the center may be
  755.                changed at any time; for example, as an observer moves over a
  756.                terrain map.
  757.  
  758.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX
  759.                As the center of a clipmap's region of interest changes, it may
  760.                become necessary to load new texture image data into levels 0
  761.                through B-1 of the clipmap.  This can be accomplished by
  762.                executing ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT for each of the levels.  However,
  763.                texture memory in addition to that used for the region of
  764.                interest is needed to store the new image data in each level.
  765.                This memory can be reserved by executing ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with
  766.                _p_n_a_m_e set to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s set to a
  767.                floating-point value in the range [0,1].  This reserves
  768.                _p_a_r_a_m_s*D_s/2 texels on either side of the region of interest
  769.                along the s coordinate, and _p_a_r_a_m_s*D_t/2 texels on either side
  770.                of the region of interest along the t coordinate, where D_s and
  771.                D_t are the dimensions of the region of interest in the s and t
  772.                directions, respectively.  This additional memory is best
  773.                considered as a ``frame'' around the region of interest, where
  774.                _p_a_r_a_m_s specifies the size of the frame as a fraction of the
  775.                size of the region of interest.  The frame width may be changed
  776.                at any time.
  777.  
  778.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX
  779.                After new texture image data has been loaded into the frame
  780.                around a clipmap's region of interest, the region of interest
  781.                must be offset to incorporate the new data (and release the
  782.                memory occupied by old data that's no longer needed).  This is
  783.                accomplished by adding offsets to all s and t coordinates used
  784.                to access the clipmap.  These offsets may force coordinates to
  785.                wrap around, so they have the effect of mapping the texture
  786.                image and frame onto a torus.  This behavior is useful for
  787.                continuous roaming through very large texture images.  The
  788.                offsets are specified by executing ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with _p_n_a_m_e
  789.                set to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s pointing to an
  790.                array with two elements.  The first element is the offset to be
  791.                applied to s coordinates for the level 0 image, and the second
  792.  
  793.  
  794.  
  795.                                                                        PPPPaaaaggggeeee 11112222
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  803.  
  804.  
  805.  
  806.                element is the offset to be applied to t coordinates for the
  807.                level 0 image.  The coordinate offsets may be changed at any
  808.                time.
  809.  
  810.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  811.                To utilize a texture of greater than GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  812.                levels of detail, additional parameters are provided to index
  813.                into a clipmap contained within a larger, virtual clipmap.
  814.                This clipmap is specified by executing ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with
  815.                _p_n_a_m_e set to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s
  816.                pointing to an array with three elements.  The first element,
  817.                known as the lod offset, is the level of detail in the virtual
  818.                clipmap corresponding to the base level of the smaller clipmap;
  819.                the second element is the depth of the smaller clipmap; and the
  820.                third element is the depth of the virtual clipmap.
  821.  
  822.                These values can be changed at any time.  For example, the
  823.                polygons in a scene that span more than
  824.                GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX levels can be divided into smaller
  825.                groups of polygons, each of which spans fewer than
  826.                GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX levels.  The
  827.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX parameters are set before
  828.                the drawing of each group of polygons to ensure they only need
  829.                texels that are available in the active subregion of the
  830.                virtual clipmap.
  831.  
  832.                Texture coordinates are relative to the base level of the
  833.                virtual clipmap, as are the clipmap center and offset (see
  834.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX and
  835.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX above) and the minimum and
  836.                maximum levels of detail (see GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS,
  837.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, or
  838.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS above).
  839.  
  840.                Texel address and level of detail generation proceed with the
  841.                smaller clipmap precisely as described above for the non-
  842.                virtual clipmap.  If the level of detail is such that a level
  843.                below the lod offset would be indexed, texture magnification is
  844.                performed even though the finer texture information may be
  845.                resident in texture memory.  Likewise, levels of detail coarser
  846.                than the lod offset plus the clipmap depth may demonstrate
  847.                aliasing.  The application must choose
  848.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX parameters to prevent
  849.                unwanted filtering artifacts.
  850.  
  851.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____SSSSGGGGIIIIXXXX
  852.  
  853.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____OOOOPPPPEEEERRRRAAAATTTTOOOORRRR____SSSSGGGGIIIIXXXX
  854.                The SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww extension adds a new stage to the texturing
  855.                process.  Once a texture value has been fetched from texture
  856.                memory, it may be compared with the iterated texture r
  857.                coordinate to determine if an object is in shadow.  The result
  858.  
  859.  
  860.  
  861.                                                                        PPPPaaaaggggeeee 11113333
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  869.  
  870.  
  871.  
  872.                of the comparison, rather than the texture value itself, is
  873.                sent to the filtering stage.  If the test passes, the object is
  874.                considered to be in shadow; the result of the comparison is 0.
  875.                If the test fails, the result is 1.  When used with textures
  876.                that consist of depth values (internal format
  877.                GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT11116666____SSSSGGGGIIIIXXXX, for example) and a properly-chosen
  878.                texture matrix, this can be used to implement shadows.  The
  879.                comparison operation is enabled by executing ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr
  880.                with _p_n_a_m_e set to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s set to the
  881.                value GGGGLLLL____TTTTRRRRUUUUEEEE.  (It is disabled by using the value GGGGLLLL____FFFFAAAALLLLSSSSEEEE.)
  882.                The comparison operation is selected by executing
  883.                ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with _p_n_a_m_e set to
  884.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____OOOOPPPPEEEERRRRAAAATTTTOOOORRRR____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s set to the value
  885.                GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEQQQQUUUUAAAALLLL____RRRR____SSSSGGGGIIIIXXXX or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____GGGGEEEEQQQQUUUUAAAALLLL____RRRR____SSSSGGGGIIIIXXXX.  Note
  886.                that the texture values are treated as though they range from
  887.                0.0 through 1.0, just like depth values, so the r coordinates
  888.                chosen by the application must also fall in that range.
  889.  
  890.      GGGGLLLL____SSSSHHHHAAAADDDDOOOOWWWW____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX
  891.                The SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww____aaaammmmbbbbiiiieeeennnntttt extension modifies the behavior of the
  892.                SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww extension slightly.  When a texture comparison
  893.                implemented by SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww passes, SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww____aaaammmmbbbbiiiieeeennnntttt causes
  894.                the result to be the shadow ambient value rather than zero.
  895.                Larger shadow ambient values result in lighter shadows.
  896.  
  897. NNNNOOOOTTTTEEEESSSS
  898.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD,
  899.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL, and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL are only available if the
  900.      GL version is 1.2 or greater.
  901.  
  902.      Suppose that a program has enabled texturing (by calling ggggllllEEEEnnnnaaaabbbblllleeee with
  903.      argument GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD) and has set
  904.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR to one of the functions that requires a mipmap.  If
  905.      either the dimensions of the texture images currently defined (with
  906.      previous calls to ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD,
  907.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, or ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD) do not follow the proper sequence
  908.      for mipmaps (described above), or there are fewer texture images defined
  909.      between the base and maximum levels than are needed, or the set of
  910.      texture images have differing numbers of texture components, then it is
  911.      as if texture mapping were disabled.
  912.  
  913.      Linear filtering accesses the four nearest texture elements only in 2D
  914.      textures.  In 1D textures, linear filtering accesses the two nearest
  915.      texture elements.
  916.  
  917.      A similar consideration applies for clipmaps.  The only difference is
  918.      that levels 0 through B of the clipmap must have the same dimensions,
  919.      rather than varying by a factor of two for each successive level.  Note
  920.      that the parameter B is never specified explicitly by the application; it
  921.      is inferred from the level at which the texture image dimensions stop
  922.      changing.  (Recall that the dimensions for each level are provided as
  923.      arguments to the ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee command.)
  924.  
  925.  
  926.  
  927.                                                                        PPPPaaaaggggeeee 11114444
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  935.  
  936.  
  937.  
  938.      The maximum number of levels in a clipmap is limited; the limit can be
  939.      determined by calling ggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX.
  940.  
  941.      The maximum number of levels in a virtual clipmap is limited; the limit
  942.      can be determined by calling ggggllllGGGGeeeetttt with argument
  943.      GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX.
  944.  
  945.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____LLLLOOOODDDD____SSSSGGGGIIIISSSS, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS,
  946.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS are part of the
  947.      SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____lllloooodddd extension.  GGGGLLLL____FFFFIIIILLLLTTTTEEEERRRR4444____SSSSGGGGIIIISSSS is part of the
  948.      SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____ffffiiiilllltttteeeerrrr4444 extension.  GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____BBBBIIIIAAAASSSS____SSSSGGGGIIIIXXXX and
  949.      GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX are part of the SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____ssssccccaaaalllleeee____bbbbiiiiaaaassss
  950.      extension. GGGGLLLL____DDDDUUUUAAAALLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS and GGGGLLLL____QQQQUUUUAAAADDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSEEEELLLLEEEECCCCTTTT____SSSSGGGGIIIISSSS
  951.      are part of the SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____sssseeeelllleeeecccctttt extension.
  952.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX,
  953.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX, and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  954.      are part of the SSSSGGGGIIIIXXXX____cccclllliiiippppmmmmaaaapppp extension.  GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS is part
  955.      of the SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____bbbboooorrrrddddeeeerrrr____ccccllllaaaammmmpppp extension.  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____SSSSGGGGIIIIXXXX and
  956.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPAAAARRRREEEE____OOOOPPPPEEEERRRRAAAATTTTOOOORRRR____SSSSGGGGIIIIXXXX are part of the SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww extension.
  957.      GGGGLLLL____SSSSHHHHAAAADDDDOOOOWWWW____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX is part of the SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww____aaaammmmbbbbiiiieeeennnntttt extension.
  958.      GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____CCCCEEEEIIIILLLLIIIINNNNGGGG____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____FFFFLLLLOOOOOOOORRRR____SSSSGGGGIIIIXXXX, and
  959.      GGGGLLLL____PPPPIIIIXXXXEEEELLLL____TTTTEEEEXXXX____GGGGEEEENNNN____QQQQ____RRRROOOOUUUUNNNNDDDD____SSSSGGGGIIIIXXXX are part of the SSSSGGGGIIIIXXXX____iiiimmmmppppaaaacccctttt____ppppiiiixxxxeeeellll____tttteeeexxxxttttuuuurrrreeee
  960.      extension.  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____SSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____TTTT____SSSSGGGGIIIIXXXX, and
  961.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLOOOODDDD____BBBBIIIIAAAASSSS____RRRR____SSSSGGGGIIIIXXXX are part of the SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____lllloooodddd____bbbbiiiiaaaassss
  962.      extension.  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX, and
  963.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX are part of the SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____ccccoooooooorrrrddddiiiinnnnaaaatttteeee____ccccllllaaaammmmpppp
  964.      extension.  See ggggllllIIIInnnnttttrrrroooo for more information about using extensions.
  965.  
  966. EEEERRRRRRRROOOORRRRSSSS
  967.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_a_r_g_e_t or _p_n_a_m_e is not one of the
  968.      accepted defined values.
  969.  
  970.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _p_a_r_a_m_s should have a defined constant
  971.      value (based on the value of _p_n_a_m_e) and does not.
  972.  
  973.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr is executed between
  974.      the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
  975.  
  976.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if an attempt is made to set
  977.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBAAAASSSSEEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS to a negative
  978.      value.
  979.  
  980.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____CCCCEEEENNNNTTTTEEEERRRR____SSSSGGGGIIIIXXXX
  981.      and either of the two values specified by _p_a_r_a_m_s is negative.
  982.  
  983.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____OOOOFFFFFFFFSSSSEEEETTTT____SSSSGGGGIIIIXXXX
  984.      and either of the two values specified by _p_a_r_a_m_s is negative.
  985.  
  986.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _p_n_a_m_e is
  987.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX and any of the three values
  988.      specified by _p_a_r_a_m_s is negative.
  989.  
  990.  
  991.  
  992.  
  993.                                                                        PPPPaaaaggggeeee 11115555
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  1001.  
  1002.  
  1003.  
  1004.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _p_n_a_m_e is
  1005.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX and the sum of the first two values
  1006.      specified by _p_a_r_a_m_s is greater than the third.
  1007.  
  1008.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _p_n_a_m_e is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX,
  1009.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX and _p_a_r_a_m_s is
  1010.      less than 0 or greater than 1.
  1011.  
  1012. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  1013.      ggggllllGGGGeeeettttIIIInnnntttteeeeggggeeeerrrrvvvv with argument GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  1014.      ggggllllGGGGeeeettttIIIInnnntttteeeeggggeeeerrrrvvvv with argument GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  1015.      ggggllllGGGGeeeettttTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr
  1016.      ggggllllGGGGeeeettttTTTTeeeexxxxLLLLeeeevvvveeeellllPPPPaaaarrrraaaammmmeeeetttteeeerrrr
  1017.  
  1018.  
  1019. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  1020.      The SSSSGGGGIIIIXXXX____cccclllliiiippppmmmmaaaapppp extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  1021.      The following restrictions apply:
  1022.  
  1023.           1.  For best performance, the ``breakpoint'' clipmap level (B) must
  1024.               be loaded before any other level.  The implementation derives
  1025.               the size of the clipmap from the size of this level, so loading
  1026.               this level first permits efficient allocation of texture memory.
  1027.  
  1028.           2.  Clipmaps must be square.
  1029.  
  1030.           3.  GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____SSSS and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWRRRRAAAAPPPP____TTTT must be set to
  1031.               GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS.
  1032.  
  1033.           4.  It is more efficient to set clipmap attributes that affect
  1034.               texture memory allocation (such as
  1035.               GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____FFFFRRRRAAAAMMMMEEEE____SSSSGGGGIIIIXXXX) before loading the first level of
  1036.               the clipmap, rather than after loading it.
  1037.  
  1038.           5.  Virtual clipmaps (whose GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX
  1039.               parameters have been defined) use texture memory inefficiently.
  1040.               Each level of detail allocates a region of texture memory the
  1041.               same size as that of a clipped level.  Any clipmap whose depth
  1042.               is less than GGGGLLLL____MMMMAAAAXXXX____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX should avoid this by not
  1043.               specifying GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX parameters.  An
  1044.               application can not readback the texture levels whose size is
  1045.               smaller than that of the clipped level.
  1046.  
  1047.           6.  The depth of the virtual clipmap given in
  1048.               GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCLLLLIIIIPPPPMMMMAAAAPPPP____VVVVIIIIRRRRTTTTUUUUAAAALLLL____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIIXXXX must be defined before any
  1049.               texture levels are downloaded, and it can not be changed once it
  1050.               has been specified.  If the application tries to change the
  1051.               virtual depth, no action is taken.
  1052.  
  1053.           7.  When using virtual clipmaps, an application should not
  1054.               overcommit texture memory.  Doing so will result in undefined
  1055.               behavior.
  1056.  
  1057.  
  1058.  
  1059.                                                                        PPPPaaaaggggeeee 11116666
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  1067.  
  1068.  
  1069.  
  1070.      On RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems
  1071.      GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS must be less than or equal to 4.
  1072.  
  1073.      On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems, the following restrictions
  1074.      apply to detail texturing:
  1075.  
  1076.           1.  When detail texturing, the GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMIIIINNNN____FFFFIIIILLLLTTTTEEEERRRR must specify
  1077.               mipmapping; if not, the detail will be effectively disabled.
  1078.  
  1079.           2.  When specifying GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAGGGG____FFFFIIIILLLLTTTTEEEERRRR, the only mode supported
  1080.               is GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____DDDDEEEETTTTAAAAIIIILLLL____SSSSGGGGIIIISSSS.
  1081.  
  1082.           3.  When specifying GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMOOOODDDDEEEE____SSSSGGGGIIIISSSS, the only mode
  1083.               supported is GGGGLLLL____AAAADDDDDDDD.
  1084.  
  1085.           4.  When specifying GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS, any values outside
  1086.               of the range [-2..-6] will be clamped to the limits of that
  1087.               range.
  1088.  
  1089.      Detail texturing acts as if the mipmap stack were extended by a number of
  1090.      levels equal to the absolute value of the GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS
  1091.      parameter.  The number of normal mipmap levels plus the number of detail
  1092.      levels must not exceed the maximum number of levels that can be supported
  1093.      on the hardware.  For example, on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems the maximum
  1094.      number of levels is 15.  A detail texture at level -4 could be supported
  1095.      on a base texture of size 2K (that is, a base texture with 11 levels) but
  1096.      not on a base texture that is larger than 2K (one with 12 or more
  1097.      levels).  Failure to observe this constraint causes detail textures to
  1098.      swim or jitter.
  1099.  
  1100.      OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems use the same hardware for the SSSSGGGGIIIISSSS____ddddeeeettttaaaaiiiillll____tttteeeexxxxttttuuuurrrreeee
  1101.      extension and the SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____ssssccccaaaalllleeee____bbbbiiiiaaaassss extension.  If the texture
  1102.      magnification function is one of the detail texture functions, any user-
  1103.      supplied GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX or
  1104.      GGGGLLLL____PPPPOOOOSSSSTTTT____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR____SSSSCCCCAAAALLLLEEEE____SSSSGGGGIIIIXXXX parameters will be ignored.
  1105.  
  1106.      The SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  1107.  
  1108.      The SSSSGGGGIIIIXXXX____sssshhhhaaaaddddoooowwww____aaaammmmbbbbiiiieeeennnntttt extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  1109.      systems.
  1110.  
  1111.      The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____lllloooodddd extension is supported on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems and
  1112.      HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems.  On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm
  1113.      IIIImmmmppppaaaacccctttt systems, however, setting the GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____LLLLOOOODDDD____SSSSGGGGIIIISSSS will have no
  1114.      effect.
  1115.  
  1116.      The SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____lllloooodddd____bbbbiiiiaaaassss extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo
  1117.      systems and IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  1118.  
  1119.      GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems and
  1120.      HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems.
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                                                        PPPPaaaaggggeeee 11117777
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132. ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))             OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee             ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr((((3333GGGG))))
  1133.  
  1134.  
  1135.  
  1136.      GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems,
  1137.      IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, and OOOO2222 systems.
  1138.  
  1139.      Texture borders are not supported on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, so the
  1140.      border width should always be zero.  Applications should use the texture
  1141.      wrap mode GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS to obtain behavior similar to that of
  1142.      borders.
  1143.  
  1144.      GGGGLLLL____CCCCLLLLAAAAMMMMPPPP and GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____BBBBOOOORRRRDDDDEEEERRRR____SSSSGGGGIIIISSSS modes are not supported on OOOO2222
  1145.      systems, and when set will produce the same clamping result as the
  1146.      GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS wrap mode.
  1147.  
  1148.      On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, if the post-texture filter scale and bias
  1149.      values are set to values other than the defaults, they are limited to the
  1150.      range [0.0, 1.0).  (note: this range excludes 1.0.)  The
  1151.      SSSSGGGGIIIIXXXX____tttteeeexxxxttttuuuurrrreeee____ssssccccaaaalllleeee____bbbbiiiiaaaassss extension is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
  1152.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems or on HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt
  1153.      systems.
  1154.  
  1155.      The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____sssseeeelllleeeecccctttt extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  1156.      systems, HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Octane systems, and HHHHiiiigggghhhh
  1157.      IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Indigo2 systems with the TRAM option card.
  1158.  
  1159.      The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____ffffiiiilllltttteeeerrrr4444 extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  1160.      systems.
  1161.  
  1162.      On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if the value of
  1163.      the argument n to the command ggggllllTTTTeeeexxxxFFFFiiiilllltttteeeerrrrFFFFuuuunnnnccccSSSSGGGGIIIISSSS does not equal the
  1164.      value of the implementation dependent constant Size, which can be
  1165.      determined by calling ggggllllGGGGeeeettttTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr with argument
  1166.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____FFFFIIIILLLLTTTTEEEERRRR4444____SSSSIIIIZZZZEEEE____SSSSGGGGIIIISSSS.  This restriction will be removed in a
  1167.      future release.
  1168.  
  1169.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____TTTT____SSSSGGGGIIIIXXXX, and
  1170.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____MMMMAAAAXXXX____CCCCLLLLAAAAMMMMPPPP____SSSS____SSSSGGGGIIIIXXXX are only supported on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems.
  1171.  
  1172.  
  1173. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1174.      ggggllllDDDDeeeettttaaaaiiiillllTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS, ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeee, ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss,
  1175.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD,
  1176.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee, ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnn,
  1177.      ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllPPPPrrrriiiioooorrrriiiittttiiiizzzzeeeeTTTTeeeexxxxttttuuuurrrreeeessss, ggggllllSSSShhhhaaaarrrrppppeeeennnnTTTTeeeexxxxFFFFuuuunnnnccccSSSSGGGGIIIISSSS, ggggllllTTTTeeeexxxxEEEEnnnnvvvv,
  1178.      ggggllllTTTTeeeexxxxFFFFiiiilllltttteeeerrrrFFFFuuuunnnnccccSSSSGGGGIIIISSSS, ggggllllTTTTeeeexxxxGGGGeeeennnn, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD,
  1179.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                                                        PPPPaaaaggggeeee 11118888
  1192.  
  1193.  
  1194.  
  1195.