WebGLRenderingContext: bufferSubData() 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.bufferSubData() của WebGL API cập nhật một tập hợp con kho dữ liệu của đối tượng đệm.
Cú pháp
js
bufferSubData(target, offset)
bufferSubData(target, offset, srcData)
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ử.
offset-
Một
GLintptrchỉ định độ lệch tính theo byte nơi việc thay thế dữ liệu sẽ bắt đầu. srcDataOptional-
Một
TypedArrayhoặcDataViewxem mộtArrayBufferhoặcSharedArrayBuffersẽ được sao chép vào kho dữ liệu.
Giá trị trả về
Không có (undefined).
Ngoại lệ
- Một lỗi
gl.INVALID_VALUEsẽ được đưa ra nếu dữ liệu được ghi vào cuối bộ đệm hoặc nếudatalànull. - Một lỗi
gl.INVALID_ENUMsẽ xuất hiện nếutargetkhông phải là một trong các enum được phép.
Ví dụ
>Sử dụng bufferSubData
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
const data = new Float32Array([1, 2, 3, 4]);
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
gl.bufferSubData(gl.ARRAY_BUFFER, 512, data);
Thông số kỹ thuật
| Specification |
|---|
| WebGL Specification> # 5.14.5> |