glScissor
Prev | GL | Next

## Name

glScissor — define the scissor box

## C Specification

`void `glScissor`` | `(` | `GLint `x`, GLint `y`, GLsizei `width`, GLsizei `height`);`

## Python Specification

``glScissor`` | `(` | ``x`, `y`, `width`, `height`) → `None``

## Parameters

`x`, `y`
  Specify the lower left corner of the scissor box. Initially (0, 0).
`width`, `height`
  Specify the width and height of the scissor box. When a GL context is first attached to a window, `width` and `height` are set to the dimensions of that window.

## Description

`glScissor` defines a rectangle, called the scissor box, in window coordinates. The first two arguments, `x` and `y`, specify the lower left corner of the box. `width` and `height` specify the width and height of the box.

To enable and disable the scissor test, call `glEnable` and `glDisable` with argument `GL_SCISSOR_TEST`. The test is initially disabled. While the 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. glScissor(0,0,1,1) allows modification of only the lower left pixel in the window, and glScissor(0,0,0,0) doesn't allow modification of any pixels in the window.

When the scissor test is disabled, it is as though the scissor box includes the entire window.

## Errors

`GL_INVALID_VALUE` is generated if either `width` or `height` is negative.

`GL_INVALID_OPERATION` is generated if `glScissor` is executed between the execution of `glBegin` and the corresponding execution of `glEnd`.

## Associated Gets

`glGet` with argument `GL_SCISSOR_BOX`

`glIsEnabled` with argument `GL_SCISSOR_TEST`

## See Also

glEnable, glViewport

Prev | Up | Next
glScale | Home | glSelectBuffer