您的位置:首页 > 移动开发 > Cocos引擎

cocos2d制作动态光晕效果

2014-04-01 15:38 411 查看
      // 黑暗中的带背景图片纹理的光圈~  

//        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}; 

        // 黑暗中的带背景图片纹理的光圈~

//        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};***************************************************************************************************************

[cpp]

       // 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}; 

        // 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};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: