1.2.5 表面散射

现在能够计算对一个proper shading的两块非常重要信息,分别为位置和入射光。需要确定入射光在表面是如何散射的,具体而言,我们感兴趣的是通过跟踪而找到的交互点的射线有多少光量散射出来到达相机,如图1.6。
这里写图片描述
场景中的每一个物体都是一种材质,材质也是其在表面的每一个点的自身表现属性,被称作为双向反射分布函数 bidirectional reflectance distribution function(BRDF) b i d i r e c t i o n a l   r e f l e c t a n c e   d i s t r i b u t i o n   f u n c t i o n ( B R D F ) 。这个函数代表了从入射方向 ωi ω i 过来的光有能量以反射方向 ωo ω o 反射出去。如果在p点公式化BRDF为 fr(p,ωo,ωi) f r ( p , ω o , ω i ) ,那么计算光线L散射出去的能量如下:

for each light:
    if light is not blocked:
         incident_light = light.L(point)
         amount_reflected = surface.BRDF( hit_point, 
                                          camera_vector, 
                                          light_vector)
         L += amount_reflected * incident_light

这里使用符号 L L 表示光线,与以前的表示相比较,这个表示与单位光测量dE略微不同。 L L <script type="math/tex" id="MathJax-Element-11">L</script>表示辐射率,测量我们能够看到的光的单位。
很容易扩展BRDF的概念(即BTDF)为透射光或者一般的散射光来自表面的任何一边。一般散射的函数称为BSDF(bidirection scattering distribution function),第8张详细介绍。更复杂的函数模型是BSSRDF(bidirectional subsurface scattering reflectance distribution function),该函数模拟光出射点与入射点不同的情况,BSSRDF在5.6.2,11.4及15.5中详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值