引用自:
http://blog.csdn.net/yang3wei/article/details/7795764
// 黑暗中的带背景图片纹理的光圈~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ZERO}; // 黑暗中的黄色光圈(前面表示upper,后面表示lower)~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ZERO}; // 黑暗中的黄色光圈(前面表示upper,后面表示lower)~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_ALPHA, GL_ZERO}; // 默认的 blend 配置~ // ccBlendFunc tmp_oBlendFunc = {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA}; // premultiplied~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ONE_MINUS_SRC_ALPHA}; // 仅背景图片有所显示~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_ONE}; // 黄色光圈区域亮度加强(2倍的强度)~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_SRC_COLOR}; // 正片叠底~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA}; // 类似柔光:黄色光圈区域亮度加强,其他地方也不会显示为纯黑(接近我想要的想过了)~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ONE}; // Screen~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE_MINUS_DST_COLOR, GL_ONE}; // Linear Dodge~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ONE}; // 很类似柔光效果,这个也最接近我的需求了~ ccBlendFunc tmp_oBlendFunc = {GL_SRC_ALPHA, GL_ONE}; // GL_ONE_MINUS_SRC_ALPHA 注定是不行的(光晕中心会被模糊掉)~ // ccBlendFunc tmp_oBlendFunc = {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA}; // 标准的正片叠底~ // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA}; // 下面两种是差不多的~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_SRC_COLOR}; // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ZERO};
// 1.正片叠底 // ccBlendFunc tmp_oBlendFunc = {GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA}; // 2. // ccBlendFunc tmp_oBlendFunc = {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA}; // 3.黄色光圈区域显示背景图片,其他区域显示黑色(黄色光圈很柔和)~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_SRC_ALPHA}; // 4.背景图片在黄色光圈区域的图片尤为阴暗~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_ONE_MINUS_SRC_ALPHA}; // 5.仅仅显示出了原始的背景图片~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_DST_ALPHA}; // 6.全黑~ // ccBlendFunc tmp_oBlendFunc = {GL_ZERO, GL_ONE_MINUS_DST_ALPHA}; // ---------------------------------------- // 7.仅显示黄色光圈图片~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ZERO}; // 8.纯粹的添加光圈图片到背景图片上面~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ONE}; // 9.纯粹的添加光圈图片到背景图片上面~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_DST_COLOR}; // 10.纯粹的添加光圈图片到背景图片上面~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_ONE_MINUS_DST_COLOR}; // 11.纯粹的添加光圈图片到背景图片上面~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_SRC_ALPHA_SATURATE}; // 12.黄色光圈区域显示背景图片,其他区域显示黑色(黄色光圈很刺眼)~ // ccBlendFunc tmp_oBlendFunc = {GL_ONE, GL_SRC_ALPHA}; // 13. // ccBlendFunc tmp_oBlendFunc = {GL_SRC_COLOR, GL_DST_COLOR};