--------------------------------------------------------------------------------
对于Monte Carlo Ray Tracing不是很了解,理解可能有些偏差和错误.
传统的光线跟踪算法不能计算diffuse->diffuse之间的光线传递,也就是没有diffuse-diffuse之间的color bleeding.另外一种全局光照技术辐射度可以完成diffuse之间的光能传递,但是没有办法实现镜面反射和折射.现在有两种技术能比较好的结合上面的那种方法的优点,那就是photon map和Monte Carlo Ray Tracing.
Monte Carlo Ray Tracing故名思意就是在光线碰到面时候反射的时候使用Monte Carlo积分的方法计算真实光照效果.这里有一个比较需要注意的地方就是采样的分布,我们知道我们不可能完全模拟,所以说符合分布的采样就能在较少的采样情况下表现出较好的图像质量.我们知道反射需要遵循BRDF,也就是说使用BRDF pdf是我们的采样的概率分布函数.我们通过一些技术能将按照[0,1]X[0,1]的均匀分布的采样,转换到半球上,符合BRDF pdf.
一般我们的处理过程是:
我们从eye射出一条光线,和场景作碰撞检测,如果有碰撞,如果是光源,返回,如果深度大于阀值,返回,否则根据碰撞面的BRDF pdf,我们产生采样点,根据Monte Carlo积分法求出光照信息(产生的光线递归)
对于最终的图像质量我们一般采用prefliter来改善,使用分层的非均匀采样,对于每个象素点,然后在结合.
欢迎大家拍砖
不知道有没有同样对这个技术感兴趣的朋友,大家可以交流交流
我的MSN:sevecol@sina.com