specify a three-dimensional texture subimage in a compressed format
Signature
glCompressedTexSubImage3D(
GLenum (
target
)
,
GLint (
level
)
,
GLint (
xoffset
)
,
GLint (
yoffset
)
,
GLint (
zoffset
)
,
GLsizei (
width
)
,
GLsizei (
height
)
,
GLsizei (
depth
)
,
GLenum (
format
)
,
GLsizei (
imageSize
)
,
const GLvoid * (
data
)
)-> void
glCompressedTexSubImage3D(
target
,
level
,
xoffset
,
yoffset
,
zoffset
,
width
,
height
,
depth
,
format
,
imageSize
,
data
)
glCompressedTexSubImage3D(GLenum(target), GLint(level), GLint(xoffset), GLint(yoffset), GLint(zoffset), GLsizei(width), GLsizei(height), GLsizei(depth), GLenum(format), GLsizei(imageSize), c_void_p(data)) -> None
Parameters
| Variables | Description |
|---|---|
| target |
Specifies the target texture.
Must be
GL_TEXTURE_3D
.
|
| level |
Specifies the level-of-detail number.
Level 0 is the base image level.
Level
n
is the
n
th mipmap reduction image.
|
| xoffset |
Specifies a texel offset in the x direction within the texture array.
|
| yoffset |
Specifies a texel offset in the y direction within the texture array.
|
| width |
Specifies the width of the texture subimage.
|
| height |
Specifies the height of the texture subimage.
|
| depth |
Specifies the depth of the texture subimage.
|
| format |
Specifies the format of the compressed image data stored at address
data
.
|
| imageSize |
Specifies the number of unsigned bytes of image data starting at the
address specified by
data
.
|
| data |
Specifies a pointer to the compressed image data in memory.
|
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
glEnable
and
glDisable
with argument
GL_TEXTURE_3D
.
glCompressedTexSubImage3D
redefines a contiguous subregion of an existing three-dimensional
texture image. The texels referenced by
data
replace the portion of the
existing texture array with x indices
xoffset
and
,
and the y indices
yoffset
and
,
and the z indices
zoffset
and
,
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 width of 0,
but such a specification has no effect.
format
must be an extension-specified
compressed-texture format. The
format
of the compressed texture
image is selected by the GL implementation that compressed it (see
glTexImage3D
) and should be queried at the time the texture was
compressed with
glGetTexLevelParameter
.
If a non-zero named buffer object is bound to the
GL_PIXEL_UNPACK_BUFFER
target
(see
glBindBuffer
) while a texture image is
specified,
data
is treated as a byte offset into the buffer object's data store.
Notes
glCompressedTexSubImage3D
is available only if the GL version is 1.3 or greater.
Errors
GL_INVALID_ENUM
is generated if
format
is one of these generic compressed internal formats:
GL_COMPRESSED_ALPHA
,
GL_COMPRESSED_LUMINANCE
,
GL_COMPRESSED_LUMINANCE_ALPHA
,
GL_COMPRESSED_INTENSITY
,
GL_COMPRESSED_RGB
,
GL_COMPRESSED_RGBA
,
GL_COMPRESSED_SLUMINANCE
,
GL_COMPRESSED_SLUMINANCE_ALPHA
,
GL_COMPRESSED_SRGB
,
GL_COMPRESSED_SRGBA
, or
GL_COMPRESSED_SRGB_ALPHA
.
GL_INVALID_VALUE
is generated if
imageSize
is not consistent with
the format, dimensions, and contents of the specified compressed image
data.
GL_INVALID_OPERATION
is generated if parameter combinations are not
supported by the specific compressed internal format as specified in the
specific texture compression extension.
GL_INVALID_OPERATION
is generated if a non-zero buffer object name is bound to the
GL_PIXEL_UNPACK_BUFFER
target and the buffer object's data store is currently mapped.
GL_INVALID_OPERATION
is generated if a non-zero buffer object name is bound to the
GL_PIXEL_UNPACK_BUFFER
target and the data would be unpacked from the buffer
object such that the memory reads required would exceed the data store size.
GL_INVALID_OPERATION
is generated if
glCompressedTexSubImage3D
is executed between the execution of
glBegin
and the corresponding execution of
glEnd
.
Undefined results, including abnormal program termination, are generated if
data
is not encoded in a manner consistent with the extension
specification defining the internal compression format.
Associated Gets
glGet
with argument
GL_TEXTURE_COMPRESSED
glGet
with argument
GL_PIXEL_UNPACK_BUFFER_BINDING
glGetTexLevelParameter
with arguments
GL_TEXTURE_INTERNAL_FORMAT
and
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
glIsEnabled
with argument
GL_TEXTURE_3D
See Also
glActiveTexture
,
glColorTable
,
glCompressedTexImage1D
,
glCompressedTexImage2D
,
glCompressedTexImage3D
,
glCompressedTexSubImage1D
,
glCompressedTexSubImage2D
,
glConvolutionFilter1D
,
glCopyPixels
,
glCopyTexImage1D
,
glCopyTexImage2D
,
glCopyTexSubImage1D
,
glCopyTexSubImage2D
,
glCopyTexSubImage3D
,
glDrawPixels
,
glMatrixMode
,
glPixelStore
,
glPixelTransfer
,
glTexEnv
,
glTexGen
,
glTexImage2D
,
glTexImage3D
,
glTexSubImage1D
,
glTexSubImage2D
,
glTexSubImage3D
,
glTexParameter
Copyright
Copyright
1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/
.