WebGLRenderingContext:viewport() 方法

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用 2015 年 7 月.

WebGLRenderingContext.viewport() 方法是 WebGL API 的一部分,它设置视口,视口指定了从标准化设备坐标到窗口坐标的 x 和 y 的仿射变换。

语法

js
viewport(x, y, width, height)

参数

x

指定视口原点左下角水平坐标的 GLint。默认值为 0。

y

指定视口原点左下角垂直坐标的 GLint。默认值为 0。

width

指定视口宽度的非负 GLsizei。默认值为画布宽度。

height

指定视口高度的非负 GLsizei。默认值为画布高度。

返回值

无 (undefined)。

异常

如果widthheight 为负值,则会抛出 gl.INVALID_VALUE 错误。

示例

首次创建 WebGL 上下文时,视口的大小将与画布的大小匹配。但是,如果调整画布大小,则需要告诉 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅