WebGLRenderingContext: getBufferParameter() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.getBufferParameter() 方法是 WebGL API 的一部分,用于返回有关缓冲区的信息。

语法

js
getBufferParameter(target, pname)

参数

目标

一个指定目标缓冲区对象的 GLenum。可能的值

gl.ARRAY_BUFFER

包含顶点属性的缓冲区,例如顶点坐标、纹理坐标数据或顶点颜色数据。

gl.ELEMENT_ARRAY_BUFFER

用于元素索引的缓冲区。

使用 WebGL 2 上下文时,还可以使用以下值:

gl.COPY_READ_BUFFER

用于将一个缓冲区对象复制到另一个缓冲区的缓冲区。

gl.COPY_WRITE_BUFFER

用于将一个缓冲区对象复制到另一个缓冲区的缓冲区。

gl.TRANSFORM_FEEDBACK_BUFFER

用于变换反馈操作的缓冲区。

gl.UNIFORM_BUFFER

用于存储 uniform 块的缓冲区。

gl.PIXEL_PACK_BUFFER

用于像素传输操作的缓冲区。

gl.PIXEL_UNPACK_BUFFER

用于像素传输操作的缓冲区。

pname

一个指定要查询信息的 GLenum。可能的值

gl.BUFFER_SIZE

返回一个 GLint,表示缓冲区的大小(以字节为单位)。

gl.BUFFER_USAGE

返回一个 GLenum,表示缓冲区的用法模式。以下值之一

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

使用 WebGL 2 上下文时,还可以使用以下值:

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

返回值

取决于所请求的信息(由 pname 指定)。可能是 GLintGLenum

示例

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

规范

规范
WebGL 规范
# 5.14.5
WebGL 2.0 规范
# 3.7.3

浏览器兼容性

另见