【发布时间】:2009-12-09 14:00:42
【问题描述】:
我希望我的线条用负色绘制(取自屏幕下方的线条),我只是不明白混合是如何工作的,查看了文档等,测试了 50 种组合等等。开始认为这根本不可能......
有人可以给出这两个值吗?
【问题讨论】:
我希望我的线条用负色绘制(取自屏幕下方的线条),我只是不明白混合是如何工作的,查看了文档等,测试了 50 种组合等等。开始认为这根本不可能......
有人可以给出这两个值吗?
【问题讨论】:
画一条白线并使用glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO);别忘了启用GL_BLEND
【讨论】:
您应该为此目的使用逻辑操作。不掺合。 所以你所要做的就是打电话:
glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_INVERT);
您也可以使用 GL_ XOR,具体取决于您想要实现的目标。如果您想将帧缓冲区完全恢复到画线发生之前的状态,则 GL_ XOR 很有用。只需再次使用 GL_XOR 再次绘制同一条线 ((a xor b) xor b == a)。这是 CAD 世界中的常见技巧。
【讨论】: