码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-01 12:26:45      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:渲染   siggraph   volume   atmosphere   

技术分享
siggraph2014, advanced course中的
由ubisoft montreal带来。

放个总连接:http://advances.realtimerendering.com/s2014/
如果有访问问题可以试试这个:http://download.csdn.net/detail/ccanan/8856803

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,这才是使得其所的计算方式啊

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:渲染   siggraph   volume   atmosphere   

原文地址:http://blog.csdn.net/toughbro/article/details/46706837

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!