[siggraph14]《刺客信条》的高级大气雾效渲染技术

这里写图片描述
siggraph2014, advanced course中的
由ubisoft montreal带来。

总连接:http://advances.realtimerendering.com/s2014/

sum:
基于物理的,把atmosphere scattering,光照和阴影结合起来,把雾效和光照表达的非常好,应该说是目前顶尖实现了。
效果在置顶图里可以看到,这个是有基于物理的大气散射效果作为雾效,并且有光照的散射和阴影信息。

文章的前几页做了一些介绍,说了现在一些技术,包括:

  • 08年crytek推广的基于2D的radial blur的light shaft
    放的图片是witcher的图,是嘲讽它过时了么????
    这里写图片描述
    radial blur的问题就是它是screen space的,2D的,所有它有这两个技术的局限(类ssao):
    如果光源(太阳)不在视野里,light shaft的效果就看不到了等等,简而言之,它和本文讲的东西基本不是一码事。
  • billboard based
    这个在UE3里面用的多一些,美术放一些billboard模拟纯3D的光束散射,在一些UE3的作品里,比如《子弹风暴》里有很多。
    个人觉得这种做法有很好的产品价值,对于固定场景固定环境是一个很不错的选择,尤其是mobile平台上,它的问题就是美术要做相关的工作,不自动,不physically based,如果环境(光照,模型)是变化的,那么久不对的
  • 还有一个ray marching based的方法,游戏里用的比较少,也是有诸多的不足

刺客信条的方法
- 大量的使用了compute shader来提高效率
- 它的计算都是在3D空间上的
- 相关的media density(介质密度。。。翻译的好难受)计算
- 光照计算
- 光的扩散过程是physically based
这里写图片描述

density estimation
包括:

  • 风驱动的噪声信息
  • 雾的衰减
  • 散射参数

光照
这里包括了很全的点光源,直射光和阴影
由于有了3D 贴图,所以比较麻烦的是阴影,刺客信条这代的阴影精度已经非常高了,1k到1536这样,如果基于PCF来downsample到雾效所需的精度,需要大量的采样。
刺客信条使用了exponential shadow map(细节可以看这里http://blog.csdn.net/toughbro/article/details/6091152),这个技术选型非常的棒,exponential shadow map这种基于卷积的阴影技术简直就是为这个量身打造的(ps,曾经在自己项目里使用过esm,但是pc平台上面效率和效果都不如有硬件支持的PCF来的好)

scattering
基于大气散射的物理公式,使用ray marching的方式来积累in scatter和out scatter信息
这里写图片描述

compute shader
这里写图片描述
该使用compute shader的地方都使用了compute shader,这才是使得其所的计算方式啊

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值