2015-10-08 134 views
0

现在我学习OpenGL ES 2.0与iOS并尝试开发iPhone中的绘图功能。OpenGL es 2.0混合问题

感谢GLPaint,我已经成功地绘制了线条艺术图像和手指绘画。

实时绘图可以覆盖线条艺术图像,但我希望线条艺术绘制时没有覆盖黑色线条。

img这是现在我已经完成绘图。

有没有什么好的混合方法来做到这一点?谢谢。

回答

0

我终于完成了这个问题。

它使用简单,glBlendFunc:

glEnable(GL_BLEND);

glBlendFunc(GL_DST_COLOR,GL_ONE_MINUS_SRC_ALPHA);

点是

  1. 第一个参数是目标颜色(背景颜色),第二个是源颜色。

  2. 默认情况下,glBlendEquation设置为GL_FUNC_ADD;如果你想做一些不同的事情,请记住用不同的案例来改变。

    在这个问题中,我们不需要改变它,因为我们需要将背景颜色与画笔颜色混合,而黑色在添加其中的两种颜色时总是会覆盖任何颜色。

  3. 确认在绘制背景图像后设置“glEnable(GL_BLEND)”。

    我的错误是,将glEnable(GL_BLEND)设置为编译笔刷着色器,并在设置所有着色器之后进行绘制。