WebGLRenderingContext: drawElements() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.drawElements() 方法是 WebGL API 的一部分,用於從陣列資料中渲染圖元。
語法
js
drawElements(mode, count, type, offset)
引數
模式-
一個
GLenum,指定要渲染的圖元型別。可能的值有:gl.POINTS:繪製一個點。gl.LINE_STRIP:繪製一條連線到下一個頂點的直線。gl.LINE_LOOP:繪製一條連線到下一個頂點的直線,並將最後一個頂點連接回第一個頂點。gl.LINES:在兩個頂點之間繪製一條線。gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES:為一組三個頂點繪製一個三角形。
計數-
一個
GLsizei,指定要渲染的繫結元素陣列緩衝區中的元素數量。例如,要使用gl.LINES繪製線框三角形,計數應為 2 個端點/線 × 3 條線 = 6 個元素。但是,要繪製相同的線框三角形,使用gl.LINE_STRIP時,元素陣列緩衝區不會重複第一條線的末尾/第二條線的開頭以及第二條線的末尾/第三條線的開頭的索引,因此count將是四。要使用gl.LINE_LOOP繪製相同的三角形,元素陣列緩衝區也不會重複第一個/最後一個頂點,因此count將是三。 type-
一個
GLenum,指定元素陣列緩衝區中值的型別。可能的值為:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT
使用
OES_element_index_uint擴充套件時gl.UNSIGNED_INT
offset-
一個
GLintptr,指定元素陣列緩衝區中的位元組偏移量。必須是給定type大小的有效倍數。
返回值
無(undefined)。
異常
- 如果
mode不是接受的值之一,則會丟擲gl.INVALID_ENUM錯誤。 - 如果
offset不是給定型別大小的有效倍數,則會丟擲gl.INVALID_OPERATION錯誤。 - 如果
count為負數,則會丟擲gl.INVALID_VALUE錯誤。
示例
js
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.11 |
瀏覽器相容性
載入中…