glLogicOp 函数

glLogicOp 函数指定用于颜色索引呈现的逻辑像素运算。

语法

void WINAPI glLogicOp(
   GLenum opcode
);

参数

opcode

选择逻辑操作的符号常量。 接受以下符号,其中 s 等于源位的值,d 是目标位的值。

含义
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

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_ENUM
opcode 不是接受的值。
GL_INVALID_OPERATION
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。

备注

glLogicOp 函数指定一个逻辑操作,启用后,在帧缓冲区中相应位置的传入颜色索引和颜色索引之间应用该操作。 使用符号常量GL_LOGIC_OP glEnableglDisable 启用或禁用逻辑操作。

opcode 参数是从以下列表中选择的符号常量。 在逻辑操作的说明中, 表示 传入的颜色索引, d 表示 framebuffer 中的索引。 使用标准 C 语言运算符。 正如这些按位运算符所建议的,逻辑运算单独应用于源索引和目标索引的每个位对。

逻辑像素操作不应用于 RGBA 颜色缓冲区。

当为绘图启用多个颜色索引缓冲区时,将为每个已启用的缓冲区单独执行逻辑操作,使用该缓冲区的内容作为目标索引 (请参阅 glDrawBuffer) 。

opcode 参数必须是 16 个接受的值之一。 其他值会导致错误。

以下函数检索 与 glLogicOp 相关的信息:

带参数GL_LOGIC_OP_MODE的 glGet

glIsEnabled with argument GL_LOGIC_OP

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glAlphaFunc

glBegin

glBlendFunc

glDrawBuffer

glEnable

glEnd

glIsEnabled

glStencilOp