glTexSubImage1D — specify a one-dimensional texture subimage
void glTexSubImage1D( | GLenum | target, |
GLint | level, | |
GLint | xoffset, | |
GLsizei | width, | |
GLenum | format, | |
GLenum | type, | |
const GLvoid * | data) ; |
target
Specifies the target texture.
Must be GL_TEXTURE_1D
.
level
Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
xoffset
Specifies a texel offset in the x direction within the texture array.
width
Specifies the width of the texture subimage.
format
Specifies the format of the pixel data.
The following symbolic values are accepted:
GL_RED
,
GL_RG
,
GL_RGB
,
GL_BGR
,
GL_RGBA
, and
GL_BGRA
.
type
Specifies the data type of the pixel data.
The following symbolic values are accepted:
GL_UNSIGNED_BYTE
,
GL_BYTE
,
GL_UNSIGNED_SHORT
,
GL_SHORT
,
GL_UNSIGNED_INT
,
GL_INT
,
GL_FLOAT
,
GL_UNSIGNED_BYTE_3_3_2
,
GL_UNSIGNED_BYTE_2_3_3_REV
,
GL_UNSIGNED_SHORT_5_6_5
,
GL_UNSIGNED_SHORT_5_6_5_REV
,
GL_UNSIGNED_SHORT_4_4_4_4
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
,
GL_UNSIGNED_SHORT_5_5_5_1
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
,
GL_UNSIGNED_INT_8_8_8_8
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
GL_UNSIGNED_INT_10_10_10_2
, and
GL_UNSIGNED_INT_2_10_10_10_REV
.
data
Specifies a pointer to the image data in memory.
Texturing maps a portion of a specified texture image
onto each graphical primitive for which texturing is enabled.
To enable or disable one-dimensional texturing, call glEnable
and glDisable with argument GL_TEXTURE_1D
.
glTexSubImage1D
redefines a contiguous subregion of an existing one-dimensional
texture image.
The texels referenced by data
replace the portion of the
existing texture array with x indices xoffset
and
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.
glPixelStore modes affect texture images.
glTexSubImage1D
specifies a one-dimensional subtexture for the current texture unit,
specified with glActiveTexture.
GL_INVALID_ENUM
is generated if target
is not one of the
allowable values.
GL_INVALID_ENUM
is generated if format
is not an accepted
format constant.
GL_INVALID_ENUM
is generated if type
is not a type constant.
GL_INVALID_VALUE
is generated if level
is less than 0.
GL_INVALID_VALUE
may be generated if level
is greater
than
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if
GL_TEXTURE_WIDTH
of the texture image being modified.
GL_INVALID_VALUE
is generated if width
is less than 0.
GL_INVALID_OPERATION
is generated if the texture array has not
been defined by a previous glTexImage1D operation.
GL_INVALID_OPERATION
is generated if type
is one of
GL_UNSIGNED_BYTE_3_3_2
,
GL_UNSIGNED_BYTE_2_3_3_REV
,
GL_UNSIGNED_SHORT_5_6_5
, or
GL_UNSIGNED_SHORT_5_6_5_REV
and format
is not GL_RGB
.
GL_INVALID_OPERATION
is generated if type
is one of
GL_UNSIGNED_SHORT_4_4_4_4
,
GL_UNSIGNED_SHORT_4_4_4_4_REV
,
GL_UNSIGNED_SHORT_5_5_5_1
,
GL_UNSIGNED_SHORT_1_5_5_5_REV
,
GL_UNSIGNED_INT_8_8_8_8
,
GL_UNSIGNED_INT_8_8_8_8_REV
,
GL_UNSIGNED_INT_10_10_10_2
, or
GL_UNSIGNED_INT_2_10_10_10_REV
and format
is neither GL_RGBA
nor GL_BGRA
.
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 a non-zero buffer object name is bound to the
GL_PIXEL_UNPACK_BUFFER
target and data
is not evenly divisible
into the number of bytes needed to store in memory a datum indicated by type
.
glActiveTexture, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glPixelStore, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage2D, glTexSubImage3D
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/.