5.8 volumetric post-processing--game programming gems5 笔记

这个gem主要讲heat shimmer---火焰燃烧的时候发出的热气会把部分场景弄得扭曲的效果。

这个效果是我得最爱,非常酷。

做扭曲 是比较直白的,就是把原始场景作为贴图,然后干扰坐标,就可以看到贴图扭曲的效果。

问题在于heat shimmer有一个深度问题,就是热气后面的部分会扭曲,但是前面的不会。

那么就需要把depth buffer也要做一个贴图,然后进行比较,如果是扭曲区域的深度是大于阀值的,那么就做,否则就保留原样。

这个如果作一些变换,把扭曲改成blur那么就成了depth blur的效果了。

-----------------------------------------------

扭曲效果的加入会把场景渲染的pipeline很大程度上打乱,需要重新组织。

大致是这样:

1,通过particle来承载shimmer, 并记下shimmer的最小depth

2,通过一个accumulator来把场景中alpha blending的model,进行存储,根据shimmer的depth进行分类。

3,渲染所有的不透明物体

4,渲染深度大于shimmer depth的alpha物体

5,渲染shimmer效果

6,渲染深度小于shimmer depth的物体。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值