The WebGLRenderingContext.renderbufferStorage()
method of the WebGL API creates and initializes a renderbuffer object's data store.
Syntax
void gl.renderbufferStorage(target, internalFormat, width, height);
Parameters
- target
- A
Glenum
specifying the target renderbuffer object. Possible values:gl.RENDERBUFFER
: Buffer data storage for single images in a renderable internal format.
- internalFormat
- A
Glenum
specifying the internal format of the renderbuffer. Possible values:gl.RGBA4
: 4 red bits, 4 green bits, 4 blue bits 4 alpha bits.gl.RGB565
: 5 red bits, 6 green bits, 5 blue bits.gl.RGB5_A1
: 5 red bits, 5 green bits, 5 blue bits, 1 alpha bit.gl.DEPTH_COMPONENT16
: 16 depth bits.gl.STENCIL_INDEX8
: 8 stencil bits.gl.DEPTH_STENCIL
- When using a WebGL 2 context, the following values are available additionally:
gl.R8
gl.R8UI
gl.R8I
gl.R16UI
gl.R16I
gl.R32UI
gl.R32I
gl.RG8
gl.RG8UI
gl.RG8I
gl.RG16UI
gl.RG16I
gl.RG32UI
gl.RG32I
gl.RGB8
gl.RGBA8
gl.SRGB8_ALPHA8
(also available as an extension for WebGL 1, see below)gl.RGB10_A2
gl.RGBA8UI
gl.RGBA8I
gl.RGB10_A2UI
gl.RGBA16UI
gl.RGBA16I
gl.RGBA32I
gl.RGBA32UI
gl.DEPTH_COMPONENT24
gl.DEPTH_COMPONENT32F
gl.DEPTH24_STENCIL8
gl.DEPTH32F_STENCIL8
- When using the
WEBGL_color_buffer_float
extension:ext.RGBA32F_EXT
: RGBA 32-bit floating-point type.ext.RGB32F_EXT
: RGB 32-bit floating-point type.
- When using the
EXT_sRGB
extension:ext.SRGB8_ALPHA8_EXT
: 8-bit sRGB and alpha.
- When using a WebGL 2 context and the
EXT_color_buffer_float
extension:gl.R16F
gl.RG16F
gl.RGBA16F
gl.R32F
gl.RG32F
gl.RGBA32F
gl.R11F_G11F_B10F
- width
- A
GLsizei
specifying the width of the renderbuffer in pixels. - height
- A
GLsizei
specifying the height of the renderbuffer in pixels.
Return value
None.
Examples
gl.renderbufferStorage(gl.RENDERBUFFER, gl.RBGA4, 256, 256);
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'renderbufferStorage' in that specification. |
Recommendation | Initial definition for WebGL. |
OpenGL ES 2.0 The definition of 'glRenderbufferStorage' in that specification. |
Standard | Man page of the OpenGL ES 2 API. |
WebGL 2.0 The definition of 'getRenderbufferParameter' in that specification. |
Editor's Draft | Updated definition for WebGL 2. |
OpenGL ES 3.0 The definition of 'glRenderbufferStorage' in that specification. |
Standard | Man page of the (similar) OpenGL ES 3 API. Adds many new internal formats. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 9 | 12 | 4.0 (2.0) | 11 | 12 | 5.1 |
WebGL 2 | No support [2] | No support | Nightly build [1] | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | ? | 25 | 4.0 (2.0) | 1.0 | ? | 12 | 8.0 |
WebGL 2 | No support | No support | No support | No support | No support | No support | No support |
[1] WebGL 2 is enabled by default in Firefox Nightly. To enable it in a release version of Firefox, set the preference webgl.enable-prototype-webgl2
to true
in about:config.
[2] To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis
.