'\" te '\"! tbl|eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp Jan 14 18:30 .ds Dm 01 texsubima .ds Xs 43161 9 texsubimage3d.gl .TH GLTEXSUBIMAGE3D 3G .SH NAME .B "glTexSubImage3D \- specify a three-dimensional texture subimage .SH C SPECIFICATION void \f3glTexSubImage3D\fP( GLenum \fItarget\fP, .nf .ta \w'\f3void \fPglTexSubImage3D( 'u GLint \fIlevel\fP, GLint \fIxoffset\fP, GLint \fIyoffset\fP, GLint \fIzoffset\fP, GLsizei \fIwidth\fP, GLsizei \fIheight\fP, GLsizei \fIdepth\fP, GLenum \fIformat\fP, GLenum \fItype\fP, const GLvoid \fI*pixels\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\fIxoffset\fP\ \ 'u \f2target\fP Specifies the target texture. Must be \%\f3GL_TEXTURE_3D\fP. .TP \f2level\fP Specifies the level-of-detail number. Level 0 is the base image level. Level \f2n\fP is the \f2n\fPth mipmap reduction image. .TP \f2xoffset\fP Specifies a texel offset in the x direction within the texture array. .TP \f2yoffset\fP Specifies a texel offset in the y direction within the texture array. .TP \f2zoffset\fP Specifies a texel offset in the z direction within the texture array. .TP \f2width\fP Specifies the width of the texture subimage. .TP \f2height\fP Specifies the height of the texture subimage. .TP \f2depth\fP Specifies the depth of the texture subimage. .TP \f2format\fP Specifies the of the pixel data. The following symbolic values are accepted: \%\f3GL_COLOR_INDEX\fP, \%\f3GL_RED\fP, \%\f3GL_GREEN\fP, \%\f3GL_BLUE\fP, \%\f3GL_ALPHA\fP, \%\f3GL_RGB\fP, \%\f3GL_BGR\fP, \%\f3GL_RGBA\fP, \%\f3GL_BGRA\fP, \%\f3GL_LUMINANCE\fP, and \%\f3GL_LUMINANCE_ALPHA\fP. .TP \f2type\fP Specifies the data type of the pixel data. The following symbolic values are accepted: \%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_BYTE\fP, \%\f3GL_BITMAP\fP, \%\f3GL_UNSIGNED_SHORT\fP, \%\f3GL_SHORT\fP, \%\f3GL_UNSIGNED_INT\fP, \%\f3GL_INT\fP, \%\f3GL_FLOAT\fP, \%\f3GL_UNSIGNED_BYTE_3_3_2\fP, \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_6_5\fP, \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP, \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP, \%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP. .TP \f2pixels\fP 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 three-dimensional texturing, call \%\f3glEnable\fP and \%\f3glDisable\fP with argument \%\f3GL_TEXTURE_3D\fP. .P \%\f3glTexSubImage3D\fP redefines a contiguous subregion of an existing three-dimensional texture image. The texels referenced by \f2pixels\fP replace the portion of the existing texture array with x indices \f2xoffset\fP and $"xoffset" ~+~ "width" ~-~ 1$, inclusive, y indices \f2yoffset\fP and $"yoffset" ~+~ "height" ~-~ 1$, inclusive, and z indices \f2zoffset\fP and $"zoffset" ~+~ "depth" ~-~ 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, height, or depth but such a specification has no effect. .SH NOTES \%\f3glTexSubImage3D\fP is available only if the GL version is 1.2 or greater. .P Texturing has no effect in color index mode. .P \%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images in exactly the way they affect \%\f3glDrawPixels\fP. .P Formats \%\f3GL_BGR\fP, and \%\f3GL_BGRA\fP and types \%\f3GL_UNSIGNED_BYTE_3_3_2\fP, \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_6_5\fP, \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP, \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP, \%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP are available only if the GL version is 1.2 or greater. .P When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glTexSubImage3D\fP specifies a three-dimensional sub texture for the current texture unit, specified with \%\f3glActiveTextureARB\fP. .P When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components specified in \f2pixels\fP may be processed by the imaging pipeline. See \%\f3glTexImage3D\fP for specific details. .SH ERRORS \%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_3D\fP. .P \%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not been defined by a previous \%\f3glTexImage3D\fP operation. .P \%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0. .P \%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater than $log sub 2$\f2max\fP, where \f2max\fP is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP. .P \%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ ~-b$, $("xoffset" ~+~ "width") ~>~ (w~-~b)$, $"yoffset" ~<~ ~-b$, or $("yoffset" ~+~ "height") ~>~ (h~-~b)$, or $"zoffset" ~<~ ~-b$, or $("zoffset" ~+~ "depth") ~>~ (d~-~b)$, where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP, $h$ is the \%\f3GL_TEXTURE_HEIGHT\fP, $d$ is the \%\f3GL_TEXTURE_DEPTH\fP and $b$ is the border width of the texture image being modified. Note that $w$, $h$, and $d$ include twice the border width. .P \%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP, \f2height\fP, or \f2depth\fP is less than 0. .P \%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not an accepted constant. .P \%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not a type constant. .P \%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is \%\f3GL_BITMAP\fP and \f2format\fP is not \%\f3GL_COLOR_INDEX\fP. .P \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glTexSubImage3D\fP is executed between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP. .P \%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE_3_3_2\fP, \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP and \f2format\fP is not \%\f3GL_RGB\fP. .P \%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP, \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP, \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP, \%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP. .SH ASSOCIATED GETS \%\f3glGetTexImage\fP .br \%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_3D\fP .SH SEE ALSO \%\f3glActiveTextureARB(3G)\fP, \%\f3glCopyTexImage1D(3G)\fP, \%\f3glCopyTexImage2D(3G)\fP, \%\f3glCopyTexSubImage1D(3G)\fP, \%\f3glCopyTexSubImage2D(3G)\fP, \%\f3glCopyTexSubImage3D(3G)\fP, \%\f3glDrawPixels(3G)\fP, \%\f3glPixelStore(3G)\fP, \%\f3glPixelTransfer(3G)\fP, \%\f3glTexEnv(3G)\fP, \%\f3glTexGen(3G)\fP, \%\f3glTexImage1D(3G)\fP, \%\f3glTexImage2D(3G)\fP, \%\f3glTexImage3D(3G)\fP, \%\f3glTexSubImage1D(3G)\fP, \%\f3glTexSubImage2D(3G)\fP, \%\f3glTexParameter(3G)\fP