[gdc07][crytek]Real-time Atmospheric Effects

link:

http://developer.amd.com/assets/D3DTutorial_Crytek.pdf

 

07年gdc crytek的一个文章,一些内容被wolfgang引用,拿下来一看,很不错。

 

volume相关技术就是处理衰减和散射。

 


 

开始将depth based render,也就是deferred shading的简化版。

读起来颇有点穿越的感觉,07年crytek还很扭捏的提一下depth based render,10年的时候已经满大街都是了。

发展恁快了。

 

 


 

skylight&global volume fog

 

 

这里的skylight不是指skylighting作用在物体上的效果,就是指render sky box本身。

这里一些做法可以是artist制作的,对于昼夜交替的情况,通过一些1d texture也可以做的不错。

这里是纯程序生成的做法。

 

主要是处理散射情况,使用mie算法来处理sample点,文中给出的是128*64,积分公式比较复杂,没什么必要列了。

结果存在floating point texture里,然后使用。

计算过程可以是cpu段多帧计算,也可以gpu端计算。

crytek提到有精度问题,这个resolution要自己把握一下了。

 

fog部分,是根据height和distance来计算浓度的。

使用exp来做衰减。

这个是global fog所以render的方式是render full screen quad这种方式。

global fog的color就使用sky light的颜色,sample那个texture就好。

 


 

fog volume

其实是global volume fog的一个特化,只是这次不是全屏quad,是一些具体形状。

  • 类似deferred shading画point light的方式画box/sphere...到屏幕上
  • pixel为最终pos,不像global的为depth反算出来的pos。
  • apply上面的volume fog公式

 


 

cloud render

 

 

使用gradient based lighting+rim lighting达到这个效果。

 

distance cloud

使用2d plane借助一些volume property(normal, density texture)根据camera和sun的关系render distance cloud。

 


 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值