WebGLRenderingContext:scissor() 方法

基线 广泛可用

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

WebGLRenderingContext.scissor() 方法是 WebGL API 的一个方法,它设置一个剪切框,从而将绘制限制在指定的矩形内。

语法

js
scissor(x, y, width, height)

参数

x

一个 GLint,指定框左下角的水平坐标。默认值为 0。

y

一个 GLint,指定框左下角的垂直坐标。默认值为 0。

width

一个非负的 GLsizei,指定剪切框的宽度。默认值为画布的宽度。

height

一个非负的 GLsizei,指定剪切框的高度。默认值为画布的高度。

返回值

无 (undefined).

异常

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

示例

启用剪切测试后,只有剪切框内的像素才能通过绘图命令修改。

js
// turn on scissor test
gl.enable(gl.SCISSOR_TEST);

// set the scissor rectangle
gl.scissor(x, y, width, height);

// execute drawing commands in the scissor box (e.g. clear)

// turn off scissor test again
gl.disable(gl.SCISSOR_TEST);

要获取当前剪切框的尺寸,请查询 SCISSOR_BOX 常量,它将返回一个 Int32Array

js
gl.scissor(0, 0, 200, 200);
gl.getParameter(gl.SCISSOR_BOX);
// Int32Array[0, 0, 200, 200]

规范

规范
WebGL 规范
# 5.14.4

浏览器兼容性

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

另请参阅