files/en-us/web/api/webgltexture/index.md
{{APIRef("WebGL")}}{{AvailableInWorkers}}
The WebGLTexture interface is part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations.
{{InheritanceDiagram}}
The WebGLTexture object does not define any methods or properties of its own and its content is not directly accessible. When working with WebGLTexture objects, the following methods of the {{domxref("WebGLRenderingContext")}} are useful:
See also the WebGL tutorial on Using textures in WebGL.
When using WebXR layers, the {{domxref("XRWebGLBinding")}} object will return instances of an opaque WebGLTexture for the color and depth/stencil attachments.
WebXR methods that return opaque WebGLTexture objects:
The WebXR opaque texture is identical to the standard WebGLTexture with the following exceptions:
requestAnimationFrame() callback for its session.requestAnimationFrame() callback a WebXR opaque texture is unbounded and detached from all {{domxref("WebGLShader")}} objects.INVALID_OPERATION error is thrown.const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();
{{Specifications}}
{{Compat}}