用shader在love2d里实现精灵描边效果

精灵描边的效果在游戏里面很普及,效果参照下图

没有描边:


有描边:



今天用 love2d 也实现一个这样的效果,记录一下过程中遇到的问题和解决办法。


一开始想的办法是,把图片绘制两次.
一次正常绘制, 一次用纯色绘制 , 这样两个叠加起来,再把纯色绘制的 图片 ,变的面积"胖" 一些 ,就能实现了精灵描边的效果。

于是写了 纯色绘制的 像素着色器:

		vec4 effect(vec4 color,Image texture,vec2 texture_coords,vec2 screen_coords)
		{
			vec4 pixel = Texel(texture,texture_coords);
			if(pixel.a == 0)
			{
				discard;
			}
			return vec4(1.0,1.0,0.0,1.0);
		}

效果是把图片 不透明的区域,绘制成同一种颜色。效果是这样的:



但是这样只是实现了 用纯色绘制,还没有 把图片"边胖"

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值