WebGL2RenderingContext: phương thức drawElementsInstanced()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Note: This feature is available in Web Workers.

Phương thức WebGL2RenderingContext.drawElementsInstanced() của WebGL 2 API kết xuất các hình nguyên từ dữ liệu mảng giống như phương thức gl.drawElements(). Ngoài ra, nó có thể thực thi nhiều phiên bản của một tập hợp phần tử.

Note: Khi sử dụng WebGL 1, phần mở rộng ANGLE_instanced_arrays cũng có thể cung cấp phương thức này.

Cú pháp

js
drawElementsInstanced(mode, count, type, offset, instanceCount)

Tham số

mode

Một GLenum chỉ định loại hình nguyên sẽ kết xuất. Các giá trị có thể:

  • gl.POINTS: Vẽ một điểm duy nhất.
  • gl.LINE_STRIP: Vẽ một đường thẳng đến đỉnh tiếp theo.
  • gl.LINE_LOOP: Vẽ một đường thẳng đến đỉnh tiếp theo và kết nối đỉnh cuối cùng trở lại đỉnh đầu tiên.
  • gl.LINES: Vẽ một đường giữa một cặp đỉnh.
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES: Vẽ một tam giác cho một nhóm ba đỉnh.
count

Một GLsizei chỉ định số lượng phần tử sẽ được kết xuất.

type

Một GLenum chỉ định loại giá trị trong bộ đệm mảng phần tử. Các giá trị có thể:

  • gl.UNSIGNED_BYTE
  • gl.UNSIGNED_SHORT
  • gl.UNSIGNED_INT Khi sử dụng phần mở rộng OES_element_index_uint.
offset

Một GLintptr chỉ định một offset trong bộ đệm mảng phần tử. Phải là bội số hợp lệ của kích thước của type đã cho.

instanceCount

Một GLsizei chỉ định số lượng phiên bản của tập hợp phần tử sẽ thực thi.

Giá trị trả về

None (undefined).

Ngoại lệ

  • Nếu mode không phải là một trong các giá trị được chấp nhận, lỗi gl.INVALID_ENUM được ném.
  • Nếu offset không phải là bội số hợp lệ của kích thước của type đã cho, lỗi gl.INVALID_OPERATION được ném.
  • Nếu count hoặc instanceCount là số âm, lỗi gl.INVALID_VALUE được ném.

Ví dụ

js
gl.drawElementsInstanced(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);

Đặc tả kỹ thuật

Specification
WebGL 2.0 Specification
# 3.7.9

Tương thích trình duyệt

Xem thêm