glDrawBuffer.3gl




Name

  glDrawBuffer - specify which color buffers are to be drawn into


C Specification

  void glDrawBuffer( GLenum mode )


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
	default	value is GL_FRONT for single-buffered contexts,	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 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	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 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	GL initialization.

Notes

  It is	always the case	that GL_AUXi = 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 executed	between	the
  execution of glBegin and the corresponding execution of glEnd.

Associated Gets

  glGet	with argument GL_DRAW_BUFFER
  glGet	with argument GL_AUX_BUFFERS

See Also

  glBlendFunc, glColorMask, glIndexMask, glLogicOp, glReadBuffer




Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV