WebGLRenderingContext: bindBuffer() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.bindBuffer() 方法是 WebGL API 的一部分,用於將一個給定的 WebGLBuffer 繫結到一個目標上。
語法
js
bindBuffer(target, buffer)
引數
目標-
一個
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-
用於畫素傳輸操作的緩衝區。
buffer-
要繫結的
WebGLBuffer。
返回值
無(undefined)。
異常
一個給定的 WebGLBuffer 只能繫結到一個目標上。嘗試將緩衝區繫結到另一個目標將丟擲 INVALID_OPERATION 錯誤,並且當前的緩衝區繫結將保持不變。
已被標記為刪除(使用 deleteBuffer)的 WebGLBuffer 不能被(重新)繫結。嘗試這樣做將生成 INVALID_OPERATION 錯誤,並且當前的繫結將保持不變。
示例
將緩衝區繫結到目標
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
獲取當前繫結
要檢查當前的緩衝區繫結,請查詢 ARRAY_BUFFER_BINDING 和 ELEMENT_ARRAY_BUFFER_BINDING 常量。
js
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.5 |
| WebGL 2.0 規範 # 3.7.1 |
瀏覽器相容性
載入中…