NAME¶
glTexSubImage1D - specify a one-dimensional texture subimage
C SPECIFICATION¶
void
glTexSubImage1D(GLenum target,
GLint level, GLint xoffset,
GLsizei width, GLenum format,
GLenum type,
const GLvoid * data);
PARAMETERS¶
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.
DESCRIPTION¶
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
xoffset + width - 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 width of 0, but such a specification has no
effect.
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¶
glPixelStore() modes affect texture images.
glTexSubImage1D specifies a one-dimensional subtexture for the current
texture unit, specified with
glActiveTexture().
ERRORS¶
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 log 2
max, where
max is the returned value of
GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if xoffset < - b, or if xoffset + width
> w - b, where w is the
GL_TEXTURE_WIDTH, and b is the width of the
GL_TEXTURE_BORDER of the texture image being modified. Note that w
includes twice the border width.
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.
ASSOCIATED GETS¶
glGetTexImage()
glGet() with argument
GL_PIXEL_UNPACK_BUFFER_BINDING
SEE ALSO¶
glActiveTexture(),
glCopyTexImage1D(),
glCopyTexImage2D(),
glCopyTexSubImage1D(),
glCopyTexSubImage2D(),
glCopyTexSubImage3D(),
glPixelStore(),
glTexImage1D(),
glTexImage2D(),
glTexImage3D(),
glTexParameter(),
glTexSubImage2D(),
glTexSubImage3D()
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/.