额 自己用shader渲染 实验吧。。。算是。。。经验贴吧

额。。。最近 在鼓捣光效之类的 东西,额不多说了 先上图
#ifdef GL_ES
precision lowp float;
#endif
uniform vec2 center;
varying vec2 v_texCoord;
uniform sampler2D CC_Texture0;

const vec2 mystep = vec2(0.006, 0.002);

void main(void)
{

vec4 cc=vec4(0,1.0,0,0);
gl_FragColor = texture2D(CC_Texture0, v_texCoord)+cc;    

}
脚本 非常的 简单。。。。额 。。。其实 我真的用的那个也不复杂
额。。。实验的 结果是 手机上我感觉 实在是太伤了。。。完全 渲染 不来啊。。。。:6:
额。。怪不得 没见过人 去渲染过额。。。。话说 最后还是把 实验的结果发下 因为 答应 斑竹了么。。。。
哎。。。最后 恳请 大牛们 是否 有相关的 经验 可以传授。。确实 其实 如果 可以使用的话 ,画面 可以好很多的 ,不过 我作为个这方面的初学者。。。效率方面 实在是有点不知所措额。。。哎

上面的 脚本 是被我 简化 在简化的,,,哎。。。随便 复杂 点 就运行不来了。。。
应 斑竹 建议 我把下面的光效代码 也发下 额。。。我真的写的很烂 不要嘲讽我啊 大大们 贴出来 只是 希望 有人 可以有更好的解决方案
// http://www.cocos2d-iphone.org

#ifdef GL_ES
precision lowp float;
#endif
uniform vec2 center;
varying vec2 v_texCoord;
uniform sampler2D CC_Texture0;

const vec2 mystep = vec2(0.012, 0.004);

void main(void)
{
float time = CC_Time;
float test = mod(time,2.0);
float test2 = mod(time,1.0);

vec2 p = gl_FragCoord.xy - center.xy;
if(center.x>0.5)
{
    gl_FragColor = texture2D(CC_Texture0, v_texCoord);
}
else
{

vec3 color = texture2D(CC_Texture0, v_texCoord).rgb;

float weight = 30.0;

float assess = pow(texture2D(CC_Texture0, v_texCoord).a, 3.0)*weight;

float alpha = assess;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -3.0*mystep.x*(0.5-test2), -3.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -2.0*mystep.x*(0.5-test2), -2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -1.0*mystep.x*(0.5-test2), -1.0*mystep.y*(0.5-test2) ) ).a;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0 , 0.0) ).a;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 1.0*mystep.x*(0.5-test2),  1.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 2.0*mystep.x*(0.5-test2),  2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 3.0*mystep.x*(0.5-test2),  3.0*mystep.y*(0.5-test2) ) ).a;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -3.0*mystep.x*(0.5-test2), 3.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -2.0*mystep.x*(0.5-test2), 2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -1.0*mystep.x*(0.5-test2), 1.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 1.0*mystep.x*(0.5-test2),  -1.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 2.0*mystep.x*(0.5-test2),  -2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 3.0*mystep.x*(0.5-test2),  -3.0*mystep.y*(0.5-test2) ) ).a;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, 3.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, 2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, 1.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, -1.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, -2.0*mystep.y*(0.5-test2) ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 0.0, -3.0*mystep.y*(0.5-test2) ) ).a;

alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -3.0*mystep.x*(0.5-test2), 0.0 ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -2.0*mystep.x*(0.5-test2), 0.0 ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( -1.0*mystep.x*(0.5-test2), 0.0 ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 1.0*mystep.x*(0.5-test2),  0.0 ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 2.0*mystep.x*(0.5-test2),  0.0 ) ).a;
alpha += texture2D( CC_Texture0, v_texCoord.st + vec2( 3.0*mystep.x*(0.5-test2),  0.0 ) ).a;
alpha /= 25.0+assess;

color = clamp(color + (alpha-1), 0, 1.0);


    if(alpha<=0.5&&alpha>0)
    {
        gl_FragColor = vec4(color.r+1.0*alpha, color.g, color.b, alpha);
    }
    else
    {
        gl_FragColor = vec4(color.r, color.g, color.b, alpha);
    }

}

}

额 图片 描述 不见了。。。。。
1。是 用第一个脚本 电脑上的
2.是 用第一个脚本 手机上的 会闪,颜色也不对
3是用第二个脚本 电脑上的,,,手机上额。。。。貌似 运行都运行不来。。。

给你点32个赞~~~:14::14::14::14:

希望大家有什么好的经验也都学习楼主分享下哦~~

:7: 希望 对别人 有点 用吧

变色功能支持,有没有高亮的脚本

额 =。= 很简单 rgb三色 随便乘个小数 自己调节下 应该就可以了。。。,但是 我感觉 最好还是不要用这种方法渲染 太吃GPU了,,,