學(xué)習(xí)筆記:pbrt中的實時全局光照III

在實時全局光照的預(yù)處理階段完成后竖瘾,場景中的全部虛擬光源都已生成并存儲,接下來就可以按實時全局光照的算法對場景進行渲染了。它總體的實現(xiàn)思路與直接光照模型相同卿嘲,都是在僅考慮光源(這里包括虛擬光源)直接照射的結(jié)果的基礎(chǔ)上,針對表面一個點的某一個出射方向夫壁,計算它的出射輻亮度拾枣。

實時全局光照算法在使用虛擬光源進行出射輻亮度的計算前,首先完成了兩部分常規(guī)的輻亮度的計算盒让。第一部分是該點的自發(fā)光梅肤,換言之該點本身為區(qū)域光源時所產(chǎn)生的出射輻亮度。第二部分是場景中光源(不包括虛擬光源)發(fā)出的光線在該點作用后產(chǎn)生的出射輻亮度邑茄。此處按直接光照模中型對全部光源進行采樣的方式進行計算姨蝴,此處不再展開。

完成前兩部分的計算后撩扒,針對場景中的虛擬光源在該點作用產(chǎn)生的出射輻亮度進行計算似扔。該計算利用了之前提到的光源集合的概念,即僅針對某一個光源集合中的全部虛擬光源進行計算搓谆,全部虛擬光源作用結(jié)果之和將作為最終輸出炒辉。光源集合由隨機方式進行確定。這是pbrt在實現(xiàn)實時全局光照時給出的方式泉手,實際上書中也提到過針對光源集合還存在更為多樣的利用方式黔寇,比如使用全部光源集合進行采樣計算。

計算每個虛擬光源產(chǎn)生的作用效果時斩萌,其基本過程只需計算確定出射和入射光線方向后的bsdf值缝裤、光線傳輸方程中的幾何項G以及光源的輻亮度的乘積再除以光源集合中的虛擬光源的數(shù)量,然后再乘以介質(zhì)衰減特性對應(yīng)的系數(shù)即可颊郎。個人理解憋飞,在常規(guī)的直接光照模型算法中,產(chǎn)生一個點的出射輻射度時姆吭,計算的是每根入射光線的輻亮度除以其采樣概率的和榛做。此處通過循環(huán)會計算每個虛擬光源對該點產(chǎn)生的光線的作用效果之和,因而也需要除以概率密度内狸,而此時的概率密度就是光源數(shù)目的倒數(shù)检眯。完成這一基本過程后,還需要針對虛擬光源的特殊性進行特殊處理昆淡。這里的特殊性主要是虛擬光源在場景中分布較廣锰瘸,會有較大概率出現(xiàn)一些光源和反射點距離很近的情況。由于在要計算的幾何項G中昂灵,光源和反射點的距離的平方存在于分母上避凝,因而就會出現(xiàn)一些幾何項很大的情況舞萄,進而導(dǎo)致局部過亮的情況出現(xiàn)。該問題的解決方案是針對幾何項進行限幅處理恕曲。后續(xù)再對限幅后產(chǎn)生的偏差進行補償鹏氧。第二項特殊處理是按俄羅斯輪盤賭的方式,按一定概率舍棄產(chǎn)生的輻亮度比較弱的光線佩谣,書中使用的概率是90%,即反射光線的輻亮度小于某確定閾值后按90%的概率舍棄該光線实蓬。完成上述兩項特殊處理并驗證反射光線不被遮擋后茸俭,將其輻亮度累加到最終輸出中。另外安皱,當(dāng)虛擬光源在生成時所在路徑加1小于一個最大鏡面反射深度時调鬓,還計算該光線產(chǎn)生的鏡面反射和投射效果。

下面具體介紹一下第一項特殊處理的原理和補償方式酌伊。首先針對幾何項G進行一種等價變換腾窝,變換后幾何項可以表示為某兩個數(shù)的最小值后另外兩個數(shù)的最大值之和,前者的兩個數(shù)分別為幾何項和幾何項的閾值居砖,后者為幾何項與幾何項的閾值之差和0虹脯。在原計算式中僅考慮前者,即為補償前的結(jié)果所對應(yīng)的表達式奏候。將后者代入原計算式中循集,將表達式中的關(guān)于面元的積分變量變?yōu)殛P(guān)于立體角的積分變量,并在分母中引入幾何項G后蔗草,可以得到一個不會受光源和反射點距離近的影響的積分表達式咒彤。針對這個表達式進行采樣,就可以計算相應(yīng)的補償項咒精。在計算補償項時镶柱,需要注意幾點。第一模叙,僅在虛擬光源在生成時所在路徑長度小于一個最大鏡面反射深度的值時歇拆,按上述方式補償。第二向楼,對于虛擬光源在生成時所在路徑為1時查吊,補償量進行多次采樣,超過1時湖蜕,補償量進行一次采樣逻卖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市昭抒,隨后出現(xiàn)的幾起案子评也,更是在濱河造成了極大的恐慌炼杖,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盗迟,死亡現(xiàn)場離奇詭異坤邪,居然都是意外死亡,警方通過查閱死者的電腦和手機罚缕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門艇纺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人邮弹,你說我怎么就攤上這事黔衡。” “怎么了腌乡?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵盟劫,是天一觀的道長。 經(jīng)常有香客問我与纽,道長侣签,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任急迂,我火速辦了婚禮影所,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袋毙。我一直安慰自己型檀,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布听盖。 她就那樣靜靜地躺著胀溺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皆看。 梳的紋絲不亂的頭發(fā)上仓坞,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天,我揣著相機與錄音腰吟,去河邊找鬼无埃。 笑死,一個胖子當(dāng)著我的面吹牛毛雇,可吹牛的內(nèi)容都是我干的嫉称。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼灵疮,長吁一口氣:“原來是場噩夢啊……” “哼织阅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起震捣,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤荔棉,失蹤者是張志新(化名)和其女友劉穎闹炉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體润樱,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡渣触,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了壹若。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗅钻。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖舌稀,靈堂內(nèi)的尸體忽然破棺而出啊犬,到底是詐尸還是另有隱情,我是刑警寧澤壁查,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站剔应,受9級特大地震影響睡腿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜峻贮,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一席怪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纤控,春花似錦挂捻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至耿导,卻和暖如春声怔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舱呻。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工醋火, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人箱吕。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓芥驳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親茬高。 傳聞我的和親對象是個殘疾皇子兆旬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,747評論 2 361