大气散射光照模型

上面这个图使用大气散射光照模型来计算天空颜色和在晨阳照耀下的薄雾的颜色,不同于传统的天空球和雾的算法,这里很好的诠释了光线(太阳光,天空散射的光,物体反射的光)在大气中传播的效果,效果也更加真实绚丽。

paper list:

precomputed atomspheric scattering:

http://hal.inria.fr/docs/00/28/87/58/PDF/article.pdf

Modeling Skylight and Aerial Perspective

http://developer.amd.com/media/gpu_assets/PreethamSig2003CourseNotes.pdf

Accurate Atmospheric Scattering

http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter16.html

Rendering Outdoor Light Scattering  in Real Time

http://developer.amd.com/media/gpu_assets/ati-lightscattering.pdf

Lighting Research at Bungie

http://www.bungie.net/images/Inside/publications/siggraph/Bungie/SIGGRAPH09_LightingResearch.pptx


讲解理论的话,Modeling Skylight and Aerial Perspective这个比较好,precomputed atomspheric scattering:应该说更全面,但是写的好晦涩,看的累。

bungie的这个是对PreComputedAtomsphericScattering的应用,摘取了主要部分,配上各种图片,容易看多了。


光在空气中的Absorption/OutScattering/InScattering

我们看光从空气中传过来,主要经过了这么几个过程:

  • 视线方向的光,会经过absorption&out scattering,损失了一些亮度,然后进入眼睛
  • 还有一些光,就是别的方向散射进来的,又加强了一些亮度。
其中散射,吸收的计算过程,涉及到光和粒子的交互,是一个和:
  • 光的波长----不同情况下对不同波长的光的吸收和散射不同,因此才有天空在不同时刻的不同颜色
  • 空气分子大小:对于高空干燥的空气,分子小于光的波长,这时候的系数公式和位于浓烟部分的散射系数公式截然不同
  • 空气分子密度
有关的计算过程。
结果呢,对于天空,就是可以正确计算太阳在不同时刻,不同天气状况下天空的颜色。
对于雾效,相比于传统的雾(主要是计算对光线的吸收)可以进一步的带有光的散射效果:





散射系数计算

基本分成两个类型,

  • 高空干燥的空气:使用Raleigh模型

  • 浑浊的空气:使用mie模型,这个之前的blog也提到过,也可以用于计算云的散射

预计算:
做到完全正确的计算,可以说计算量是相当大的,那么在PrecomputedAtomasphericalScattering里面使用了预计算的方式,尽可能把能预计算的部分都预计算,存在贴图里面,这样就具有了比较好的性能。


  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值