Opengl es OpenGL es 2.0混合问题

Opengl es OpenGL es 2.0混合问题,opengl-es,Opengl Es,现在我正在学习使用iOS的OpenGL ES 2.0,并尝试在iPhone中开发绘图功能 多亏了GLPaint,我成功地用手指画出了线条艺术图像和现场绘画 现场绘画可以覆盖线条艺术形象,但我希望线条艺术绘画不覆盖黑线 现在我已经画完了 有什么好的混合方法可以做到这一点吗?谢谢。我终于解决了这个问题 使用glBlendFunc很简单: glEnableGL_混合物 glBlendFuncGL_DST_COLOR,GL_ONE_减去SRC_ALPHA 关键是 第一个参数是目标颜色背景颜色,第二个参数

现在我正在学习使用iOS的OpenGL ES 2.0,并尝试在iPhone中开发绘图功能

多亏了GLPaint,我成功地用手指画出了线条艺术图像和现场绘画

现场绘画可以覆盖线条艺术形象,但我希望线条艺术绘画不覆盖黑线

现在我已经画完了


有什么好的混合方法可以做到这一点吗?谢谢。

我终于解决了这个问题

使用glBlendFunc很简单:

glEnableGL_混合物

glBlendFuncGL_DST_COLOR,GL_ONE_减去SRC_ALPHA

关键是

第一个参数是目标颜色背景颜色,第二个参数是源颜色

默认情况下,glBlendEquation设置为GL_FUNC_ADD;如果您想做一些不同的事情,请记住根据不同的情况进行更改

在本期中,我们不需要对其进行更改,因为我们需要将背景色与笔刷颜色混合,并且在添加两种颜色时,黑色始终覆盖任何颜色

确保在绘制背景图像后设置glEnableGL_混合

我的错误是,使用编译笔刷着色器设置glEnableGL_混合,并在设置所有着色器后绘制