Screen Door Effect

        在游戏开发中难免会遇到物体逐渐消失或者出现的相关需求,在只有一个主光源的时候用translucent with z就可以简单解决,但是现在的引擎不支持点光源都不好意思跟人讲,如果要考虑点光源translucent with z还真是比较苍白,无能为力了只能。对于草这样overdraw很严重的情况用translucent with z无疑是对原来的性能消耗雪上加霜。对于物体切换lod时poo会非常明显,很多游戏就听之任之了,如果这能提高一下能非常明显的降低pop对人的不友好体验。

        基于以上的一些原因,游戏开发者提出了一共新的渐变的效果,方法很简单将原先要输出的贴图的alpha通道和一张噪声纹理相乘,用这个被改变的alpha作为alpha然后再用alpha test。因为纹理上的像素值是随机分布的,从而导致alpha也增加了随机分布,同时alphatest的阈值不断调整就会导致有些像素会出现或者小时(阈值增加会让像素越来越少,阈值减少会让像素越来越多,开发者很容易达到fading的效果)下面的图正好诠释了screen door的基本原理这个方法其实在2002年的GPU Gems就已经共享出来了,请参考GPU Gems第一章1.2.1 Simulating Alpha Transparency via Dissolve
(http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter01.html)

        

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值