WEBGL_multi_draw: multiDrawArraysWEBGL() method

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức WEBGL_multi_draw.multiDrawArraysWEBGL() của WebGL API kết xuất nhiều hình nguyên thủy từ dữ liệu mảng. Phương thức này giống với nhiều lần gọi phương thức gl.drawArrays().

Cú pháp

js
multiDrawArraysWEBGL(mode,
    firstsList, firstsOffset,
    countsList, countsOffset,
    drawCount)

Tham số

mode

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

  • gl.POINTS: Vẽ một điểm đơn.
  • 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 thẳ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.
firstsList

Một Int32Array hoặc Array (của GLint) chỉ định danh sách các chỉ số bắt đầu cho các mảng điểm vectơ.

firstsOffset

Một GLuint xác định điểm bắt đầu trong mảng firstsList.

countsList

Một Int32Array hoặc Array (của GLsizei) chỉ định danh sách số lượng chỉ số cần kết xuất.

countsOffset

Một GLuint xác định điểm bắt đầu trong mảng countsList.

drawCount

Một GLsizei chỉ định số lượng thể hiện của phạm vi phần tử cần thực thi.

Giá trị trả về

Không có.

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 sẽ được ném ra.
  • Nếu drawCount hoặc các mục trong firstsListcountsList là âm, lỗi gl.INVALID_VALUE sẽ được ném ra.
  • Nếu gl.CURRENT_PROGRAMnull, lỗi gl.INVALID_OPERATION sẽ được ném ra.

Ví dụ

js
const firsts = new Int32Array(/* … */);
const counts = new Int32Array(/* … */);
ext.multiDrawArraysWEBGL(gl.TRIANGLES, firsts, 0, counts, 0, firsts.length);

Thông số kỹ thuật

Thông số kỹ thuật
WebGL WEBGL_multi_draw Extension Specification

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

Xem thêm