cocos shader 之 模糊滤镜
发布时间:2020-12-14 16:35:38 所属栏目:百科 来源:网络整理
导读:效果: VSH: #ifdef OPENGL_ESprecision mediump vec2;precision mediump float;#endif// Attributesattribute vec3 a_position;attribute vec2 a_texCoord;attribute vec4 a_color;// Varyings#ifdef GL_ESvarying vec2 v_texCoord;#elsevarying vec2 v_texC
效果:
VSH: #ifdef OPENGL_ES precision mediump vec2; precision mediump float; #endif // Attributes attribute vec3 a_position; attribute vec2 a_texCoord; attribute vec4 a_color; // Varyings #ifdef GL_ES varying vec2 v_texCoord; #else varying vec2 v_texCoord; #endif varying vec4 v_fragmentColor; void main() { gl_Position = CC_PMatrix * vec4(a_position,1.0); v_texCoord = a_texCoord; v_fragmentColor = a_color; } FSH: #ifdef GL_ES precision mediump float; #endif varying vec4 v_fragmentColor; varying vec2 v_texCoord; uniform vec2 resolution; //uniform float blurRadius; vec4 blur(vec2 p) { vec4 col = vec4(0); vec2 unit = 1.0/resolution; float r = 10.0; float nCount = 0.0; for (float x = -r; x < r; ++x) { for (float y = -r; y < r; ++y) { float weight = (r-abs(x)) * (r-abs(y)); col += texture2D(CC_Texture0,p + vec2(x*unit.x,y*unit.y))*weight; nCount += weight; } } return col / nCount; } void main(void) { gl_FragColor = blur(v_texCoord); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |