欢迎光临散文网 会员登陆 & 注册

图形学学习笔记(四) KajiyaKay光照模型

2023-03-11 12:41 作者:Tokitama  | 我要投稿

纹理元素

    纹理元素的诞生是在于粒子光照模型与表面照明模型中诞生的,尽管在体积密度内分布照明模型而不是球形粒子的想法是正确的想法,但是我们已经发现不能简单地用表面照明模型替换粒子照明模型。表面散射的物理学与粒子散射的物理学如此不同,以至于必须推导出控制渲染过程的新方程。

    纹理元素用于模拟包含曲面而非球形粒子的体积单元。因此,纹素的第一分量是标量密度p,其不表示相对体积,而是对包含在体积单元内的微表面的相对投影面积的近似。纹素的第二个组成部分是帧B的场,即体积单元内微表面的局部方向。第三个组件是一个光照模型场,它决定了光线如何从这一点表面散射。

  • %5Crho%20(x%2Cy%2Cz),标量密度%5Crho%20测量体积单元的投影单位面积中有多少被微表面覆盖

  • B%3D%5Bn(x%2Cy%2Cz)%2Ct(x%2Cy%2Cz)%2Cb(x%2Cy%2Cz)%5D,n,t,b三个字母分别称为法向域,切向域和副法向域

  • %5CPsi%20(x%2Cy%2Cz%2C%5Ctheta%20%2C%5Cphi%20%2C%5Cpsi%20)为双向反射函数

要深入了解为何我们不能采用体积密度方法来模拟微表面的光照,采用如下两个公式来计算体积密度中的透明度与亮度

  • 透明度:T%3De%5E%7B-%CE%A0%7D%5Cint%20_%7Btnear%7D%5E%7Btfar%7D%20%5Crho%20(x(s)%2Cy(s)%2Cz(s))ds

  • 亮度:B%3D%5Cint_%7Btnear%7D%5E%7Btfar%7De%20%5E%7B-%CE%A0%5Cint_%7Btnear%7D%5E%7Bt%7D%5Crho%20(x(u)%2Cy(u)%2Cz(u)du)%7D%0A%C3%97%5B%5Csum_%7Bi%7DI_%7Bi%7D(x(t)%2Cy(t)%2Cz(t))p(cos%5Ctheta%20)%5D%C3%97%5Crho%20(x(t)%2Cy(t)%2Cz(t))dt

对于透明度计算来说,即使积分中的密度被设置的很高,指数中的密度线积分也会小到零,这是因为该曲面是无限薄的,所以线积分只会在一个点上穿过曲面。对于亮度计算来说,亮度被积函数产生一个有限值,它对沿着射线的积分的贡献为零,因为它只对一个点是非零的。因此用整数形式和的方式进行改进。

光照模型

  • 漫反射

    %5Cpsi%20_%7Bdiffuse%7D%3DK_%7Bd%7Dl%C2%B7l'%3DK_%7Bd%7Dl%C2%B7%5Cfrac%7Bl-(l%C2%B7t)t%7D%7B%7C%7Cl-(l%C2%B7t)t%7C%7C%7D%3DK_%7Bd%7D%5Cfrac%7B1-(t%C2%B7l)%5E2%7D%7B%5Csqrt%7B1-(t%C2%B7l)%5E2%7D%20%7D%20%3DK_d%5Csqrt%7B1-(l%C2%B7t)%5E2%7D

  • 由图可知,t为切线基向量,l'为法线基向量,b为副法线,l为入射光,e为反射光。

  • 镜面反射


%5CPsi%20_%7Bspecular%7D%3Dk_%7Bs%7Dcos%5Ep(%5Ctheta-%5Ctheta')%3Dk_%7Bs%7D(cos%7B%5Ctheta%7Dcos%7B%5Ctheta'%7D%2Bsin%7B%5Ctheta%7Dsin%7B%5Ctheta'%7D)%5Ep%3D%0Ak_%7Bs%7D(t%C2%B7l%C3%97t%C2%B7e%2Bsin(t%2Cl)sin(t%2Ce))%5Ep

由图可知,l为入射光向量,e'为反射光形成的圆锥中里离e最近的向量,e为视线方向向量,t为切线向量。

具体实现

无法线偏移
使用法线偏移


图形学学习笔记(四) KajiyaKay光照模型的评论 (共 条)

分享到微博请遵守国家法律