WebGLRenderingContext: bindBuffer() 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.bindBuffer() của WebGL API liên kết một WebGLBuffer nhất định với một mục tiêu.
Cú pháp
bindBuffer(target, buffer)
Thông số
target-
A
GLenumchỉ định điểm liên kết (đích). Các giá trị có thể:gl.ARRAY_BUFFER-
Bộ đệm chứa các thuộc tính đỉnh, chẳng hạn như tọa độ đỉnh, dữ liệu tọa độ kết cấu hoặc dữ liệu màu đỉnh.
gl.ELEMENT_ARRAY_BUFFER-
Bộ đệm được sử dụng cho các chỉ số phần tử.
Khi sử dụng WebGL 2 context, các giá trị sau đây có sẵn bổ sung:
- gl.COPY_READ_BUFFER
- : Bộ đệm để sao chép từ đối tượng bộ đệm này sang đối tượng bộ đệm khác.
- gl.COPY_WRITE_BUFFER
- : Bộ đệm để sao chép từ đối tượng bộ đệm này sang đối tượng bộ đệm khác.
- gl.TRANSFORM_FEEDBACK_BUFFER
- : Bộ đệm cho các hoạt động phản hồi chuyển đổi.
- gl.UNIFORM_BUFFER
- : Bộ đệm dùng để lưu trữ các khối đồng nhất.
- gl.PIXEL_PACK_BUFFER
- : Bộ đệm được sử dụng cho các hoạt động truyền pixel.
- gl.PIXEL_UNPACK_BUFFER
- : Bộ đệm được sử dụng cho các hoạt động truyền pixel.
buffer-
Một
WebGLBufferđể liên kết.
Giá trị trả về
Không có (undefined).
Ngoại lệ
Chỉ có một mục tiêu có thể được liên kết với một WebGLBuffer nhất định. Một nỗ lực liên kết bộ đệm với một mục tiêu khác sẽ gây ra lỗi INVALID_OPERATION và liên kết bộ đệm hiện tại sẽ giữ nguyên.
Một WebGLBuffer đã được đánh dấu để xóa bằng deleteBuffer không thể bị ràng buộc (lại). Cố gắng làm như vậy sẽ gây ra lỗi INVALID_OPERATION và liên kết hiện tại sẽ không bị ảnh hưởng.
Ví dụ
>Liên kết bộ đệm với mục tiêu
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
Nhận các ràng buộc hiện tại
Để kiểm tra các liên kết bộ đệm hiện tại, hãy truy vấn các hằng số ARRAY_BUFFER_BINDING và ELEMENT_ARRAY_BUFFER_BINDING.
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebGL Specification> # 5.14.5> |
| WebGL 2.0 Specification> # 3.7.1> |