5

我想知道在帧缓冲区中反转颜色像素的最佳方法是。我知道这是可能的glReadPixels()glDrawPixels()但是这些调用对性能的影响非常大。

基本上,我想要做的是有一个反色十字准线,无论它背后是什么,它总是可见的。例如,我有一个任意的 alpha 蒙版位图或纹理,在绘制场景后让它渲染而不进行深度测试,并且纹理的蒙版(全 alpha)像素下的所有帧缓冲区像素都将被反转。

我一直在尝试用纹理来做到这一点,但我得到了一些奇怪的结果,还有我仍然觉得令人困惑的所有混合选项。

4

2 回答 2

8

试试这样的东西:

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_XOR);
// render geometry
glDisable(GL_COLOR_LOGIC_OP);
于 2010-04-17T02:17:17.803 回答
2

怎么样:

glEnable (GL_BLEND); 
glBlend (GL_ONE_MINUS_DST_COLOR, GL_ZERO);
于 2010-04-17T03:42:51.777 回答