_C_ License Applicability. Except to the extent portions of this file are _C_ made subject to an alternative license as permitted in the SGI Free _C_ Software License B, Version 1.1 (the "License"), the contents of this _C_ file are subject only to the provisions of the License. You may not use _C_ this file except in compliance with the License. You may obtain a copy _C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 _C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: _C_ _C_ http://oss.sgi.com/projects/FreeB _C_ _C_ Note that, as provided in the License, the Software is distributed on an _C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS _C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND _C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A _C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT. _C_ _C_ Original Code. The Original Code is: OpenGL Sample Implementation, _C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, _C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. _C_ Copyright in any portions created by third parties is as indicated _C_ elsewhere herein. All Rights Reserved. _C_ _C_ Additional Notice Provisions: The application programming interfaces _C_ established by SGI in conjunction with the Original Code are The _C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released _C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version _C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X _C_ Window System(R) (Version 1.3), released October 19, 1998. This software _C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation _C_ published by SGI, but has not been independently verified as being _C_ compliant with the OpenGL(R) version 1.2.1 Specification. _C_ _C_ The first character in this file must be an '_'! _C_ Anything on a line after _C_ is ignored _define(_filters,tbl|eqn)_C_ _C_ eqn is automatically replaced with neqn for nroff _header(TexSubImage2D,specify a two-dimensional texture subimage) _names(TexSubImage2D) .EQ delim $$ .EN .SH PARAMETERS _phead(_param1) Specifies the target texture. Must be _const(TEXTURE_2D). _phead(_param2) Specifies the level-of-detail number. Level 0 is the base image level. Level \f2n\fP is the \f2n\fPth mipmap reduction image. _phead(_param3) Specifies a texel offset in the x direction within the texture array. _phead(_param4) Specifies a texel offset in the y direction within the texture array. _phead(_param5) Specifies the width of the texture subimage. _phead(_param6) Specifies the height of the texture subimage. _phead(_param7) Specifies the format of the pixel data. The following symbolic values are accepted: _const(COLOR_INDEX), _const(RED), _const(GREEN), _const(BLUE), _const(ALPHA), _const(RGB), _const(BGR), _const(RGBA), _const(BGRA), _C_ _const(ABGR_EXT), _const(LUMINANCE), and _const(LUMINANCE_ALPHA). _phead(_param8) Specifies the data type of the pixel data. The following symbolic values are accepted: _const(UNSIGNED_BYTE), _const(BYTE), _const(BITMAP), _const(UNSIGNED_SHORT), _const(SHORT), _const(UNSIGNED_INT), _const(INT), _const(FLOAT), _const(UNSIGNED_BYTE_3_3_2), _const(UNSIGNED_BYTE_2_3_3_REV), _const(UNSIGNED_SHORT_5_6_5), _const(UNSIGNED_SHORT_5_6_5_REV), _const(UNSIGNED_SHORT_4_4_4_4), _const(UNSIGNED_SHORT_4_4_4_4_REV), _const(UNSIGNED_SHORT_5_5_5_1), _const(UNSIGNED_SHORT_1_5_5_5_REV), _const(UNSIGNED_INT_8_8_8_8), _const(UNSIGNED_INT_8_8_8_8_REV), _const(UNSIGNED_INT_10_10_10_2), and _const(UNSIGNED_INT_2_10_10_10_REV). _phead(_param9) Specifies a pointer to the image data in memory. .SH DESCRIPTION Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call _cmnd(Enable) and _cmnd(Disable) with argument _const(TEXTURE_2D). .P _cmnd redefines a contiguous subregion of an existing two-dimensional texture image. The texels referenced by _param9 replace the portion of the existing texture array with x indices _param3 and $_eqnparam3~+~_eqnparam5~-~1$, inclusive, and y indices _param4 and $_eqnparam4~+~_eqnparam6~-~1$, inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. .SH NOTES _cmnd is available only if the GL version is 1.1 or greater. .P Texturing has no effect in color index mode. .P _cmnd(PixelStore) and _cmnd(PixelTransfer) modes affect texture images in exactly the way they affect _cmnd(DrawPixels). .P Formats _const(BGR), and _const(BGRA) and types _const(UNSIGNED_BYTE_3_3_2), _const(UNSIGNED_BYTE_2_3_3_REV), _const(UNSIGNED_SHORT_5_6_5), _const(UNSIGNED_SHORT_5_6_5_REV), _const(UNSIGNED_SHORT_4_4_4_4), _const(UNSIGNED_SHORT_4_4_4_4_REV), _const(UNSIGNED_SHORT_5_5_5_1), _const(UNSIGNED_SHORT_1_5_5_5_REV), _const(UNSIGNED_INT_8_8_8_8), _const(UNSIGNED_INT_8_8_8_8_REV), _const(UNSIGNED_INT_10_10_10_2), and _const(UNSIGNED_INT_2_10_10_10_REV) are available only if the GL version is 1.2 or greater. .P When the _arbstring(multitexture) extension is supported, _cmnd specifies a two-dimensional sub texture for the current texture unit, specified with _cmnd(ActiveTextureARB). .P When the _arbstring(imaging) extension is supported, the RGBA components specified in _param9 may be processed by the imaging pipeline. See _cmnd(TexImage1D) for specific details. .SH ERRORS _const(INVALID_ENUM) is generated if _param1 is not _const(TEXTURE_2D). .P _const(INVALID_OPERATION) is generated if the texture array has not been defined by a previous _cmnd(TexImage2D) operation. .P _const(INVALID_VALUE) is generated if _param2 is less than 0. .P _const(INVALID_VALUE) may be generated if _param2 is greater than $log sub 2$\f2max\fP, where \f2max\fP is the returned value of _const(MAX_TEXTURE_SIZE). .P _const(INVALID_VALUE) is generated if $_eqnparam3 ~<~ ~-b$, $(_eqnparam3~+~_eqnparam5) ~>~ (w~-~b)$, $_eqnparam4 ~<~ ~-b$, or $(_eqnparam4 ~+~ _eqnparam6) ~>~ (h~-~b)$, where $w$ is the _const(TEXTURE_WIDTH), $h$ is the _const(TEXTURE_HEIGHT), and $b$ is the border width of the texture image being modified. Note that $w$ and $h$ include twice the border width. .P _const(INVALID_VALUE) is generated if _param5 or _param6 is less than 0. .P _const(INVALID_ENUM) is generated if _param7 is not an accepted format constant. .P _const(INVALID_ENUM) is generated if _param8 is not a type constant. .P _const(INVALID_ENUM) is generated if _param8 is _const(BITMAP) and _param7 is not _const(COLOR_INDEX). .P _const(INVALID_OPERATION) is generated if _cmnd is executed between the execution of _cmnd(Begin) and the corresponding execution of _cmnd(End). .P _const(INVALID_OPERATION) is generated if _param8 is one of _const(UNSIGNED_BYTE_3_3_2), _const(UNSIGNED_BYTE_2_3_3_REV), _const(UNSIGNED_SHORT_5_6_5), or _const(UNSIGNED_SHORT_5_6_5_REV) and _param7 is not _const(RGB). .P _const(INVALID_OPERATION) is generated if _param8 is one of _const(UNSIGNED_SHORT_4_4_4_4), _const(UNSIGNED_SHORT_4_4_4_4_REV), _const(UNSIGNED_SHORT_5_5_5_1), _const(UNSIGNED_SHORT_1_5_5_5_REV), _const(UNSIGNED_INT_8_8_8_8), _const(UNSIGNED_INT_8_8_8_8_REV), _const(UNSIGNED_INT_10_10_10_2), or _const(UNSIGNED_INT_2_10_10_10_REV) and _param7 is neither _const(RGBA) nor _const(BGRA). .SH ASSOCIATED GETS _cmnd(GetTexImage) .br _cmnd(IsEnabled) with argument _const(TEXTURE_2D) .SH SEE ALSO _cmnd(ActiveTextureARB), _cmnd(CopyTexImage1D), _cmnd(CopyTexImage2D), _cmnd(CopyTexSubImage1D), _cmnd(CopyTexSubImage2D), _cmnd(CopyTexSubImage3D), _cmnd(DrawPixels), _cmnd(PixelStore), _cmnd(PixelTransfer), _cmnd(TexEnv), _cmnd(TexGen), _cmnd(TexImage1D), _cmnd(TexImage2D), _cmnd(TexImage3D), _cmnd(TexSubImage1D), _cmnd(TexSubImage3D), _cmnd(TexParameter)