GLDRAWBUFFER() MachTen Programmer’s Manual GLDRAWBUFFER()

NAME
glDrawBuffer - specify which color buffers are to be drawn
into

C SPECIFICATION
void glDrawBuffer( GLenum mode )

delim $$

PARAMETERS
mode Specifies up to four color buffers to be drawn into.
Symbolic constants GL_NONE, GL_FRONT_LEFT,
GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT,
GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT,
GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0
and ‘‘GL_AUX_BUFFERS’’ -1, are accepted
(GL_AUX_BUFFERS is not the upper limit; use glGet to
query the number of available aux buffers.) The
initial value is GL_FRONT for single-buffered con-
texts, and GL_BACK for double-buffered contexts.

DESCRIPTION
When colors are written to the frame buffer, they are
written into the color buffers specified by glDrawBuffer.
The specifications are as follows:

GL_NONE No color buffers are written.

GL_FRONT_LEFT Only the front left color buffer
is written.

GL_FRONT_RIGHT Only the front right color buffer
is written.

GL_BACK_LEFT Only the back left color buffer
is written.

GL_BACK_RIGHT Only the back right color buffer
is written.

GL_FRONT 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.

GL_BACK 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.

GL_LEFT 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.

GL_RIGHT 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.

GL_FRONT_AND_BACK All the front and back color
buffers (front left, front right,
back left, back right) are writ-
ten. 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.

GL_AUXi Only auxiliary color buffer i is
written.

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 pro-
duce different results in each buffer.

Monoscopic contexts include only left buffers, and stereo-
scopic contexts include both left and right buffers.
Likewise, single-buffered contexts include only front
buffers, and double-buffered contexts include both front
and back buffers. The context is selected at GL initial-
ization.

NOTES
It is always the case that GL_AUX$i$ = GL_AUX0 + $i$.

ERRORS
GL_INVALID_ENUM is generated if mode is not an accepted
value.

GL_INVALID_OPERATION is generated if none of the buffers
indicated by mode exists.

GL_INVALID_OPERATION is generated if glDrawBuffer is exe-
cuted between the execution of glBegin and the correspond-
ing execution of glEnd.

ASSOCIATED GETS
glGet with argument GL_DRAW_BUFFER
glGet with argument GL_AUX_BUFFERS

SEE ALSO
glBlendFunc, glColorMask, glIndexMask, glLogicOp, glRead-
Buffer

MachTen 2