--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
+ "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
+<refentry id="glDrawBuffer">
+ <refmeta>
+ <refmetainfo>
+ <copyright>
+ <year>1991-2006</year>
+ <holder>Silicon Graphics, Inc.</holder>
+ </copyright>
+ </refmetainfo>
+ <refentrytitle>glDrawBuffer</refentrytitle>
+ <manvolnum>3G</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname>glDrawBuffer</refname>
+ <refpurpose>specify which color buffers are to be drawn into</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv><title>C Specification</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>glDrawBuffer</function></funcdef>
+ <paramdef>GLenum <parameter>mode</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <!-- eqn: ignoring delim $$ -->
+ <refsect1 id="parameters"><title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>mode</parameter></term>
+ <listitem>
+ <para>
+ Specifies up to four color buffers to be drawn into.
+ Symbolic constants
+ <constant>GL_NONE</constant>,
+ <constant>GL_FRONT_LEFT</constant>,
+ <constant>GL_FRONT_RIGHT</constant>,
+ <constant>GL_BACK_LEFT</constant>,
+ <constant>GL_BACK_RIGHT</constant>,
+ <constant>GL_FRONT</constant>,
+ <constant>GL_BACK</constant>,
+ <constant>GL_LEFT</constant>,
+ <constant>GL_RIGHT</constant>,
+ <constant>GL_FRONT_AND_BACK</constant>, and
+ <constant>GL_AUX</constant><emphasis>i</emphasis>,
+ where <emphasis>i</emphasis> is between 0 and the value of <constant>GL_AUX_BUFFERS</constant> minus 1,
+ are accepted. (<constant>GL_AUX_BUFFERS</constant> is not the upper limit; use <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
+ to query the number of available aux buffers.)
+ The initial value is <constant>GL_FRONT</constant> for single-buffered contexts,
+ and <constant>GL_BACK</constant> for double-buffered contexts.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1 id="description"><title>Description</title>
+ <para>
+ When colors are written to the frame buffer,
+ they are written into the color buffers specified by <function>glDrawBuffer</function>.
+ The specifications are as follows:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><constant>GL_NONE</constant></term>
+ <listitem>
+ <para>
+ No color buffers are written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_FRONT_LEFT</constant></term>
+ <listitem>
+ <para>
+ Only the front left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_FRONT_RIGHT</constant></term>
+ <listitem>
+ <para>
+ Only the front right color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_BACK_LEFT</constant></term>
+ <listitem>
+ <para>
+ Only the back left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_BACK_RIGHT</constant></term>
+ <listitem>
+ <para>
+ Only the back right color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_FRONT</constant></term>
+ <listitem>
+ <para>
+ Only the front left and front right color buffers are written.
+ If there is no front right color buffer,
+ only the front left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_BACK</constant></term>
+ <listitem>
+ <para>
+ Only the back left and back right color buffers are written.
+ If there is no back right color buffer,
+ only the back left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_LEFT</constant></term>
+ <listitem>
+ <para>
+ Only the front left and back left color buffers are written.
+ If there is no back left color buffer,
+ only the front left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_RIGHT</constant></term>
+ <listitem>
+ <para>
+ Only the front right and back right color buffers are written.
+ If there is no back right color buffer,
+ only the front right color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_FRONT_AND_BACK</constant></term>
+ <listitem>
+ <para>
+ All the front and back color buffers
+ (front left, front right, back left, back right)
+ are written.
+ If there are no back color buffers,
+ only the front left and front right color buffers are written.
+ If there are no right color buffers,
+ only the front left and back left color buffers are written.
+ If there are no right or back color buffers,
+ only the front left color buffer is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><constant>GL_AUX</constant><emphasis>i</emphasis></term>
+ <listitem>
+ <para>
+ Only auxiliary color buffer <emphasis>i</emphasis> is written.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ If more than one color buffer is selected for drawing,
+ then blending or logical operations are computed and applied independently
+ for each color buffer and can produce different results in each buffer.
+ </para>
+ <para>
+ Monoscopic contexts include only
+ <emphasis>left</emphasis>
+ buffers, and stereoscopic contexts include both
+ <emphasis>left</emphasis>
+ and
+ <emphasis>right</emphasis>
+ buffers.
+ Likewise, single-buffered contexts include only
+ <emphasis>front</emphasis>
+ buffers, and double-buffered contexts include both
+ <emphasis>front</emphasis>
+ and
+ <emphasis>back</emphasis>
+ buffers.
+ The context is selected at GL initialization.
+ </para>
+ </refsect1>
+ <refsect1 id="notes"><title>Notes</title>
+ <para>
+ It is always the case that <constant>GL_AUX</constant>
+ <inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>
+ = <constant>GL_AUX0</constant> +
+ <inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>.
+ </para>
+ </refsect1>
+ <refsect1 id="errors"><title>Errors</title>
+ <para>
+ <constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
+ </para>
+ <para>
+ <constant>GL_INVALID_OPERATION</constant> is generated if none of the buffers indicated
+ by <parameter>mode</parameter> exists.
+ </para>
+ <para>
+ <constant>GL_INVALID_OPERATION</constant> is generated if <function>glDrawBuffer</function>
+ is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
+ and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
+ </para>
+ </refsect1>
+ <refsect1 id="associatedgets"><title>Associated Gets</title>
+ <para>
+ <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DRAW_BUFFER</constant>
+ </para>
+ <para>
+ <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_AUX_BUFFERS</constant>
+ </para>
+ </refsect1>
+ <refsect1 id="seealso"><title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
+ <citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
+ <citerefentry><refentrytitle>glIndexMask</refentrytitle></citerefentry>,
+ <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
+ <citerefentry><refentrytitle>glReadBuffer</refentrytitle></citerefentry>
+ </para>
+ </refsect1>
+ <refsect1 id="Copyright"><title>Copyright</title>
+ <para>
+ Copyright <trademark class="copyright"></trademark> 1991-2006
+ Silicon Graphics, Inc. This document is licensed under the SGI
+ Free Software B License. For details, see
+ <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
+ </para>
+ </refsect1>
+</refentry>