228 lines
7.2 KiB
Plaintext
228 lines
7.2 KiB
Plaintext
'\" 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
|
|
|