ANGLE_instanced_arrays: drawElementsInstancedANGLE() 方法
WebGL API 的 ANGLE_instanced_arrays.drawElementsInstancedANGLE() 方法與 gl.drawElements() 方法一樣,可以從陣列資料渲染圖元。此外,它還可以執行一組元素的多個例項。
注意: 使用 WebGL2 時,此方法預設可用作 gl.drawElementsInstanced()。
語法
js
drawElementsInstancedANGLE(mode, count, type, offset, primcount)
引數
模式-
一個
GLenum,指定要渲染的圖元型別。可能的值有:gl.POINTS:繪製一個點。gl.LINE_STRIP:繪製一條連線到下一個頂點的直線。gl.LINE_LOOP:繪製一條連線到下一個頂點的直線,並將最後一個頂點連接回第一個頂點。gl.LINES:在兩個頂點之間繪製一條線。gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES:為一組三個頂點繪製一個三角形。
計數-
一個指定要渲染的元素數量的
GLsizei。 type-
一個
GLenum,指定元素陣列緩衝區中值的型別。可能的值為:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT- 使用
OES_element_index_uint擴充套件時為gl.UNSIGNED_INT。
offset-
一個指定元素陣列緩衝區中偏移量的
GLintptr。必須是給定type大小的有效倍數。 primcount-
一個
GLsizei,指定要執行的元素集合的例項數量。
返回值
無(undefined)。
異常
- 如果
mode不是接受的值之一,則會丟擲gl.INVALID_ENUM錯誤。 - 如果
offset是給定型別大小的無效倍數,則會丟擲gl.INVALID_OPERATION錯誤。 - 如果
count或primcount為負數,則會丟擲gl.INVALID_VALUE錯誤。
示例
js
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawElementsInstancedANGLE(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);
規範
| 規範 |
|---|
| WebGL ANGLE_instanced_arrays Khronos 批准的擴充套件規範 |
瀏覽器相容性
載入中…
另見
ext.drawArraysInstancedANGLE()ext.vertexAttribDivisorANGLE()WebGLRenderingContext.drawArrays()WebGLRenderingContext.drawElements()WebGL2RenderingContext.drawArraysInstanced()WebGL2RenderingContext.drawElementsInstanced()WebGL2RenderingContext.vertexAttribDivisor()WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()