WebGLRenderingContext: bindFramebuffer() 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.bindFramebuffer() của WebGL API liên kết với mục tiêu đã chỉ định là WebGLFramebuffer được cung cấp, hoặc, nếu đối số framebuffer là null, thì WebGLFramebuffer mặc định, được liên kết với bối cảnh kết xuất canvas.

Cú pháp

js
bindFramebuffer(target, framebuffer)

Thông số

target

A GLenum chỉ định điểm liên kết (đích). Các giá trị có thể:

gl.FRAMEBUFFER

Bộ sưu tập bộ đệm lưu trữ dữ liệu màu, alpha, bộ đệm độ sâu và stencil được sử dụng làm đích cho bản vẽ và làm nguồn để đọc (xem bên dưới).

Khi sử dụng WebGL 2 context, các giá trị sau đây có sẵn bổ sung: - gl.DRAW_FRAMEBUFFER - : Được sử dụng làm đích cho các thao tác vẽ như gl.draw*, gl.clear*gl.blitFramebuffer. - gl.READ_FRAMEBUFFER - : Được sử dụng làm nguồn cho các hoạt động đọc như gl.readPixelsgl.blitFramebuffer.

framebuffer

Một đối tượng WebGLFramebuffer để liên kết, hoặc null để liên kết đối tượng HTMLCanvasElement hoặc OffscreenCanvas được liên kết với bối cảnh kết xuất.

Giá trị trả về

Không có (undefined).

Ngoại lệ

Một lỗi gl.INVALID_ENUM được đưa ra nếu target không phải là gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, hoặc gl.READ_FRAMEBUFFER.

Ví dụ

Liên kết bộ đệm khung

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();

gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);

Nhận các ràng buộc hiện tại

Để kiểm tra liên kết bộ đệm khung hiện tại, hãy truy vấn hằng số FRAMEBUFFER_BINDING.

js
gl.getParameter(gl.FRAMEBUFFER_BINDING);

Thông số kỹ thuật

Specification
WebGL Specification
# 5.14.6
WebGL 2.0 Specification
# 3.7.1

Khả năng tương thích của trình duyệt

Xem thêm