私はちょうどシェイダーで少し演奏し始めました。読んで試してみるには、ウェブ上に多くの資料があります。私はあなたがどのように/彼らが何をしているかを理解するのに役立つと分かったいくつかのURLの方向にあなたを指摘します。偉大なシェーダ効果を探して:
簡単なチュートリアルでは、シェーダとグレースケール効果(Cocos2D)の実験のブログ投稿をコーディング
http://www.shaderdev.com/2013/09/16/full-scene-shader-effects-how-to-create-a-grayscale-pause-screen-using-ccrendertexture/
を実現しています。これは私が...以下cocos2Dのためにあなたがあなたの方法に確かにあるものと
http://coding-experiments.blogspot.com/2010/06/frosted-glass.html
を共有するシェーダです。あなたが有用であることがわかったら、以下のシェーダーを自由に使用してください。これらは、2番目のURLから取得されました。
頂点シェーダ
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;
}
フラグメントシェーダ
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);
}