所以我有一个背景线条画,黑色和白色。我希望能够画出这一点,将黑色线条保留在那里,并仅画在白色的地方。我可以使用
来做到这一点glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);
黑色保持黑色和白色可以得到我想要的任何颜色。然而,在白色区域,我希望能够绘制一些颜色,选择另一种颜色,然后混合。但是这不起作用,因为混合功能搞砸了。
所以我想的是有一个有线的帧缓冲区和一个用户绘图帧缓冲区。用户使用不同的混合绘制到用户绘制帧缓冲区,然后我切换混合选项并绘制到线性绘制的帧缓冲区。但我不知道OpenGL是否会起作用或者是一个愚蠢的想法。
非常感谢
答案 0 :(得分:0)
如果您的绘图在白色区域中是透明的,则可以执行以下操作:首先绘制彩色区域,然后使用标准GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA混合绘制线条图。