WebGLRenderingContext: viewport() 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.

TOK1_

Phương thức WebGLRenderingContext.viewport() của WebGL API đặt khung nhìn, chỉ định phép biến đổi affine của x và y từ tọa độ thiết bị chuẩn hóa sang tọa độ cửa sổ.

Cú pháp

js
viewport(x, y, width, height)

Thông số

x

A GLint chỉ định tọa độ ngang cho phía dưới bên trái góc gốc của khung nhìn. Giá trị mặc định: 0.

y

A GLint chỉ định tọa độ dọc cho góc dưới bên trái của nguồn gốc khung nhìn. Giá trị mặc định: 0.

width

GLsizei không âm chỉ định chiều rộng của khung nhìn. Mặc định giá trị: chiều rộng của canvas.

height

GLsizei không âm chỉ định chiều cao của khung nhìn. Mặc định giá trị: chiều cao của canvas.

Giá trị trả về

Không có (undefined).

Ngoại lệ

Nếu width hoặc height là giá trị âm thì sẽ xảy ra lỗi gl.INVALID_VALUE.

Ví dụ

Khi bạn tạo bối cảnh WebGL lần đầu tiên, kích thước của khung nhìn sẽ khớp với kích thước của khung vẽ. Tuy nhiên, nếu thay đổi kích thước khung vẽ, bạn sẽ cần thông báo cho ngữ cảnh WebGL một cài đặt chế độ xem mới. Trong tình huống này, bạn có thể sử dụng gl.viewport.

js
gl.viewport(0, 0, canvas.width, canvas.height);

Chiều rộng và chiều cao của khung nhìn được giới hạn trong phạm vi phụ thuộc vào việc triển khai. Để có được phạm vi này, bạn có thể sử dụng hằng số MAX_VIEWPORT_DIMS, hằng số này trả về Int32Array.

js
gl.getParameter(gl.MAX_VIEWPORT_DIMS);
// e.g. Int32Array[16384, 16384]

Để có chế độ xem hiện tại, hãy truy vấn hằng số VIEWPORT.

js
gl.getParameter(gl.VIEWPORT);
// e.g. Int32Array[0, 0, 640, 480]

Thông số kỹ thuật

Specification
WebGL Specification
# 5.14.4

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

Xem thêm