WebGLRenderingContext: getBufferParameter() 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.getBufferParameter() method of the WebGL API returns information about the buffer.

Syntax

js
getBufferParameter(target, pname)

Parameters

target

A GLenum specifying the target buffer object. Possible values:

gl.ARRAY_BUFFER

Buffer containing vertex attributes, such as vertex coordinates, texture coordinate data, or vertex color data.

gl.ELEMENT_ARRAY_BUFFER

Buffer used for element indices.

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

gl.COPY_READ_BUFFER

Buffer for copying from one buffer object to another.

gl.COPY_WRITE_BUFFER

Buffer for copying from one buffer object to another.

gl.TRANSFORM_FEEDBACK_BUFFER

Buffer for transform feedback operations.

gl.UNIFORM_BUFFER

Buffer used for storing uniform blocks.

gl.PIXEL_PACK_BUFFER

Buffer used for pixel transfer operations.

gl.PIXEL_UNPACK_BUFFER

Buffer used for pixel transfer operations.

pname

A GLenum specifying information to query. Possible values:

gl.BUFFER_SIZE

Returns a GLint indicating the size of the buffer in bytes.

gl.BUFFER_USAGE

Returns a GLenum indicating the usage pattern of the buffer. One of the following:

  • gl.STATIC_DRAW
  • gl.DYNAMIC_DRAW
  • gl.STREAM_DRAW

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

  • gl.STATIC_READ
  • gl.DYNAMIC_READ
  • gl.STREAM_READ
  • gl.STATIC_COPY
  • gl.DYNAMIC_COPY
  • gl.STREAM_COPY

Return value

Depends on the requested information (as specified with pname). Either a GLint or a GLenum.

Examples

js
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE);

Specifications

Specification
WebGL Specification
# 5.14.5
WebGL 2.0 Specification
# 3.7.3

Browser compatibility

BCD tables only load in the browser

See also