//常规渲染
//CCSprite* UpgradeLayer::maskedSpriteWithSprite(CCSprite* textureSprite, CCSprite* maskSprite){
// int w = maskSprite->getContentSize().width * maskSprite->getScaleX()/2;
// int h = maskSprite->getContentSize().height * maskSprite->getScaleY();
// //定义一个CCRenderTexture,参数为宽高
// CCRenderTexture* rt=CCRenderTexture::create(w,h);
// maskSprite->setAnchorPoint(ccp(0,0));
// maskSprite->setPosition(ccp(0,0));
// //
// ccBlendFunc blendFunc={GL_ONE,GL_ZERO};
// maskSprite->setBlendFunc(blendFunc);
// //在需要处理渲染管理时开始
// rt->begin();
//// 需要渲染的对象调用vist,但是此时还不渲染
// maskSprite->visit();
// // textureSprite->visit();
//// 在所有的visit结束后我们再调用CCRenderTexture的end进行真正的画
// rt->end();
// // 5
// CCSprite* retval = CCSprite::createWithTexture(rt->getSprite()->getTexture());
// retval->setFlipY(true);
// return retval;
//}
http://blog.sina.com.cn/s/blog_59b4c31c0101iom0.html
http://www.starming.com/index.php?action=plugin&v=wave&tpl=t&pg=1&gid=56&tid=21050
http://www.cnblogs.com/sevenyuan/p/3180495.html
http://blog.csdn.net/gf771115/article/details/8905443
http://blog.csdn.net/gf771115/article/details/8905238
http://blog.csdn.net/bill_man/article/details/7250911