Cocos2d desenfoque con sombreadores

Actualmente estoy jugando con Cocos2D. Quiero poder difuminar toda la escena cuando hay una superposition de notifications que se muestra.

Pensé que podría hacer esto con shaders (soy bastante OpenGL noob). De lo que encontré es que hay files "fsh" que contienen un algorithm para el sombreador. Encontré uno para " desenfoque gaussiano ", pero ¿cómo puedo agregar dicho sombreador a un CCScene de Cocos2D?

No puedo resolver esto.

Acabo de empezar a jugar un poco con sombreadores yo mismo. Hay mucho material en la web para leer y probar. Te señalaré en la dirección de algunas URL que encontré útiles para entender cómo y qué hacen … eso podría ayudarte a comenzar.

Tutorial simple para lograr un efecto de escala de grises con sombreadores (Cocos2D)

http://www.shaderdev.com/2013/09/16/full-scene-shader-effects-how-to-create-a-grayscale-pause-screen-using-ccrendertexture/

Experimentos de encoding blogpost: gran efecto de sombreado. Este es el sombreador que comparto para cocos2D a continuación …

http://coding-experiments.blogspot.com/2010/06/frosted-glass.html

Con ésos seguramente estás en path. Siéntase libre de usar los sombreadores a continuación también si los encuentra útiles, estos fueron tomados de la segunda url.

sombreador de vértices

attribute vec4 a_position; attirbute vec4 a_color; attribute vec2 a_texCoord; uniform mat4 u_MVPMatrix; varying lowp vec2 v_fragmentColor; varying lowp vec2 v_texCoord; void main() { gl_Position = CC_MVPMatrix * a_position; v_fragmentColor = a_color; v_texCoord = a_texCoord; } 

fragment sombreador

 varying lowp vec4 v_fragmentColor; varying lowp vec2 v_texCoord; uniform sampler2D u_texture; float rand(vec2 co) { return fract(sin(dot(co.xy ,vec2(92.,80.))) + cos(dot(co.xy ,vec2(41.,62.))) * 5.1); } void main() { vec2 rnd = vec2(0.0); rnd = vec2(rand(v_texCoord),rand(v_texCoord)); glFragColor = texture2D(u_texture, v_texCoord+rnd*0.05); }