WebGL2RenderingContext: phương thức bufferData()
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.
* Some parts of this feature may have varying levels of support.
Note: This feature is available in Web Workers.
Phương thức WebGL2RenderingContext.bufferData() của WebGL API tạo và khởi tạo kho dữ liệu của đối tượng bộ đệm.
Cú pháp
bufferData(target, size, usage)
bufferData(target, srcData, usage)
bufferData(target, srcData, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset, length)
Tham số
target-
Một
GLenumchỉ định điểm liên kết (target). 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 độ texture hoặc dữ liệu màu đỉnh.
gl.ELEMENT_ARRAY_BUFFER-
Bộ đệm dùng cho chỉ mục phần tử.
gl.COPY_READ_BUFFER-
Bộ đệm để sao chép từ một đối tượng bộ đệm sang bộ đệm khác.
gl.COPY_WRITE_BUFFER-
Bộ đệm để sao chép từ một đối tượng bộ đệm sang bộ đệm khác.
gl.TRANSFORM_FEEDBACK_BUFFER-
Bộ đệm cho các hoạt động transform feedback.
gl.UNIFORM_BUFFER-
Bộ đệm dùng để lưu trữ các khối uniform.
gl.PIXEL_PACK_BUFFER-
Bộ đệm dùng cho các hoạt động chuyển pixel.
gl.PIXEL_UNPACK_BUFFER-
Bộ đệm dùng cho các hoạt động chuyển pixel.
sizeOptional-
Một
GLsizeiptrđặt kích thước tính bằng byte của kho dữ liệu bộ đệm. Một trongsizevàsrcDataphải được cung cấp. srcDataOptional-
Một
TypedArrayhoặc mộtDataViewxem mộtArrayBufferhoặcSharedArrayBuffersẽ được sao chép vào kho dữ liệu. Nếunull, một kho dữ liệu vẫn được tạo, nhưng nội dung chưa được khởi tạo và không xác định. Một trongsizevàsrcDataphải được cung cấp. usage-
Một
GLenumchỉ định mẫu sử dụng dự định của kho dữ liệu cho mục đích tối ưu hóa. Các giá trị có thể:gl.STATIC_DRAW-
Nội dung dự định được chỉ định một lần bởi ứng dụng và được sử dụng nhiều lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
gl.DYNAMIC_DRAW-
Nội dung dự định được chỉ định lại nhiều lần bởi ứng dụng và được sử dụng nhiều lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
gl.STREAM_DRAW-
Nội dung dự định được chỉ định một lần bởi ứng dụng và được sử dụng nhiều nhất một vài lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
gl.STATIC_READ-
Nội dung dự định được chỉ định một lần bằng cách đọc dữ liệu từ WebGL và được truy vấn nhiều lần bởi ứng dụng.
gl.DYNAMIC_READ-
Nội dung dự định được chỉ định lại nhiều lần bằng cách đọc dữ liệu từ WebGL và được truy vấn nhiều lần bởi ứng dụng.
gl.STREAM_READ-
Nội dung dự định được chỉ định một lần bằng cách đọc dữ liệu từ WebGL và được truy vấn nhiều nhất một vài lần bởi ứng dụng.
gl.STATIC_COPY-
Nội dung dự định được chỉ định một lần bằng cách đọc dữ liệu từ WebGL và được sử dụng nhiều lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
gl.DYNAMIC_COPY-
Nội dung dự định được chỉ định lại nhiều lần bằng cách đọc dữ liệu từ WebGL và được sử dụng nhiều lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
gl.STREAM_COPY-
Nội dung dự định được chỉ định một lần bằng cách đọc dữ liệu từ WebGL và được sử dụng nhiều nhất một vài lần làm nguồn cho các lệnh vẽ và chỉ định hình ảnh WebGL.
srcOffsetOptional-
Một
GLuintchỉ định offset chỉ mục phần tử nơi bắt đầu đọc bộ đệm. Chỉ được phép nếusrcDatađược cung cấp. lengthOptional-
Một
GLuintmặc định là 0. Chỉ được phép nếusrcOffsetđược cung cấp.
Giá trị trả về
None (undefined).
Ngoại lệ
- Lỗi
gl.OUT_OF_MEMORYđược ném nếu ngữ cảnh không thể tạo kho dữ liệu vớisizeđã cho. - Lỗi
gl.INVALID_VALUEđược ném nếusizelà số âm. - Lỗi
gl.INVALID_ENUMđược ném nếutargethoặcusagekhông phải là một trong các enum cho phép.
Đặc tả kỹ thuật
| Specification |
|---|
| WebGL Specification> # 5.14.5> |