OpenGL ES 1.1:如何替换 glBlendFuncSeparate?
Posted
技术标签:
【中文标题】OpenGL ES 1.1:如何替换 glBlendFuncSeparate?【英文标题】:OpenGL ES 1.1: How to substitute glBlendFuncSeparate? 【发布时间】:2012-03-19 14:10:14 【问题描述】:我的问题和here差不多。
如果我可以使用 glBlendFuncSeparate,这也是答案:
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE);
但是,由于我需要为 MALI-400MP (Samsung Galaxy Nexus S II) 提供支持,我不能使用 glBlendFuncSeparate(GL_OES_blend_func_separate 扩展不存在)。
建议使用 glColorMask,但如何正确使用它? 有没有其他方法可以做到这一点?
【问题讨论】:
【参考方案1】:在另一个问题中似乎得到了很好的回答,但如果您只想禁用写入 Alpha 通道,您只需在绘制混合对象之前调用 glColorMask(true,true,true,false);
。这会锁定 Alpha 层,使其在写入时不会被修改。
【讨论】:
接受了这个。我的问题是我一开始并没有将FBO清除为0,0,0,1,并且alpha值有点随机。以上是关于OpenGL ES 1.1:如何替换 glBlendFuncSeparate?的主要内容,如果未能解决你的问题,请参考以下文章
我的OpenGL学习进阶之旅 OpenGL ES 实现 绿幕抠图 以及 替换绿幕背景的功能