1

由于我使用的混合,我无法使用包含透明度的纹理绘制 CCRenderTexture。

我正在绘制的精灵具有以下混合功能:

glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA).

它正在绘制的渲染纹理具有混合功能:

glBlendFuncSeparate(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_COLOR, GL_ONE_MINUS_SRC_ALPHA).

渲染纹理设置为大部分是透明的,上面有一些完全不透明的区域。上面的混合函数允许我在纯色区域上绘制一个完全纯色的精灵,而不是在透明区域上绘制。

当我尝试更改我绘制的精灵以包含一些透明度时,就会出现问题。它倾向于“擦除”渲染纹理上的不透明区域。理想情况下,我希望我绘制的精灵上的透明区域没有效果。我想知道openGL混合大师是否能给我一些指导?

澄清一下,我想要达到的最终效果是能够绘制一个包含一些透明区域到我的渲染纹理的精灵。精灵的透明区域不应绘制到我的渲染纹理。如果精灵的不透明区域位于渲染纹理上的不透明区域上,则它们仅应绘制到渲染纹理。

4

0 回答 0