home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / documents / OpenGL / extensions / man / gltexsubimage2dext.z / gltexsubimage2dext
Encoding:
Text File  |  1996-11-11  |  16.5 KB  |  265 lines

  1.  
  2.  
  3.  
  4. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT - specify a two-dimensional texture subimage
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT( GLenum _t_a_r_g_e_t,
  14.                               GLint _l_e_v_e_l,
  15.                               GLint _x_o_f_f_s_e_t,
  16.                               GLint _y_o_f_f_s_e_t,
  17.                               GLsizei _w_i_d_t_h,
  18.                               GLsizei _h_e_i_g_h_t,
  19.                               GLenum _f_o_r_m_a_t,
  20.                               GLenum _t_y_p_e,
  21.                               const GLvoid *_p_i_x_e_l_s )
  22.  
  23.  
  24. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  25.      _t_a_r_g_e_t   Specifies the target texture.  Must be GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD or
  26.               GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS.
  27.  
  28.      _l_e_v_e_l    Specifies the level-of-detail number.  Level 0 is the base image
  29.               level.  Level _n is the _nth mipmap reduction image.
  30.  
  31.      _x_o_f_f_s_e_t  Specifies a texel offset in the x direction within the texture
  32.               array.
  33.  
  34.      _y_o_f_f_s_e_t  Specifies a texel offset in the y direction within the texture
  35.               array.
  36.  
  37.      _w_i_d_t_h    Specifies the width of the texture subimage.
  38.  
  39.      _h_e_i_g_h_t   Specifies the height of the texture subimage.
  40.  
  41.      _f_o_r_m_a_t   Specifies the format of the pixel data.  The following symbolic
  42.               values are accepted:  GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX, GGGGLLLL____RRRREEEEDDDD, GGGGLLLL____GGGGRRRREEEEEEEENNNN, GGGGLLLL____BBBBLLLLUUUUEEEE,
  43.               GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____RRRRGGGGBBBB, GGGGLLLL____RRRRGGGGBBBBAAAA, GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and
  44.               GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA.
  45.  
  46.      _t_y_p_e     Specifies the data type of the pixel data.  The following
  47.               symbolic values are accepted:  GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____BBBBYYYYTTTTEEEE,
  48.               GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT, GGGGLLLL____IIIINNNNTTTT,
  49.               and GGGGLLLL____FFFFLLLLOOOOAAAATTTT.
  50.  
  51.      _p_i_x_e_l_s   Specifies a pointer to the image data in memory.
  52.  
  53.  
  54. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  55.      Texturing maps a portion of a specified _t_e_x_t_u_r_e _i_m_a_g_e onto each graphical
  56.      primitive for which texturing is enabled.  Two-dimensional texturing is
  57.      enabled and disabled using ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
  58.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT redefines a contiguous subregion of an existing two-
  75.      dimensional texture image.  The texels referenced by _p_i_x_e_l_s replace the
  76.      portion of the existing texture array with x indices _x_o_f_f_s_e_t and
  77.      _x_o_f_f_s_e_t+_w_i_d_t_h-1, inclusive, and y indices _y_o_f_f_s_e_t and _y_o_f_f_s_e_t+_h_e_i_g_h_t-1,
  78.      inclusive (But, see discussion of GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX below).  This region
  79.      may not include any texels outside the range of the texture array as it
  80.      was originally specified.  It is not an error to specify a subtexture
  81.      with zero width or height, but such a specification has no effect.
  82.  
  83.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled, then counting from zero, each Nth
  84.      texel from _p_i_x_e_l_s is assigned to texture array indices [_i,_j], where _i =
  85.      _x_o_f_f_s_e_t+(N mod _w_i_d_t_h) and _j = _y_o_f_f_s_e_t+((N div _w_i_d_t_h) mod _h_e_i_g_h_t).
  86.  
  87.      If GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, then every other row of the destination
  88.      texture is skipped.  That is, the destination row for texel N is
  89.      _y_o_f_f_s_e_t+2((N div _w_i_d_t_h) mod _h_e_i_g_h_t).  A complete video frame may be
  90.      assembled in texture memory by invoking ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT on two
  91.      consecutive video fields, with _y_o_f_f_s_e_t values that differ by one.
  92.  
  93. NNNNOOOOTTTTEEEESSSS
  94.      Texturing has no effect in color index mode.
  95.  
  96.      ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr modes affect texture images in exactly
  97.      the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
  98.  
  99. EEEERRRRRRRROOOORRRRSSSS
  100.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not one of the allowable
  101.      values.
  102.  
  103.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated when the texture array has not been
  104.      defined by a previous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD operation.
  105.  
  106.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
  107.      log2(_m_a_x), where _m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE.
  108.  
  109.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h < -TEXTURE_BORDER or if
  110.      _h_e_i_g_h_t < -TEXTURE_BORDER, where TEXTURE_BORDER is the border width of the
  111.      texture array.
  112.  
  113.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _x_o_f_f_s_e_t<-TEXTURE_BORDER,
  114.      (_x_o_f_f_s_e_t+_w_i_d_t_h)>(TEXTURE_WIDTH-TEXTURE_BORDER), _y_o_f_f_s_e_t<-TEXTURE_BORDER,
  115.      or (_y_o_f_f_s_e_t+_i_n_t_e_r_l_a_c_ex_h_e_i_g_h_t)>(TEXTURE_HEIGHT-TEXTURE_BORDER).  Where
  116.      TEXTURE_WIDTH, TEXTURE_HEIGHT, and TEXTURE_BORDER are the state values of
  117.      the texture image being modified, and _i_n_t_e_r_l_a_c_e is 1 if GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX
  118.      is disabled and 2 otherwise.  Note that TEXTURE_WIDTH and TEXTURE_HEIGHT
  119.      include twice the border width.
  120.  
  121.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _f_o_r_m_a_t is not an accepted _f_o_r_m_a_t
  122.      constant.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  137.  
  138.  
  139.  
  140.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_y_p_e is not a _t_y_p_e constant.
  141.  
  142.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP and _f_o_r_m_a_t is not
  143.      GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX.
  144.  
  145.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT is executed
  146.      between the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  147.      ggggllllEEEEnnnndddd.
  148.  
  149. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  150.      ggggllllGGGGeeeettttTTTTeeeexxxxIIIImmmmaaaaggggeeee
  151.      ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD
  152.  
  153.  
  154. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  155.      Convolution is supported only on RealityEngine, RealityEngine2, and VTX
  156.      systems.  However, these systems do not support convolving images as they
  157.      are loaded into texture memory.
  158.  
  159.      Histogramming and minmax are supported only on RealityEngine,
  160.      RealityEngine2, and VTX systems.  However, these systems do not support
  161.      either operation on images as they are being loaded into texture memory.
  162.  
  163.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT is supported only on RealityEngine, RealityEngine2,
  164.      and VTX systems.  On these systems the following apply:
  165.  
  166.           1. Performance is significantly better if the texture subimage
  167.              xoffset, yoffset, width and height are multiples of 32.
  168.  
  169.           2. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT may be used only with a texture that was
  170.              created using ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD with a NULL texture image.
  171.  
  172.           3. The only supported texel format and type combinations are:
  173.              GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE and
  174.              GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE,
  175.              GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____RRRRGGGGBBBB and
  176.              GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE and GGGGLLLL____RRRRGGGGBBBBAAAA and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE.  Any other
  177.              combination of format and type will result in a
  178.               GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM error.
  179.  
  180.           4. Using ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT in conjunction with pixel mapping
  181.              results in a GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN error (see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr and
  182.              ggggllllPPPPiiiixxxxeeeellllMMMMaaaapppp).
  183.  
  184.           5. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT may not be used in display lists or when
  185.              rendering remotely.
  186.  
  187.           6. GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is not supported (see ggggllllEEEEnnnnaaaabbbblllleeee).
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  203.  
  204.  
  205.  
  206. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  207.      ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllFFFFoooogggg, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee, ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllTTTTeeeexxxxEEEEnnnnvvvv, ggggllllTTTTeeeexxxxGGGGeeeennnn,
  208.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr.
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.