web api instance method
WebGLRenderingContext: texSubImage2D() method
Available in workers
The texSubImage2D() method of the WebGLRenderingContext interface of the WebGL API specifies a two-dimensional sub-rectangle for a texture image.
Syntax
// WebGL 1:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData)
texSubImage2D(target, level, xoffset, yoffset, format, type, source)
// Additionally available in WebGL 2:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData, srcOffset)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, source)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, offset)
Parameters
-
target- : A
GLenumspecifying the binding point (target) of the active texture. Possible values:gl.TEXTURE_2D: A two-dimensional texture.gl.TEXTURE_CUBE_MAP_POSITIVE_X: Positive X face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Negative X face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Positive Y face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Negative Y face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Positive Z face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Negative Z face for a cube-mapped texture.
- : A
-
level- : A
GLintspecifying the level of detail. Level 0 is the base image level and level n is the n-th mipmap reduction level.
- : A
-
xoffset- : A
GLintspecifying the lower left texel x coordinate of a width-wide by height-wide rectangular subregion of the texture array.
- : A
-
yoffset- : A
GLintspecifying the lower left texel y coordinate of a width-wide by height-wide rectangular subregion of the texture array.
- : A
-
width- : A
GLsizeispecifying the width of the texture in texels.
- : A
-
height- : A
GLsizeispecifying the height of the texture in texels.
- : A
-
format-
: A
GLenumspecifying how each integer element in the raw texel data should be interpreted as color components. Possible values:gl.ALPHA: Discards the red, green and blue components and reads the alpha component.gl.RGB: Discards the alpha components and reads the red, green and blue components.gl.RGBA: Red, green, blue and alpha components are read from the color buffer.gl.LUMINANCE: Each color component is a luminance component, alpha is 1.0.gl.LUMINANCE_ALPHA: Each component is a luminance/alpha component.
When using the
EXT_sRGBextension:ext.SRGB_EXText.SRGB_ALPHA_EXT
When using a
WebGL2RenderingContext, the following values are available additionally:gl.REDgl.RED_INTEGERgl.RGgl.RG_INTEGERgl.RGB_INTEGERgl.RGBA_INTEGERgl.DEPTH_COMPONENTgl.DEPTH_STENCIL
-
-
type- : A
GLenumspecifying the size of each integer element in the raw texel data. For the combinations offormatandtypeavailable, seetexImage2D().
- : A
The texture source can be provided in one of three ways: from an ArrayBuffer (possibly shared) using srcData and srcOffset; from a DOM pixel source; or, in WebGL 2, from gl.PIXEL_UNPACK_BUFFER using offset.
-
srcData- : A
TypedArrayorDataViewcontaining the compressed texture data. Its type must match thetypeparameter; seetexImage2D().
- : A
-
srcOffsetOptional- : (WebGL 2 only) An integer specifying the index of
srcDatato start reading from. Defaults to0.
- : (WebGL 2 only) An integer specifying the index of
-
source-
: Read from a DOM pixel source, which can be one of:
ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElementOffscreenCanvasVideoFrame
In WebGL 1, the
widthandheightare always inferred from the source. In WebGL 2, they can also be explicitly specified.
-
-
offset- : (WebGL 2 only) A
GLintptrspecifying the starting address in the buffer bound togl.PIXEL_UNPACK_BUFFER.
- : (WebGL 2 only) A
Return value
None (undefined).
Examples
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image);