glDrawBuffer
[New
- Windows 95, OEM Service Release 2]
The glDrawBuffer
function specifies which color buffers are to be drawn into.
void glDrawBuffer(
GLenum mode |
|
); |
|
Parameters
mode
Specifies up
to four color buffers to be drawn into with the following acceptable symbolic
constants:
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
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.
GL_AUXi
Only the
auxiliary color buffer i is written; i is between 0 and
GL_AUX_BUFFERS -1.
(GL_AUX_BUFFERS is not the upper limit; use glGet
The default
value is GL_FRONT for single-buffered contexts, and GL_BACK for double-buffered
contexts.
Remarks
When colors
are written to the frame buffer, they are written into the color buffers
specified by glDrawBuffer.
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.
Monoscopic
contexts include only left buffers, and stereoscopic 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 OpenGL initialization.
It is always
the case that GL_AUXi = GL_AUX0 + i.
The following
functions retrieve information related to the glDrawBuffer function:
glGet
with argument GL_DRAW_BUFFER
glGet with
argument GL_AUX_BUFFERS
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
mode was not an accepted value. |
GL_INVALID_OPERATION
|
None of the
buffers indicated by mode existed. |
GL_INVALID_OPERATION
|
glDrawBuffer was called between a call to glBegin and the
corresponding call to glEnd. |
See Also