-  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