<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" "DTD/docbook/docbookx.dtd">
<!--
License Applicability. Except to the extent portions of this file are
made subject to an alternative license as permitted in the SGI Free
Software License B, Version 1.1 (the "License"), the contents of this
file are subject only to the provisions of the License. You may not use
this file except in compliance with the License. You may obtain a copy
of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
http://oss.sgi.com/projects/FreeB
Note that, as provided in the License, the Software is distributed on an
"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
Original Code. The Original Code is: OpenGL ES Reference Manual,
Version 1.0, released September 2003, developed by Silicon Graphics,
Inc. The Original Code is Copyright (c) 2003 Silicon Graphics, Inc.
Copyright in any portions created by third parties is as indicated
elsewhere herein. All Rights Reserved.
-->
<refentry id="glScissor">
<refmeta>
<refentrytitle>glScissor</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glScissor</refname>
<refpurpose>define the scissor box</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glScissor</function></funcdef>
<paramdef>GLint <parameter>x</parameter></paramdef>
<paramdef>GLint <parameter>y</parameter></paramdef>
<paramdef>GLsizei <parameter>width</parameter></paramdef>
<paramdef>GLsizei <parameter>height</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term>
<parameter>x</parameter>, <parameter>y</parameter>
</term>
<listitem>
<para>Specify the lower left corner of the scissor box, in pixels.
The initial value is (0, 0).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>width</parameter>, <parameter>height</parameter>
</term>
<listitem>
<para>Specify the width and height of the scissor box.
When a GL context is first attached to a surface (e.g. window),
<parameter>width</parameter> and <parameter>height</parameter>
are set to the dimensions of that surface.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Description</title>
<para>
<function>glScissor</function>
defines a rectangle, called the scissor box, in window
coordinates. The first two arguments,
<parameter>x</parameter> and
<parameter>y</parameter>, specify the lower left corner of the box.
<parameter>width</parameter> and <parameter>height</parameter>
specify the width and height of the box.</para>
<para>To enable and disable the scissor test, call
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry>
with argument <constant>GL_SCISSOR_TEST</constant>.
The scissor test is initially disabled. While 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.
<function>glScissor</function>(0, 0, 1, 1)
allows modification of only the lower left pixel in the window,
and <function>glScissor</function>(0, 0, 0, 0)
doesn't allow modification of any pixels in the window.</para>
<para>When the scissor test is disabled, it is as though the
scissor box includes the entire window.</para>
</refsect1>
<refsect1>
<title>Errors</title>
<para><constant>GL_INVALID_VALUE</constant> is generated if either
<parameter>width</parameter> or <parameter>height</parameter>
is negative.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
</para>
</refsect1>
</refentry>