glLogicOp.3gl




Name

  glLogicOp - specify a	logical	pixel operation	for color index	rendering


C Specification

  void glLogicOp( GLenum opcode	)


Parameters


  opcode  Specifies a symbolic constant	that selects a logical operation.
	  The following	symbols	are accepted: GL_CLEAR,	GL_SET,	GL_COPY,
	  GL_COPY_INVERTED, GL_NOOP, GL_INVERT,	GL_AND,	GL_NAND, GL_OR,
	  GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED,
	  GL_OR_REVERSE, and GL_OR_INVERTED.

Description

  glLogicOp specifies a	logical	operation that,	when enabled, is applied
  between the incoming color index and the color index at the corresponding
  location in the frame	buffer.	 The logical operation is enabled or disabled
  with glEnable	and glDisable using the	symbolic constant GL_LOGIC_OP.

  opcode is a symbolic constant	chosen from the	list below.  In	the
  explanation of the logical operations, s represents the incoming color
  index	and d represents the index in the frame	buffer.	 Standard C-language
  operators are	used.  As these	bitwise	operators suggest, the logical
  operation is applied independently to	each bit pair of the source and
  destination indices.
		     ------------------------------------
		     |     opcode      | resulting value |
		     ------------------------------------
		     |	  GL_CLEAR     |	0	 |
		     |	   GL_SET      |	1	 |
		     |	  GL_COPY      |	s	 |
		     |GL_COPY_INVERTED |       !s	 |
		     |	  GL_NOOP      |	d	 |
		     |	 GL_INVERT     |       !d	 |
		     |	   GL_AND      |      s	& d	 |
		     |	  GL_NAND      |    !(s	& d)	 |
		     |	   GL_OR       |      s	| d	 |
		     |	   GL_NOR      |    !(s	| d)	 |
		     |	   GL_XOR      |      s	^ d	 |
		     |	  GL_EQUIV     |    !(s	^ d)	 |
		     | GL_AND_REVERSE  |     s & !d	 |
		     |GL_AND_INVERTED  |     !s	& d	 |
		     | GL_OR_REVERSE   |     s | !d	 |
		     | GL_OR_INVERTED  |     !s	| d	 |
		     ------------------------------------

Notes

  Logical pixel	operations are not applied to RGBA color buffers.

  When more than one color index buffer	is enabled for drawing,	logical
  operations are done separately for each enabled buffer, using	for the
  destination index the	contents of that buffer	(see glDrawBuffer).

  opcode must be one of	the sixteen accepted values.  Other values result in
  an error.


Errors

  GL_INVALID_ENUM is generated if opcode is not	an accepted value.

  GL_INVALID_OPERATION is generated if glLogicOp is executed between the
  execution of glBegin and the corresponding execution of glEnd.

Associated Gets

  glGet	with argument GL_LOGIC_OP_MODE
  glIsEnabled with argument GL_LOGIC_OP

See Also

  glAlphaFunc, glBlendFunc, glDrawBuffer, glEnable, glStencilOp




Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV