浏览 5852 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-05-12
shader在处理资源上有很多种应用。 比如按钮的变灰,角色的冰冻,石化,中毒等效果,再比如水波的滤镜实现~ . 先来个类似于最近比较火的刀塔传奇里的中毒效果把。(ps:抽的亚龙不怎么给力。o(︶︿︶)o 唉)。 资源我就拿天天酷跑里的loading男孩了。 先来个对比效果图把~ <pre name="code" class="glsl代码实现"> #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) ; } </pre> 再来个冰冻效果, 还是先上图: <pre name="code" class="glsl代码实现"> #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; } </pre> 实现都很简单,就是操作argb值,具体的语法可以看前一张有介绍。 http://caiwb1990.iteye.com/blog/2064688 OK,就是给大家简单介绍了下shader的应用~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |