Blinn-phong model importance sampling

本文仅讨论 Blinn-phong BRDF model 的高光specular部分,其BRDF 表达式为:segmentfault

请输入图片描述

H 是半角向量:spa

请输入图片描述

普通的monte carlo 方法在对BRDF 进行采样的时候是对出射光方向采样(好比phong模型),可是这里对光照结果产生影响的是半角向量,所以咱们对半角向量H采样,而后再反推出出射光的方向。图片

山寨一张GPU gem 的图:ci

请输入图片描述

咱们用θ ø 表示在 以N轴为Z轴的空间里H 向量的方向(球坐标), 这样只要θ按照余弦n次方的分布采样就能作到和BRDF一致实现重要性采样了;具体:class

请输入图片描述

这样采样以后半角的分布就是:pdf

请输入图片描述

β 就是半角和法向量的夹角。model

以后转换为x y z 坐标:方法

请输入图片描述

而后就是采样出来的H向量了,须要注意的是这里咱们生产的分布是H向量的,在实际计算辐射积分的时候是关于入射向量的,因此须要作一个分布的转换(参考PBRT章节13.5)im

请输入图片描述

这样咱们能够得出 最终采样的pdf表达式为:img

请输入图片描述

蒙特卡洛的估计量(BRDF / PDF) 能够简化成:

请输入图片描述

放一张path tracing 的结果:

请输入图片描述

相关文章
相关标签/搜索