【复习笔记】 cocos2d-x 2.x 渲染特效实现 二 简单模糊效果

本篇为系列文章之一,建议先看基础回顾~

在游戏中,有时候可以看到,当你打开一个弹出框式的界面的时候,原本的界面作为背景会变模糊,以突出最上层的弹出框,让玩家视觉观察区域集中起来~或者是,当你受到区别于普通攻击的一次暴击的时候,屏幕会出现一些特效,比如震动,出现红色边框,或者是会模糊一下,以突出被打击的感觉。这两种例子里的模糊都很适合程序实时渲染这些特效。

在基础回顾里我们已经说过,我们主要是重写draw函数和相应的shader,首先我们实现把一张贴图渲染为模糊的效果吧~

实现模糊效果,基本的实现思路是在每渲染一个像素的时候,都取一些周围的像素的颜色信息,这样当前渲染的这个像素就带有临近像素的信息了~但是这些临近点怎么个取法呢~为了实现和自然比较贴近的模糊效果,但是又顾及到程序的渲染效率,我们先使用一种简单的方式去实现这个采样,那就是去当前像素周围一圈的八个像素,然后九个值求平均数。所以在下面的函数中,我们在shader中创建了一个uniform变量vec2 u_BlurDis来设置采样像素间隔。因为贴图的UV坐标是从0到1的,所以在代码中设置了_pixelSpan = 1.0f,并根据贴图大小算出u_BlurDis,来确保采样跨度为1个像素~

#define UniformBlurDis                  "u_BlurDis"

......

_uniforms[kUniformBlur
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值