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 / glteximage4dext.z / glteximage4dext
Encoding:
Text File  |  2002-10-03  |  42.9 KB  |  464 lines

  1.  
  2.  
  3.  
  4. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS - specify a four-dimensional texture image
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS( GLenum _t_a_r_g_e_t,
  14.                             GLint _l_e_v_e_l,
  15.                             GLenum _i_n_t_e_r_n_a_l_f_o_r_m_a_t,
  16.                             GLsizei _w_i_d_t_h,
  17.                             GLsizei _h_e_i_g_h_t,
  18.                             GLsizei _d_e_p_t_h,
  19.                             GLsizei _s_i_z_e_4_d,
  20.                             GLint _b_o_r_d_e_r,
  21.                             GLenum _f_o_r_m_a_t,
  22.                             GLenum _t_y_p_e,
  23.                             const GLvoid *_p_i_x_e_l_s )
  24.  
  25.  
  26. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  27.      _t_a_r_g_e_t          Specifies the target texture.  Must be GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS
  28.                      or GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS.
  29.  
  30.      _l_e_v_e_l           Specifies the level-of-detail number.  Level 0 is the
  31.                      base image level.  Level _n is the _nth mipmap reduction
  32.                      image.
  33.  
  34.      _i_n_t_e_r_n_a_l_f_o_r_m_a_t  Specifies the internal storage format of the texture
  35.                      image.  it must be one of the following symbolic
  36.                      constants:  GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT, GGGGLLLL____AAAALLLLPPPPHHHHAAAA8888____EEEEXXXXTTTT,
  37.                      GGGGLLLL____AAAALLLLPPPPHHHHAAAA11112222____EEEEXXXXTTTT, GGGGLLLL____AAAALLLLPPPPHHHHAAAA11116666____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE,
  38.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____EEEEXXXXTTTT,
  39.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11116666____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA,
  40.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE6666____AAAALLLLPPPPHHHHAAAA2222____EEEEXXXXTTTT,
  41.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____AAAALLLLPPPPHHHHAAAA8888____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT,
  42.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____AAAALLLLPPPPHHHHAAAA11112222____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11116666____AAAALLLLPPPPHHHHAAAA11116666____EEEEXXXXTTTT,
  43.                      GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY4444____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY8888____EEEEXXXXTTTT,
  44.                      GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11112222____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11116666____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB,
  45.                      GGGGLLLL____RRRRGGGGBBBB2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB4444____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB5555____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB8888____EEEEXXXXTTTT,
  46.                      GGGGLLLL____RRRRGGGGBBBB11110000____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11112222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11116666____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA,
  47.                      GGGGLLLL____RRRRGGGGBBBBAAAA2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA4444____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB5555____AAAA1111____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA8888____EEEEXXXXTTTT,
  48.                      GGGGLLLL____RRRRGGGGBBBB11110000____AAAA2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA11112222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA11116666____EEEEXXXXTTTT,
  49.                      GGGGLLLL____DDDDUUUUAAAALLLL____AAAALLLLPPPPHHHHAAAA4444____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____AAAALLLLPPPPHHHHAAAA8888____SSSSGGGGIIIISSSS,
  50.                      GGGGLLLL____DDDDUUUUAAAALLLL____AAAALLLLPPPPHHHHAAAA11112222____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____AAAALLLLPPPPHHHHAAAA11116666____SSSSGGGGIIIISSSS,
  51.                      GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____SSSSGGGGIIIISSSS,
  52.                      GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11116666____SSSSGGGGIIIISSSS,
  53.                      GGGGLLLL____DDDDUUUUAAAALLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY4444____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY8888____SSSSGGGGIIIISSSS,
  54.                      GGGGLLLL____DDDDUUUUAAAALLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11112222____SSSSGGGGIIIISSSS, GGGGLLLL____DDDDUUUUAAAALLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11116666____SSSSGGGGIIIISSSS,
  55.                      GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA4444____SSSSGGGGIIIISSSS,
  56.                      GGGGLLLL____DDDDUUUUAAAALLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA8888____SSSSGGGGIIIISSSS, GGGGLLLL____QQQQUUUUAAAADDDD____AAAALLLLPPPPHHHHAAAA4444____SSSSGGGGIIIISSSS,
  57.                      GGGGLLLL____QQQQUUUUAAAADDDD____AAAALLLLPPPPHHHHAAAA8888____SSSSGGGGIIIISSSS, GGGGLLLL____QQQQUUUUAAAADDDD____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____SSSSGGGGIIIISSSS,
  58.                      GGGGLLLL____QQQQUUUUAAAADDDD____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____SSSSGGGGIIIISSSS, GGGGLLLL____QQQQUUUUAAAADDDD____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY4444____SSSSGGGGIIIISSSS, or
  59.                      GGGGLLLL____QQQQUUUUAAAADDDD____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY8888____SSSSGGGGIIIISSSS.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      _w_i_d_t_h           Specifies the width of the texture image.  Must be
  75.                      2**n+2*border for some integer n.
  76.  
  77.      _h_e_i_g_h_t          Specifies the height of the texture image.  Must be
  78.                      2**m+I*border for some integer m, where I is 2 when
  79.                      GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled, and 1 otherwise.
  80.  
  81.      _d_e_p_t_h           Specifies the depth of the texture image.  Must be
  82.                      2**l+2*border for some integer l.
  83.  
  84.      _s_i_z_e_4_d          Specifies the extent (4th dimension size) of the texture
  85.                      image.  Must be 2**k+2*border for some integer l.
  86.  
  87.      _b_o_r_d_e_r          Specifies the width of the border.  Must be either 0 or
  88.                      1.
  89.  
  90.      _f_o_r_m_a_t          Specifies the format of the pixel data.  The following
  91.                      symbolic values are accepted:  GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX, GGGGLLLL____RRRREEEEDDDD,
  92.                      GGGGLLLL____GGGGRRRREEEEEEEENNNN, GGGGLLLL____BBBBLLLLUUUUEEEE, GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____RRRRGGGGBBBB, GGGGLLLL____RRRRGGGGBBBBAAAA,
  93.                      GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA.
  94.  
  95.      _t_y_p_e            Specifies the data type of the pixel data.  The following
  96.                      symbolic values are accepted:  GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____BBBBYYYYTTTTEEEE,
  97.                      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT, GGGGLLLL____IIIINNNNTTTT,
  98.                      GGGGLLLL____FFFFLLLLOOOOAAAATTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222____EEEEXXXXTTTT,
  99.                      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____4444____4444____4444____4444____EEEEXXXXTTTT,
  100.                      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____5555____5555____1111____EEEEXXXXTTTT,
  101.                      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____EEEEXXXXTTTT, and
  102.                      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222____EEEEXXXXTTTT.
  103.  
  104.      _p_i_x_e_l_s          Specifies a pointer to the image data in memory.
  105.  
  106.  
  107. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  108.      Texturing maps a portion of a specified _t_e_x_t_u_r_e _i_m_a_g_e onto each graphical
  109.      primitive for which texturing is enabled.  Four-dimensional texturing is
  110.      enabled and disabled using ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
  111.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS.
  112.  
  113.      Texture images are defined with ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS. The arguments describe
  114.      the parameters of the texture image, such as height, width, depth, extent
  115.      (the 4th dimension size), width of the border, level-of-detail number
  116.      (see ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr), and the internal resolution and format used to
  117.      store the image.  The last four arguments describe the way the image is
  118.      represented in memory, and they are identical to the pixel formats used
  119.      for ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
  120.  
  121.      If _t_a_r_g_e_t is GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS no data is read from _p_i_x_e_l_s,  but
  122.      all of the texture image state is recalculated, checked for consistency,
  123.      and checked against the implementation's capabilities.  If the
  124.      implementation cannot handle a texture of the requested texture size, it
  125.      will set all of the texture image state to 0 (GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWIIIIDDDDTTTTHHHH,
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  137.  
  138.  
  139.  
  140.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____HHHHEEEEIIIIGGGGHHHHTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBOOOORRRRDDDDEEEERRRR, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTTSSSS,
  141.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____RRRREEEEDDDD____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____GGGGRRRREEEEEEEENNNN____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
  142.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBLLLLUUUUEEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____AAAALLLLPPPPHHHHAAAA____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
  143.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT), but no
  144.      error will be generated.
  145.  
  146.      If _t_a_r_g_e_t is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS, data is read from _p_i_x_e_l_s as a sequence
  147.      of signed or unsigned bytes, shorts, or longs, or single-precision
  148.      floating-point values, depending on _t_y_p_e. These values are grouped into
  149.      sets of one, two, three, or four values, depending on _f_o_r_m_a_t, to form
  150.      elements.  (Note that if _t_y_p_e is set to GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222____EEEEXXXXTTTT,
  151.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____4444____4444____4444____4444____EEEEXXXXTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____5555____5555____1111____EEEEXXXXTTTT,
  152.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____EEEEXXXXTTTT, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222____EEEEXXXXTTTT then it is
  153.      a special case in which all the elements of each group are packed into a
  154.      single unsigned byte, unsigned short, or unsigned int. This is described
  155.      in ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.)
  156.  
  157.      Four-dimensional images consist of multiple (perhaps 1) 3D volumes of
  158.      image data into a "hypervolume". The size in the 4th dimension can be
  159.      called the "extent" of the hypervolume. Analogous to 3D volumes whose
  160.      depth ranges from "rear" to "front", the extent of a hypervolume can be
  161.      said to range from "near" to "far".
  162.  
  163.      With this in mind, the first element corresponds to the lower-left-rear-
  164.      near corner of the texture hypervolume.  Subsequent elements progress
  165.      left-to-right through the remaining texels in the lowest-rear-near row of
  166.      the texture hypervolume, then in successively higher rows of the rear-
  167.      near 2D slice of the texture hypervolume, then in successively frontal 2D
  168.      slices and farther 3D volumes of the texture hypervolume.  The final
  169.      element corresponds to the upper-right-front-far corner of the texture
  170.      hypervolume.
  171.  
  172.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, only rows (0,2,4,...) of each S-T
  173.      slice (where the border is considered part of the slice) are defined.
  174.      Rows (1,3,5,...) are left undefined and can only be defined using
  175.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS.  Note, that when GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled the
  176.      total height (i.e., the height of interior texture image plus twice the
  177.      border) of the defined texture is 2*height.
  178.  
  179.      Each element of _p_i_x_e_l_s is converted to an RGBA element according to
  180.      _f_o_r_m_a_t, as detailed below.  Except for GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX, after the
  181.      conversion to RGBA, each component is multiplied by the signed scale
  182.      factor GGGGLLLL____cccc____SSSSCCCCAAAALLLLEEEE, added to the signed bias GGGGLLLL____cccc____BBBBIIIIAAAASSSS, and clamped to the
  183.      range [0,1], where cccc is RRRREEEEDDDD, GGGGRRRREEEEEEEENNNN, BBBBLLLLUUUUEEEE, or AAAALLLLPPPPHHHHAAAA, respectively (see
  184.      ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr).
  185.  
  186.      According to _f_o_r_m_a_t, the conversion to RGBA is as follows:
  187.  
  188.      GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX
  189.                Each element is a single value, a color index. It is converted
  190.                to fixed point (with an unspecified number of zero bits to the
  191.                right of the binary point), shifted left or right depending on
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  203.  
  204.  
  205.  
  206.                the value and sign of GGGGLLLL____IIIINNNNDDDDEEEEXXXX____SSSSHHHHIIIIFFFFTTTT, and added to
  207.                GGGGLLLL____IIIINNNNDDDDEEEEXXXX____OOOOFFFFFFFFSSSSEEEETTTT (see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr). The resulting index is
  208.                converted to a set of color components using the
  209.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____RRRR, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____GGGG, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____BBBB,
  210.                and GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____AAAA tables, and clamped to the range [0,1].
  211.  
  212.      GGGGLLLL____RRRREEEEDDDD    Each element is a single red component. It is converted to
  213.                floating point and assembled into an RGBA element by attaching
  214.                0.0 for green and blue, and 1.0 for alpha.
  215.  
  216.      GGGGLLLL____GGGGRRRREEEEEEEENNNN  Each element is a single green component. It is converted to
  217.                floating point and assembled into an RGBA element by attaching
  218.                0.0 for red and blue, and 1.0 for alpha.
  219.  
  220.      GGGGLLLL____BBBBLLLLUUUUEEEE   Each element is a single blue component. It is converted to
  221.                floating point and assembled into an RGBA element by attaching
  222.                0.0 for red and green, and 1.0 for alpha.
  223.  
  224.      GGGGLLLL____AAAALLLLPPPPHHHHAAAA  Each element is a single alpha component. It is converted to
  225.                floating point and assembled into an RGBA element by attaching
  226.                0.0 for red, green, and blue.
  227.  
  228.      GGGGLLLL____RRRRGGGGBBBB    Each element is an RGB triple.  It is converted to floating
  229.                point and assembled into an RGBA element by attaching 1.0 for
  230.                alpha.  (see  ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr).
  231.  
  232.      GGGGLLLL____RRRRGGGGBBBBAAAA,
  233.  
  234.      GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT
  235.                Each element contains all four components; for GGGGLLLL____RRRRGGGGBBBBAAAA, the red
  236.                component is first, followed by green, then blue, and then
  237.                alpha; for GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT the order is alpha, blue, green, and
  238.                then red.
  239.  
  240.      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE
  241.                Each element is a single luminance value.  It is converted to
  242.                floating point, then assembled into an RGBA element by
  243.                replicating the luminance value three times for red, green, and
  244.                blue and attaching 1.0 for alpha.
  245.  
  246.      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA
  247.                Each element is a luminance/alpha pair.  It is converted to
  248.                floating point, then assembled into an RGBA element by
  249.                replicating the luminance value three times for red, green, and
  250.                blue.
  251.  
  252.      Please refer to the ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss reference page for a description of the
  253.      acceptable values for the _t_y_p_e parameter.
  254.  
  255.      An application may desire that the texture be stored at a certain
  256.      resolution, or that it be stored in a certain format. This resolution and
  257.      format can be requested by _i_n_t_e_r_n_a_l_f_o_r_m_a_t, but the implementation may not
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  269.  
  270.  
  271.  
  272.      support that resolution (The formats of GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA,
  273.      GGGGLLLL____RRRRGGGGBBBB, and GGGGLLLL____RRRRGGGGBBBBAAAA must be supported.)  When a resolution and storage
  274.      format is specified, the implementation will update the texture state to
  275.      provide the best match to the requested resolution. The
  276.      GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS target can be used to try a resolution and
  277.      format.  The implementation will compute its best match for the requested
  278.      storage resolution and format; this state can then be queried using
  279.      ggggllllGGGGeeeettttTTTTeeeexxxxLLLLeeeevvvveeeellllPPPPaaaarrrraaaammmmeeeetttteeeerrrr.
  280.  
  281.      A one-component texture image uses only the red component of the RGBA
  282.      color extracted from _p_i_x_e_l_s. A two-component image uses the R and A
  283.      values.  A three-component image uses the R, G, and B values.  A four-
  284.      component image uses all of the RGBA components.
  285.  
  286.      The mapping of components from the canonical RGBA to the internal storage
  287.      formats that begin with GGGGLLLL____DDDDUUUUAAAALLLL____ and GGGGLLLL____QQQQUUUUAAAADDDD____ needs to be clarified.
  288.      There are three cases.  The first case is for the GGGGLLLL____DDDDUUUUAAAALLLL____ formats that
  289.      are groups of GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY.  The R value goes
  290.      to the first group while the A value goes to the second group.  The
  291.      second case is for the GGGGLLLL____DDDDUUUUAAAALLLL____ formats that are groups of
  292.      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA.  The R and G values go to the first group while the B
  293.      and A values go to the second group.  The third case is for the GGGGLLLL____QQQQUUUUAAAADDDD____
  294.      formats.  The R value goes to the first group, the G value to the second
  295.      group, the B value to the third group, and the A value to the fourth
  296.      group.
  297.  
  298. NNNNOOOOTTTTEEEESSSS
  299.      Texturing has no effect in color index mode.
  300.  
  301.      The texture image can be represented by the same data formats and types
  302.      as the pixels in a ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss command, except that formats
  303.      GGGGLLLL____SSSSTTTTEEEENNNNCCCCIIIILLLL____IIIINNNNDDDDEEEEXXXX and GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT cannot be used, and type
  304.      GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP cannot be used.  ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr modes affect
  305.      texture images in exactly the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
  306.  
  307.      A texture image with zero height, width, depth, or extent indicates the
  308.      null texture.  If the null texture is specified for level-of-detail 0, it
  309.      is as if texturing were disabled.
  310.  
  311.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS is part of the EEEEXXXXTTTT____tttteeeexxxxttttuuuurrrreeee3333dddd extension.
  312.  
  313.      If _t_y_p_e is set to GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222____EEEEXXXXTTTT,
  314.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____4444____4444____4444____4444____EEEEXXXXTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____5555____5555____1111____EEEEXXXXTTTT,
  315.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____EEEEXXXXTTTT, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222____EEEEXXXXTTTT and the
  316.      EEEEXXXXTTTT____ppppaaaacccckkkkeeeedddd____ppppiiiixxxxeeeellllssss extension is not supported then a GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM error
  317.      is generated.
  318.  
  319.      See ggggllllIIIInnnnttttrrrroooo for more information on using extensions.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  335.  
  336.  
  337.  
  338. ERRORS
  339.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not an accepted value.
  340.  
  341.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _f_o_r_m_a_t is not an accepted value.
  342.  
  343.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_y_p_e is not an accepted value.
  344.  
  345.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
  346.      log (_m_a_x), where _m_a_x is the returned value of
  347.         2
  348.      GGGGLLLL____MMMMAAAAXXXX____4444DDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE____SSSSGGGGIIIISSSS.
  349.  
  350.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _i_n_t_e_r_n_a_l_f_o_r_m_a_t is not an accepted value.
  351.  
  352.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h, _h_e_i_g_h_t, _d_e_p_t_h, or _s_i_z_e_4_d is less
  353.      than zero or greater than GGGGLLLL____MMMMAAAAXXXX____4444DDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE____SSSSGGGGIIIISSSS, when _w_i_d_t_h, _d_e_p_t_h,
  354.      or _s_i_z_e_4_d cannot be represented as 2**k+2*border for some integer k, or
  355.      when _h_e_i_g_h_t cannot be represented as 2**k+I*border, where I is 2 when
  356.      GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled and 1 otherwise.
  357.  
  358.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _b_o_r_d_e_r is not 0 or 1.
  359.  
  360.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS is executed between
  361.      the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
  362.  
  363.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if the implementation cannot accomodate a
  364.      texture of the size requested.
  365.  
  366. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  367.      ggggllllGGGGeeeettttTTTTeeeexxxxIIIImmmmaaaaggggeeee
  368.      ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS
  369.      ggggllllGGGGeeeettttTTTTeeeexxxxLLLLeeeevvvveeeellllPPPPaaaarrrraaaammmmeeeetttteeeerrrr with a first argument of GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____4444DDDD____SSSSGGGGIIIISSSS
  370.      and a third argument of GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____RRRREEEEDDDD____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
  371.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____GGGGRRRREEEEEEEENNNN____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBLLLLUUUUEEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
  372.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____AAAALLLLPPPPHHHHAAAA____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
  373.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWIIIIDDDDTTTTHHHH, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____HHHHEEEEIIIIGGGGHHHHTTTT,
  374.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____DDDDEEEEPPPPTTTTHHHH____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBOOOORRRRDDDDEEEERRRR, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTTSSSS.
  375.  
  376.  
  377.  
  378. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  379.      The EEEEXXXXTTTT____ppppaaaacccckkkkeeeedddd____ppppiiiixxxxeeeellllssss extension is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
  380.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems.
  381.  
  382.      On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems the number of bits per
  383.      component, represented internally, is the same for all components and
  384.      will be 4, 8, or 12 bits per component. All specified internal formats
  385.      will receive an equal or greater representation in this scheme, up to the
  386.      12-bit limit.  HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Indigo2 systems do not
  387.      support texture internal formats of the type GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY or GGGGLLLL____AAAALLLLPPPPHHHHAAAA,
  388.      although HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Octane systems do support
  389.      these types.
  390.  
  391.  
  392.  
  393.  
  394.                                                                         PPPPaaaaggggeeee 6666
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401. ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))           OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS((((3333GGGG))))
  402.  
  403.  
  404.  
  405.      HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Indigo2 systems without the TRAM option
  406.      card support 4 bits per component for GGGGLLLL____RRRRGGGGBBBB and GGGGLLLL____RRRRGGGGBBBBAAAA, 4/8 bits per
  407.      component for GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA, and 4/8/12 bits per component for
  408.      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE.
  409.  
  410.      4D texture mapping is supported only on HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt
  411.      systems, but only for the SSSSGGGGIIIIXXXX____ppppiiiixxxxeeeellll____tttteeeexxxxttttuuuurrrreeee extension (see
  412.      ggggllllPPPPiiiixxxxeeeellllTTTTeeeexxxxGGGGeeeennnnSSSSGGGGIIIIXXXX).  Standard texture-mapping of triangles and other
  413.      primitives is not supported.
  414.  
  415.  
  416. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  417.      ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllFFFFoooogggg, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee, ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllTTTTeeeexxxxEEEEnnnnvvvv, ggggllllTTTTeeeexxxxGGGGeeeennnn,
  418.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr,
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                                                         PPPPaaaaggggeeee 7777
  461.  
  462.  
  463.  
  464.