WebGLRenderingContext: activeTexture() 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.

The WebGLRenderingContext.activeTexture() method of the WebGL API specifies which texture unit to make active.

Syntax

js
activeTexture(texture)

Parameters

texture

The texture unit to make active. The value is a gl.TEXTUREI where I is within the range from 0 to gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1.

Return value

None (undefined).

Exceptions

If texture is not one of gl.TEXTUREI, where I is within the range from 0 to gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1, a gl.INVALID_ENUM error is thrown.

Examples

The following call selects gl.TEXTURE1 as the current texture. Subsequent calls that modify the texture state will affect this texture.

js
gl.activeTexture(gl.TEXTURE1);

The number of texture units is implementation dependent, you can get this number with the help of the MAX_COMBINED_TEXTURE_IMAGE_UNITS constant. It is, per specification, at least 8.

js
gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);

To get the active texture, query the ACTIVE_TEXTURE constant.

js
gl.activeTexture(gl.TEXTURE0);
gl.getParameter(gl.ACTIVE_TEXTURE);
// returns "33984" (0x84C0, gl.TEXTURE0 enum value)

Specifications

Specification
WebGL Specification
# 5.14.3

Browser compatibility

BCD tables only load in the browser

See also