WebGLRenderingContext: copyTexImage2D() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Note: This feature is available in Web Workers.

The WebGLRenderingContext.copyTexImage2D() method of the WebGL API copies pixels from the current WebGLFramebuffer into a 2D texture image.

Syntax

js
copyTexImage2D(target, level, internalformat, x, y, width, height, border)

Parameters

target

A GLenum specifying 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.
level

A GLint specifying the level of detail. Level 0 is the base image level and level n is the n-th mipmap reduction level.

internalformat

A GLenum specifying the color components in the texture. 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.
x

A GLint specifying the x coordinate of the lower left corner where to start copying.

y

A GLint specifying the y coordinate of the lower left corner where to start copying.

width

A GLsizei specifying the width of the texture.

height

A GLsizei specifying the height of the texture.

border

A GLint specifying the width of the border. Must be 0.

Return value

None (undefined).

Examples

js
gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 512, 512, 0);

Specifications

Specification
WebGL Specification
# 5.14.8

Browser compatibility

BCD tables only load in the browser

See also