WebGLRenderingContext: drawElements() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức WebGLRenderingContext.drawElements() của WebGL API hiển thị các giá trị gốc từ dữ liệu mảng.
Cú pháp
drawElements(mode, count, type, offset)
Thông số
mode-
Một
GLenumchỉ định kiểu nguyên thủy cần hiển thị. Giá trị có thể là:gl.POINTS: Vẽ một dấu chấm đơn.gl.LINE_STRIP: Vẽ một đường thẳng tới đỉnh tiếp theo.gl.LINE_LOOP: Vẽ một đường thẳng tới đỉnh tiếp theo, và 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_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Vẽ một tam giác cho một nhóm ba đỉnh.
count-
A
GLsizeixác định số phần tử của mảng phần tử bị ràng buộc bộ đệm được hiển thị. Ví dụ, để vẽ một tam giác khung dây vớigl.LINESsố lượng phải là 2 điểm cuối trên mỗi dòng × 3 dòng = 6 phần tử. Tuy nhiên, để vẽ cùng một tam giác wireframe vớigl.LINE_STRIP, bộ đệm mảng phần tử không lặp lại các chỉ số ở cuối dòng đầu tiên/bắt đầu dòng thứ hai và cuối dòng thứ hai/bắt đầu dòng thứ ba, vì vậycountsẽ là bốn. Để vẽ cùng một hình tam giác bằnggl.LINE_LOOP, bộ đệm mảng phần tử cũng không lặp lại đỉnh đầu tiên/đỉnh cuối cùng nêncountsẽ là ba. type-
A
GLenumchỉ định loại giá trị trong mảng phần tử bộ đệm. Các giá trị có thể là:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT
Khi sử dụng phần mở rộng OES_element_index_uint:
- gl.UNSIGNED_INT
Giá trị trả về
Không có (undefined).
Ngoại lệ
- Nếu
modekhông phải là một trong những giá trị được chấp nhận, thì Lỗigl.INVALID_ENUMđược đưa ra. - Nếu
offsetkhông phải là bội số hợp lệ của kích thước của loại đã cho, thì Lỗigl.INVALID_OPERATIONđược đưa ra. - Nếu
countâm, một lỗigl.INVALID_VALUEsẽ được đưa ra.
Ví dụ
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
Thông số kỹ thuật
| Specification |
|---|
| WebGL Specification> # 5.14.11> |