ios – 使用着色器模糊Cocos2d

ios – 使用着色器模糊Cocos2d,第1张

概述目前我正在玩Cocos2D.我希望能够在显示通知叠加层时模糊整个场景. 我以为我可以用着色器做这个(我是一个非常OpenGL的菜鸟).从我发现的是有“fsh”文件,其中包含着色器的算法.我发现了一个“gausian blurring”,但是如何将这样的着色器添加到Cocos2D的CCScene中呢? 我似乎无法弄清楚这一点. 我自己刚开始用着色器玩一点.网上有很多材料可供阅读和试用.我会指出你的一 目前我正在玩Cocos2D.我希望能够在显示通知叠加层时模糊整个场景.

我以为我可以用着色器做这个(我是一个非常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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存