`
caiwb1990
  • 浏览: 318233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

6. cocos-2dx Shader(二) 实例应用

阅读更多

shader在处理资源上有很多种应用。
比如按钮的变灰,角色的冰冻,石化,中毒等效果,再比如水波的滤镜实现~
.

先来个类似于最近比较火的刀塔传奇里的中毒效果把。(ps:抽的亚龙不怎么给力。o(︶︿︶)o 唉)。
资源我就拿天天酷跑里的loading男孩了。

先来个对比效果图把~



#ifdef GL_ES 
precision mediump float; 
#endif 
uniform sampler2D u_texture; 
varying vec2 v_texCoord; 
varying vec4 v_fragmentColor; 
void main(void) 
{ 
    gl_FragColor = texture2D(u_texture, v_texCoord) * v_fragmentColor;
	gl_FragColor.r *= 0.8;
	gl_FragColor.r += 0.08 * gl_FragColor.a;
	gl_FragColor.g *= 0.8;
	gl_FragColor.b *= 0.8;
	gl_FragColor.g += 0.2 * gl_FragColor.a;
   //gl_FragColor= vec4(color.r,color.g, color.b,color.a) ;
}




再来个冰冻效果,
还是先上图:




#ifdef GL_ES 
precision mediump float; 
#endif 
uniform sampler2D u_texture; 
varying vec2 v_texCoord; 
varying vec4 v_fragmentColor; 
void main(void) 
{ 
    vec4 normalColor = v_fragmentColor * texture2D(u_texture, v_texCoord);
	normalColor *= vec4(0.8, 0.8, 0.8, 1);
	normalColor.b += normalColor.a * 0.2;
    gl_FragColor = normalColor;
}



实现都很简单,就是操作argb值,具体的语法可以看前一张有介绍。
http://caiwb1990.iteye.com/blog/2064688

OK,就是给大家简单介绍了下shader的应用~



  • 大小: 12.3 KB
  • 大小: 12.3 KB
  • 大小: 13.2 KB
分享到:
评论

相关推荐

    基于cocos2dx 2.x做的一些shader效果Demo

    本篇文章将深入探讨如何在Cocos2dx 2.x中应用Shader,并通过提供的FKCocos2dxEffectDemo实例进行详细解析。 首先,理解Shader的概念至关重要。Shader是运行在GPU上的小型程序,负责计算物体表面的颜色、光照等视觉...

    Cocos_lua_shader-master.zip

    总结,掌握Cocos2d-x Lua Shader的使用能够极大地提升游戏或应用的视觉表现力。通过编写自定义的GLSL着色器,不仅可以实现图片圆角和文字渐变,还可以创造出更多创新的视觉效果。在实际开发过程中,不断实践和调试...

    cocos2d-x学习笔记(9)--effect(特效).rar

    4.2 光照效果:虽然Cocos2d-x自身不直接支持光照效果,但开发者可以利用颜色混合、透明度和自定义Shader来模拟光照效果。 五、实例分析:effectTest 5.1 "effectTest"可能是一个示例项目,用于演示如何在Cocos2d-x...

    cocos2d-x 3d模型显示

    在提供的“cocos3d”压缩包中,可能包含了用于演示或学习的Cocos2d-x 3D模型加载和显示的代码示例,通过阅读和理解这些代码,你可以更深入地了解上述知识点的实际应用。在实践中,不断调试和优化代码,将帮助你更好...

    cocos2d x box2d 切水果

    《cocos2d-x与Box2D在切水果游戏中的应用》 在移动游戏开发领域,cocos2d-x是一个广泛使用的2D游戏引擎,它以其高效、跨平台的特性深受开发者喜爱。Box2D则是一款强大的开源物理引擎,专为2D游戏设计,能够模拟各种...

Global site tag (gtag.js) - Google Analytics