- specify a logical pixel operation for color index ren-
dering
C SPECIFICATION
PARAMETERS
_param1 Specifies a symbolic constant that selects a log-
ical 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. The initial value is GL_COPY.
DESCRIPTION
glLogicOp specifies a logical operation that, when
enabled, is applied between the incoming color index or
RGBA color and the color index or RGBA color at the corre-
sponding location in the frame buffer. To enable or dis-
able the logical operation, call glEnable and glDisable
using the symbolic constant GL_COLOR_LOGIC_OP for RGBA
mode or GL_INDEX_LOGIC_OP for color index mode. The ini-
tial value is disabled for both operations.
---------------------------------------
Opcode Resulting Operation
---------------------------------------
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
---------------------------------------
_param1 is a symbolic constant chosen from the list above.
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 or colors.
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_COLOR_LOGIC_OP or
GL_INDEX_LOGIC_OP.
SEE ALSO
glAlphaFunc, glBlendFunc, glDrawBuffer, glEnable,
glStencilOp
1