Cocos2d-x之CCRenderTexture
04 Feb 2013一、如果使用
CCRenderTexture *pRender = CCRenderTexture::renderTextureWithWidthAndHeight(width, height); pRender->begin(); // 这里可以调用,把相应的东西画在CCRendertexture上,可以画任何东西 CCNode::visit(); pRender->end(false);
二、使用混合模式
主要是使用 @glBlendFunc()@ 函数,有两个参数,前者表示源因子,后者表示目标因子。
GL_ZERO // 表示使用0.0作为因子,实际上相当于不使用这种颜色参与混合运算。 GL_ONE // 表示使用1.0作为因子,实际上相当于完全的使用了这种颜色参与混合运算。 GL_SRC_ALPHA // 表示使用源颜色的alpha值来作为因子。 GL_DST_ALPHA // 表示使用目标颜色的alpha值来作为因子。 GL_ONE_MINUS_SRC_ALPHA // 表示用1.0减去源颜色的alpha值来作为因子。 GL_ONE_MINUS_DST_ALPHA // 表示用1.0减去目标颜色的alpha值来作为因子。
如果设置了 @glBlendFunc(GL_ONE, GL_ZERO);@,则表示完全使用源颜色,完全不使用目标颜色,因此画面效果和不使用混合的时候一致。
如果设置了 @glBlendFunc(GL_ONE, GL_ONE);@,则表示完全使用源颜色和目标颜色,最终的颜色实际上就是两种颜色的简单相加。
参考:http://blog.csdn.net/aurora_mylove/article/details/1700540