我以为我可以用着色器做这个(我是一个非常OpenGL的菜鸟).从我发现的是有“fsh”文件,其中包含着色器的算法.我发现了一个“gausian blurring”,但是如何将这样的着色器添加到Cocos2D的CCScene中呢?
我似乎无法弄清楚这一点.
解决方法 我自己刚开始用着色器玩一点.网上有很多材料可供阅读和试用.我会指出你的一些网址,我发现有用的方法来了解他们是如何做什么的……这可能会让你开始.使用着色器实现灰度效果的简单教程(Cocos2D)
http://www.shaderdev.com/2013/09/16/full-scene-shader-effects-how-to-create-a-grayscale-pause-screen-using-ccrendertexture/
编码实验blogpost:很棒的着色效果.这是我在下面为cocos2D分享的着色器…
http://coding-experiments.blogspot.com/2010/06/frosted-glass.html
有了这些你肯定会在路上.如果您发现它们有用,请随意使用下面的着色器,这些是从第二个网址获取的.
顶点着色器
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);}总结
以上是内存溢出为你收集整理的ios – 使用着色器模糊Cocos2d全部内容,希望文章能够帮你解决ios – 使用着色器模糊Cocos2d所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)