--- title: WebGLRenderingContext.scissor() slug: Web/API/WebGLRenderingContext/scissor tags: - WebGL translation_of: Web/API/WebGLRenderingContext/scissor ---
WebGLRenderingContext.scissor()
方法指定了一个裁剪区域,用来将绘图区域限制在其限定的盒形区域内。
void gl.scissor(x, y, width, height);
x
y
无。
宽或高为负值时,抛出 gl.INVALID_VALUE
错误。
当裁剪区域可用的时候,只有处于此区域内的像素才能由绘图命令修改。
// 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
常量来获取裁剪区域的维度信息,返回值是一个 {{jsxref("Int32Array")}} 对象。
gl.scissor(0, 0, 200, 200); gl.getParameter(gl.SCISSOR_BOX); // Int32Array[0, 0, 200, 200]
Specification | Status | Comment |
---|---|---|
{{SpecName('WebGL', "#5.14.4", "scissor")}} | {{Spec2('WebGL')}} | Initial definition. |
{{SpecName('OpenGL ES 2.0', "glScissor.xml", "glScissor")}} | {{Spec2('OpenGL ES 2.0')}} | Man page of the OpenGL API. |
{{Compat("api.WebGLRenderingContext.scissor")}}