WebGL2RenderingContext: bufferData() 方法
Baseline 廣泛可用 *
注意:此功能在 Web Workers 中可用。
WebGL API 的 WebGL2RenderingContext.bufferData() 方法建立並初始化緩衝區物件的資料儲存。
語法
bufferData(target, size, usage)
bufferData(target, srcData, usage)
bufferData(target, srcData, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset, length)
引數
目標-
一個
GLenum,指定繫結點(目標)。可能的值gl.ARRAY_BUFFER-
包含頂點屬性的緩衝區,例如頂點座標、紋理座標資料或頂點顏色資料。
gl.ELEMENT_ARRAY_BUFFER-
用於元素索引的緩衝區。
gl.COPY_READ_BUFFER-
用於將一個緩衝區物件複製到另一個緩衝區的緩衝區。
gl.COPY_WRITE_BUFFER-
用於將一個緩衝區物件複製到另一個緩衝區的緩衝區。
gl.TRANSFORM_FEEDBACK_BUFFER-
用於變換反饋操作的緩衝區。
gl.UNIFORM_BUFFER-
用於儲存 uniform 塊的緩衝區。
gl.PIXEL_PACK_BUFFER-
用於畫素傳輸操作的緩衝區。
gl.PIXEL_UNPACK_BUFFER-
用於畫素傳輸操作的緩衝區。
size可選-
一個
GLsizeiptr,用於設定緩衝區物件資料儲存的大小(以位元組為單位)。必須提供size和srcData中的一個。 srcData可選-
一個
TypedArray或一個DataView,它檢視一個ArrayBuffer或SharedArrayBuffer,該緩衝區將被複制到資料儲存中。如果為null,仍會建立一個數據儲存,但其內容未初始化且未定義。必須提供size和srcData中的一個。 usage-
一個
GLenum,指定資料儲存的預期使用模式,以用於最佳化目的。可能的值gl.STATIC_DRAW-
其內容旨在由應用程式指定一次,並多次用作 WebGL 繪圖和影像規範命令的源。
gl.DYNAMIC_DRAW-
其內容旨在由應用程式反覆指定,並多次用作 WebGL 繪圖和影像規範命令的源。
gl.STREAM_DRAW-
其內容旨在由應用程式指定一次,並最多用作 WebGL 繪圖和影像規範命令的源幾次。
gl.STATIC_READ-
其內容旨在透過從 WebGL 讀取資料來指定一次,並由應用程式查詢多次。
gl.DYNAMIC_READ-
其內容旨在透過從 WebGL 讀取資料來反覆指定,並由應用程式查詢多次。
gl.STREAM_READ-
其內容旨在透過從 WebGL 讀取資料來指定一次,並由應用程式查詢最多幾次。
gl.STATIC_COPY-
其內容旨在透過從 WebGL 讀取資料來指定一次,並多次用作 WebGL 繪圖和影像規範命令的源。
gl.DYNAMIC_COPY-
其內容旨在透過從 WebGL 讀取資料來反覆指定,並多次用作 WebGL 繪圖和影像規範命令的源。
gl.STREAM_COPY-
其內容旨在透過從 WebGL 讀取資料來指定一次,並最多用作 WebGL 繪圖和影像規範命令的源幾次。
srcOffset可選-
一個
GLuint,指定要開始讀取緩衝區的元素索引偏移量。僅當提供了srcData時才允許。 length可選-
一個
GLuint,預設為 0。僅當給定了srcOffset時才允許。
返回值
無(undefined)。
異常
- 如果上下文無法使用給定的
size建立資料儲存,則會丟擲gl.OUT_OF_MEMORY錯誤。 - 如果
size為負數,則會丟擲gl.INVALID_VALUE錯誤。 - 如果
target或usage不是允許的列舉值之一,則會丟擲gl.INVALID_ENUM錯誤。
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.5 |
瀏覽器相容性
載入中…