圖形學(xué)離線(xiàn)渲染中常用的透視攝像機(jī)模型時(shí)根據(jù)小孔成像的原理建立的,其實(shí)現(xiàn)通常是從eye向成像平面上發(fā)射ray,并把trace這條ray的結(jié)果作為成像平面上對(duì)應(yīng)交點(diǎn)的采樣結(jié)果。即:
圖片來(lái)自《Fundamentals of Computer Graphics》
現(xiàn)實(shí)中的鏡頭拍攝的圖像有景深(Depth of field)的效果,譬如:
圖片來(lái)自網(wǎng)絡(luò)
顯然,上圖中的耳機(jī)被放在攝像機(jī)的焦平面附近,成像很清晰;背景中的景物則離焦平面較遠(yuǎn),呈現(xiàn)出模糊的效果。對(duì)離線(xiàn)渲染而言,這一效果有利于加強(qiáng)渲染結(jié)果的真實(shí)性和層次感。但之前提到的攝像機(jī)模型過(guò)于簡(jiǎn)單,要得到景深,需要更精確的攝像機(jī)模型。
圖片來(lái)自網(wǎng)絡(luò)
上圖是網(wǎng)絡(luò)上給出的關(guān)于景深的一張示意圖,看起來(lái)復(fù)雜駭人。但稍微分析就能知道,使得不在焦平面上的景物顯得模糊的最根本原因恰恰是焦平面的概念本身,如下圖——
圖片來(lái)自網(wǎng)絡(luò)
可以看到,假如在原來(lái)的透視攝像機(jī)模型中加入一個(gè)凸透鏡,那么成像過(guò)程將不再是“一根”光線(xiàn)穿過(guò)小孔到達(dá)成像平面上的一點(diǎn),而是許多光線(xiàn)透過(guò)凸透鏡匯聚到成像平面上的一點(diǎn)。
物體恰好在焦平面上的情形
顯然,假如有一物體正好在焦平面上,那么從上面某一點(diǎn)發(fā)射的光線(xiàn)通過(guò)凸透鏡在成像平面上也會(huì)匯聚于一點(diǎn),于是就得到了清晰的圖像。但是,當(dāng)物體不在焦平面上時(shí),匯聚到成像平面上某一點(diǎn)的光線(xiàn)將不再全部來(lái)自于物體上的一點(diǎn),而是來(lái)自于物體上的一小片區(qū)域,這就形成了模糊的效果,也就是最終看到的景深。
物體不在焦平面上的情形
有了這一模型,要設(shè)計(jì)渲染出景深效果的算法就很容易了。以往從透視攝像機(jī)發(fā)射ray的方法是:
對(duì)成像平面上的一點(diǎn)P,發(fā)射射線(xiàn) P + t(p - e),其中t >=0,e 是eye點(diǎn)位置。
新的方法則是:
對(duì)成像平面上的一點(diǎn) P,求出射線(xiàn)P + t(o - p)與焦平面的交點(diǎn)x,然后在凸透鏡上隨機(jī)采樣(把凸透鏡看做有一定半徑的圓盤(pán))。對(duì)每一個(gè)采樣點(diǎn)p',發(fā)射射線(xiàn) p' + t(x - p')。
新方法實(shí)質(zhì)是在凸透鏡所在的disk上對(duì)到達(dá)成像平面上特定點(diǎn)的能量用蒙特卡洛的方法進(jìn)行了估值。
-
攝像機(jī)
+關(guān)注
關(guān)注
3文章
1607瀏覽量
60133 -
光線(xiàn)追蹤
+關(guān)注
關(guān)注
0文章
183瀏覽量
21495
原文標(biāo)題:基于光線(xiàn)追蹤的渲染中景深(Depth of field)效果的實(shí)現(xiàn)
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論