OpenGLES混合和匹配混合选项复杂的问题

时间:2010-03-24 21:05:53

标签: iphone objective-c opengl-es

所以我有一个背景线条画,黑色和白色。我希望能够画出这一点,将黑色线条保留在那里,并仅画在白色的地方。我可以使用

来做到这一点
glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);

黑色保持黑色和白色可以得到我想要的任何颜色。然而,在白色区域,我希望能够绘制一些颜色,选择另一种颜色,然后混合。但是这不起作用,因为混合功能搞砸了。

所以我想的是有一个有线的帧缓冲区和一个用户绘图帧缓冲区。用户使用不同的混合绘制到用户绘制帧缓冲区,然后我切换混合选项并绘制到线性绘制的帧缓冲区。但我不知道OpenGL是否会起作用或者是一个愚蠢的想法。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您的绘图在白色区域中是透明的,则可以执行以下操作:首先绘制彩色区域,然后使用标准GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA混合绘制线条图。