gl.LogicOp(opcode)
gl.LogicOp()
gibt eine logische Operation an, die, wenn sie aktiviert ist,
zwischen dem eingehenden Farbindex oder der RGBA-Farbe und dem Farbindex oder
der RGBA-Farbe an der entsprechenden Stelle im Rahmenpuffer angewendet wird.
Um die logische Verknüpfung zu aktivieren oder zu deaktivieren, rufen Sie
gl.Enable() und gl.Disable() über die
symbolische Konstante #GL_COLOR_LOGIC_OP
auf für den RGBA-Modus oder #GL_INDEX_LOGIC_OP
für den Farbindex-Modus. Der Anfangswert ist für beide Vorgänge deaktiviert.
#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
#GL_OR_INVERTED
opcode
ist eine symbolische Konstante, die aus der obigen Liste ausgewählt
wurde. In der Erklärung der logischen Operationen stellt s
den eingehenden
Farbindex und d
den Index im Rahmenpuffer dar. Es werden
Standard-C-Sprachoperatoren verwendet. Wie diese bitweisen Operatoren
vermuten lassen, wird die logische Operation unabhängig voneinander auf jedes
Bitpaar der Quell- und Zielindizes oder Farben angewendet.
Logische Operationen mit dem Farbindex werden immer unterstützt. RGBA logische Operationen werden nur unterstützt, wenn die GL-Version 1.1 oder höher ist.
Wenn mehr als ein RGBA-Farbpuffer oder Indexpuffer zum Zeichnen aktiviert ist, werden logische Operationen für jeden aktivierten Puffer separat ausgeführt, wobei für den Zielwert der Inhalt dieses Puffers verwendet wird. Siehe gl.DrawBuffer für Details.
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_INVALID_ENUM
wird erzeugt, wenn opcode
kein akzeptierter Wert ist.
#GL_INVALID_OPERATION
wird erzeugt, wenn gl.LogicOp()
zwischen
gl.Begin() und gl.End() ausgeführt wird.
#GL_LOGIC_OP_MODE
.
gl.IsEnabled() mit dem Argument #GL_COLOR_LOGIC_OP
oder #GL_INDEX_LOGIC_OP
.