体渲染技术解析(Volume Rendering)

更新ing......

参考文章:

NeRF入门之体渲染 (Volume Rendering) - 知乎 (zhihu.com)

Optical Models for Direct Volume Rendering

所谓体渲染,把气体等物质抽象成一团粒子群,光线在穿过这些粒子群时,光子和粒子发生碰撞的过程,然后我们来模拟这个过程

我们主要将碰撞过程分为四类:

1、absorption 吸收:光子被吸收,导致入射光的光强减弱       

2、emission 放射:粒子本身还可以通过发射或者反射增强入射光的光强

3、out-scattering 外散射:光子撞击到粒子之后方向向外偏移,减弱光强

4、in-scattering 内散射:其他方向光子撞击到粒子之后,方向偏移到与当期方向光子重合,增强光强

四种情况如下图所示:

所以出射光减去入射光:△I = emission + in-scattering - out-scattering - absorption

接下来,我们分情况讨论四种不同的碰撞过程:

一、Absorption

我们首先假设粒子都是半径为r的球体,光子通过一个底面积为E,厚度(高度)为△s的内部为空心的圆柱体。且当前粒子在当前空间的密度为ρ。那么在当前假设的圆柱体中,有ρE△s个粒子,并且每个粒子的投影A = Πr^2。所以当前圆柱体中所有粒子加起来的投影面积为ρAE△s,而总的底面积为E,假设光子均匀分布,所以有ρAE△s/E = ρA△s的概率光子会被粒子吸收掉。

所以可以理解为出射光强 - 入射光强 = ρA△s * I(s); I(s)是一个关于s的函数,随着各个区域的不同光的强度也会改变。

那么由上述公式可得:△I = ρA△s * I(s)

即:

解这个方程得:

I0就是物理意义上入射光的光强;τ a(s) = ρA 指消光系数,也叫不透明度,指吸收光的系数、能力

这个公式告诉我们:如果粒子群是均匀的,即消光系数处处相等,那么光强会程指数式衰减。也就是:Beer-Lambert law 比尔朗伯吸收定律

我们由此定义了Transmittance(透射比):

可以从公式中看出消光系数(τ a(s))越大,透射比越低,那么遮住光线的概率就会很大,透明度就会下降。直观上说,消光系数 = ρA,所以粒子密度越大,透射比越低。符合物理规律。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值