The glScissor function defines the scissor box.
void glScissor(
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
The glScissor function defines a rectangle, called the scissor box, in window coordinates. The first two parameters, x and y, specify the lower-left corner of the box. The width and height parameters specify the width and height of the box.
The scissor test is enabled and disabled using glEnable and glDisable with argument GL_SCISSOR_TEST. While the scissor test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels, so glScissor(0,0,1,1) allows only the lower-left pixel in the window to be modified, and glScissor(0,0,0,0) disallows modification to all pixels in the window.
When the scissor test is disabled, it is as though the scissor box includes the entire window.
The following functions retrieve information related to glScissor:
glGet with argument GL_SCISSOR_BOX
glIsEnabled with argument GL_SCISSOR_TEST
The following are the error codes generated and their conditions.
Error Code | Condition |
---|---|
GL_INVALID_VALUE | either width or height was negative. |
GL_INVALID_OPERATION | glScissor was called between a call to glBegin and the corresponding call to glEnd. |
Windows NT: Use version 3.5 and later.
Windows: Use Windows 95 and later.
Windows CE: Unsupported.
Header: Declared in gl.h.
Import Library: Link with opengl32.lib.
glBegin, glEnable, glEnd, glIsEnabled, glViewport