WebGLRenderingContext: bindTexture() 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.bindTexture() method of the WebGL API binds a given WebGLTexture to a target (binding point).

Syntax

js
bindTexture(target, texture)

Parameters

target

A GLenum specifying the binding point (target). Possible values:

gl.TEXTURE_2D

A two-dimensional texture.

gl.TEXTURE_CUBE_MAP

A cube-mapped texture.

When using a WebGL 2 context, the following values are available additionally:

gl.TEXTURE_3D

A three-dimensional texture.

gl.TEXTURE_2D_ARRAY

A two-dimensional array texture.

texture

A WebGLTexture object to bind. If null is passed, the currently bound texture for the specified target is unbound.

Return value

None (undefined).

Exceptions

A gl.INVALID_ENUM error is thrown if target is not gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP, gl.TEXTURE_3D, or gl.TEXTURE_2D_ARRAY.

Examples

Binding a texture

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();

gl.bindTexture(gl.TEXTURE_2D, texture);

Unbinding a texture

js
// Unbind any texture currently bound to TEXTURE_2D
gl.bindTexture(gl.TEXTURE_2D, null);

Getting current bindings

To check the current texture binding, query the gl.TEXTURE_BINDING_2D or gl.TEXTURE_BINDING_CUBE_MAP constants.

js
gl.getParameter(gl.TEXTURE_BINDING_2D);

Specifications

Specification
WebGL Specification
# 5.14.8
WebGL 2.0 Specification
# 3.7.1

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
bindTexture
Chrome – Full support
Chrome 9 (Release date: 2011-02-03)
footnote Full support
Edge – Full support
Edge 12 (Release date: 2015-07-29)
footnote Full support
Firefox – Full support
Firefox 4 (Release date: 2011-03-22)
footnote Full support
Opera – Full support
Opera 12 (Release date: 2012-06-14)
footnote Full support
Safari – Full support
Safari 5.1 (Release date: 2011-07-20)
footnote Full support
Chrome Android – Full support
Chrome Android 25 (Release date: 2013-02-27)
footnote Full support
Firefox for Android – Full support
Firefox for Android 4 (Release date: 2011-03-29)
footnote Full support
Opera Android – Full support
Opera Android 12 (Release date: 2012-02-25)
footnote Full support
Safari on iOS – Full support
Safari on iOS 8 (Release date: 2014-09-17)
footnote Full support
Samsung Internet – Full support
Samsung Internet 1.5 (Release date: 2013-09-25)
footnote Full support
WebView Android – Full support
WebView Android 4.4.3 (Release date: 2014-06-02)
footnote Full support
WebView on iOS – Full support
WebView on iOS 8 (Release date: 2014-09-17)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also