【问题标题】:OpenGLES mix and match blending options complicated questionOpenGLES混合和匹配混合选项复杂的问题
【发布时间】:2010-03-25 07:48:14
【问题描述】:

所以我有一个背景线条图,黑白。我希望能够在此之上进行绘制,将黑线保留在其中,并仅在其为白色的地方绘制。我可以通过使用来做到这一点

glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);

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

所以我想的是有一个画线帧缓冲区和一个用户绘图帧缓冲区。用户使用不同的混合绘制到 userdrawing 帧缓冲区,然后我切换混合选项并绘制到 linedrawing 帧缓冲区。但我对 OpenGL 的了解还不够,无法说明这是否可行或者是一个愚蠢的想法。

非常感谢

【问题讨论】:

    标签: iphone objective-c opengl-es


    【解决方案1】:

    如果您的绘图在白色区域是透明的,您可以这样做:首先绘制您的彩色区域,然后使用标准 GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA 混合在它们上面绘制线条。

    【讨论】:

    • 我想过这个,但首先它在白色区域不透明,它是白色的,虽然我可以编辑它。更重要的是,我不是为了节省 CPU 而刷新帧缓冲区...
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多