GAMES101 蒙特卡洛光线追踪

前言

本篇博客作为Games101关于Ray Tracing部分的复习总结。

蒙特卡洛积分

在此之前先复习一下概率密度函数(PDF, Probability Density Functions),可以理解为取某一随机变量x的概率是多少的函数 p ( x ) p(x) p(x)

image-20220723181332180

PDF具有如下特点

  • $ p(x) >= 0 \ and \int{p(x)}=1$
  • E [ X ] = ∫ x p ( x ) d x E[X]=\int{xp(x)}dx E[X]=xp(x)dx

对于复杂函数 f ( x ) f(x) f(x)求定积分,用牛顿莱布尼茨公式十分困难,这时候需要用到另一种积分方法,也就是下面的蒙特卡洛积分(Monte Carlo Integration)
∫ f ( x ) d x = 1 N ∑ i = 1 N f ( X i ) p ( X i )         X i ∼ p ( x ) \int{f(x)}dx = \frac{1}{N}\sum_{i=1}^{N}{\frac{f(X_i)}{p(X_i)}}\ \ \ \ \ \ \ X_i \sim p(x) f(x)dx=N1i=1Np(Xi)f(Xi)       Xip(x)

这里的做法可以理解为按 p ( x ) p(x) p(x)的概率取随机变量 X i X_i Xi,在图形学里也就是随机采样函数值再累加做平均。

一些需要注意的地方:

  • 采样点N越多,方差越小
  • 在x上采样,也是在x上求积分

路径追踪

路径追踪(Path Tracing)根据渲染方程实现全局光照,或者说基于物理的渲染。个人理解叫追踪的原因是因为光线本来是打到物体上再多次弹射到人眼所以人才能看见东西,追踪就是逆着这个路径,从眼睛“射出”光线,“所见即所得”。

Whitted-Style光线追踪的局限性

Whitted-style ray tracing是一种理想化模型,存在一些问题,光线只有反射或折射,在漫反射材质停止弹射,没有漫反射,因此Whitted-style ray tracing渲染出来的效果只有光源和直接光照,如下图左侧所示。我们理应看到的效果是下图右侧这种,就像是照片拍出来的一样,需要实现这样真实的效果就需要用到路径追踪。

image-20220723180412833

渲染方程

根据辐射度量学,我们一通操作最终求得渲染方程,即在物理意义上得出的正确的能够描述我们现实生活所见的方程。
L o ( p , ω o ) = L e ( p , ω o ) + ∫ Ω L i ( p , ω i ) f r ( p , ω i , ω o ) , ( n ⋅ ω i ) d ω i L_o(p,\omega_o)=L_e(p,\omega_o)+\int_{\Omega}L_i(p,\omega_i)f_r(p,\omega_i,\omega_o),(n\cdot\omega_i)d\omega_i Lo(p,ωo)=Le(p,ωo)+ΩLi(p,ωi)fr(p,ωi,ωo),(nωi)dωi

某着色点到相机的radiance由其本身发光产生的部分,和从所有立体角接受到的radiance并反射到相机这个一定角度的部分组成。

为了方便计算和统一,这里将着色点本身产生的 L e ( p , ω o ) L_e(p

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值