Name
gl.TexSubImage2D -- specify a two-dimensional texture subimage
Synopsis
gl.TexSubImage2D(level, xoff, yoff, w, h, format, type, pixels)
Function
Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call gl.Enable() and gl.Disable() with argument #GL_TEXTURE_2D.

gl.TexSubImage2D() redefines a contiguous subregion of an existing two-dimensional texture image. The texels referenced by pixels replace the portion of the existing texture array with X indices xoffset and xoffset + width - 1, inclusive, and Y indices yoffset and yoffset + height - 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 or height, but such a specification has no effect.

Texturing has no effect in color index mode.

gl.PixelStore() and gl.PixelTransfer() modes affect texture images in exactly the way they affect gl.DrawPixels().

See gl.TexImage2D for more details on the parameters accepted by this function.

Please note that this command operates directly with memory pointers. There is also a version which works with tables instead of memory pointers, but this is slower of course. See gl.TexSubImage for details. See Working with pointers for details on how to use memory pointers with Hollywood.

Please consult an OpenGL reference manual for more information.

Inputs
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
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
format
specifies the format of the pixel data (see above)
type
specifies the data type of the pixel data (see above)
pixels
specifies a pointer to the image data in memory
Errors
#GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous gl.TexImage2D() operation.

#GL_INVALID_VALUE is generated if level is less than 0.

#GL_INVALID_VALUE may be generated if level is greater than log2max, where max is the returned value of #GL_MAX_TEXTURE_SIZE.

#GL_INVALID_VALUE is generated if xoffset < -b, (xoffset + width) > (w - b), yoffset < -b, or (yoffset + height) > (h - b), where w is the #GL_TEXTURE_WIDTH, h is the #GL_TEXTURE_HEIGHT, and b is the border width of the texture image being modified. Note that w and h include twice the border width.

#GL_INVALID_VALUE is generated if width or height is less than 0.

#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_ENUM is generated if type is #GL_BITMAP and format is not #GL_COLOR_INDEX.

#GL_INVALID_OPERATION is generated if gl.TexSubImage2D() is executed between the execution of gl.Begin() and the corresponding execution of gl.End().

Associated gets
gl.GetTexImage()

gl.IsEnabled() with argument #GL_TEXTURE_2D


Show TOC