This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Note: This feature is available in Web Workers.
The texStorage3D() method of the WebGL2RenderingContext of the WebGL API specifies all levels of three-dimensional texture storage.
texStorage3D(target, levels, internalformat, width, height, depth)
targetA GLenum specifying the binding point (target) of the active texture. Possible values:
gl.TEXTURE_3D: A three-dimensional texture.gl.TEXTURE_2D_ARRAY: A two-dimensional array texture.levelsA GLint specifying the number of texture levels.
internalformatA GLenum specifying the texture store format. For a list of possible values, see WebGL2RenderingContext.texStorage2D().
widthA GLsizei specifying the width of the texture in texels.
heightA GLsizei specifying the height of the texture in texels.
depthA GLsizei specifying the depth of the texture/the number of textures in a TEXTURE_2D_ARRAY.
None (undefined).
gl.texStorage3D(gl.TEXTURE_3D, 1, gl.RGB8, 256, 256, 256);
| Specification |
|---|
| WebGL 2.0 Specification> # 3.7.6> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
texStorage3D |
56 | 79 | 51 | 43 | 15 | 58 | 51 | 43 | 15 | 7.0 | 58 | 15 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texStorage3D