WebGLRenderingContext: viewport() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.viewport() 方法是 WebGL API 的一部分,用於設定視口。視口指定了從標準化裝置座標到視窗座標的仿射變換。

語法

js
viewport(x, y, width, height)

引數

x

一個 GLint,指定視口原點左下角的水平座標。預設值:0。

y

一個 GLint,指定視口原點左下角的垂直座標。預設值:0。

width

一個非負的 GLsizei,指定視口的寬度。預設值:canvas 的寬度。

height

一個非負的 GLsizei,指定視口的高度。預設值:canvas 的高度。

返回值

無(undefined)。

異常

如果 *width* 或 *height* 是負值,則會丟擲 `gl.INVALID_VALUE` 錯誤。

示例

當您首次建立 WebGL 上下文時,視口大小將與 canvas 大小匹配。但是,如果您調整 canvas 的大小,您需要告訴 WebGL 上下文新的視口設定。在這種情況下,您可以使用 `gl.viewport`。

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

視口的寬度和高度會被限制在一個依賴於實現的範圍內。要獲取此範圍,您可以使用 `MAX_VIEWPORT_DIMS` 常量,它會返回一個 Int32Array

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

要獲取當前的視口,請查詢 `VIEWPORT` 常量。

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

規範

規範
WebGL 規範
# 5.14.4

瀏覽器相容性

另見