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 的結果:

請輸入圖片描述

相關文章
相關標籤/搜索