shader效果器新增溶解消失特效

l楼主威武 ,

我也来混个脸熟

mark

威武。shader 高手

厉害啊

确实厉害了

:+1:!

1.8.2和1.9.1都没有问题,native和web都可以
1.9.0如果有问题请自己修改源码,或者升级到1.9.1,没时间改1.9.0的问题了

有点像3d了

顶楼主,希望cocos越来越成熟

有图片外发光吗?

BlursFrag不支持alpha通道:sweat_smile:,稍微改了下
static blurs_vert = ` attribute vec4 a_position; attribute vec2 a_texCoord; attribute vec4 a_color; varying vec2 v_texCoord; varying vec4 v_fragmentColor; void main() { gl_Position = CC_PMatrix * a_position; v_fragmentColor = a_color; v_texCoord = a_texCoord; } ` static blurs_frag = ` #ifdef GL_ES precision mediump float; #endif uniform float bluramount; varying vec2 v_texCoord; vec4 draw(vec2 uv) { return texture2D(CC_Texture0,uv).rgba; } float grid(float var, float size) { return floor(var*size)/size; } float rand(vec2 co){ return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = v_texCoord.xy; vec4 blurred_image = vec4(0.); #define repeats 60. for (float i = 0.; i < repeats; i++) { vec2 q = vec2(cos(degrees((i/repeats)*360.)),sin(degrees((i/repeats)*360.))) * (rand(vec2(i,uv.x+uv.y))+bluramount); vec2 uv2 = uv+(q*bluramount); blurred_image += draw(uv2)/2.; q = vec2(cos(degrees((i/repeats)*360.)),sin(degrees((i/repeats)*360.))) * (rand(vec2(i+2.,uv.x+uv.y+24.))+bluramount); uv2 = uv+(q*bluramount); blurred_image += draw(uv2)/2.; } blurred_image /= repeats; fragColor = vec4(blurred_image); } void main() { mainImage(gl_FragColor, gl_FragCoord.xy); } `

1赞

厉害厉害,高手出现

嗯,看来一下,原来是不支持alpha的,透明通道直接就是黑的了,感谢你的代码

不敢当,我们项目有些天气效果用了shader,变得很卡,还在优化,有些线条效果在web和ios正常,Android不行:sweat_smile:

1赞

不至于吧,只要不是很复杂的计算应该都没问题吧,数学公式解决不了,可以用多纹理合成的方式,感觉有时间计算量太大确实卡

新增溶解特效

1赞

建议cocos官方高薪挖你过去专业做一块的功能

大神做个搓牌造福下社会憋