0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何基于光線追蹤來設(shè)計渲染出景深效果的實現(xiàn)?

Dbwd_Imgtec ? 來源:未知 ? 作者:易水寒 ? 2018-08-04 11:31 ? 次閱讀

圖形學(xué)離線渲染中常用的透視攝像機(jī)模型時根據(jù)小孔成像的原理建立的,其實現(xiàn)通常是從eye向成像平面上發(fā)射ray,并把trace這條ray的結(jié)果作為成像平面上對應(yīng)交點的采樣結(jié)果。即:

圖片來自《Fundamentals of Computer Graphics》

現(xiàn)實中的鏡頭拍攝的圖像有景深(Depth of field)的效果,譬如:

圖片來自網(wǎng)絡(luò)

顯然,上圖中的耳機(jī)被放在攝像機(jī)的焦平面附近,成像很清晰;背景中的景物則離焦平面較遠(yuǎn),呈現(xiàn)出模糊的效果。對離線渲染而言,這一效果有利于加強(qiáng)渲染結(jié)果的真實性和層次感。但之前提到的攝像機(jī)模型過于簡單,要得到景深,需要更精確的攝像機(jī)模型。

圖片來自網(wǎng)絡(luò)

上圖是網(wǎng)絡(luò)上給出的關(guān)于景深的一張示意圖,看起來復(fù)雜駭人。但稍微分析就能知道,使得不在焦平面上的景物顯得模糊的最根本原因恰恰是焦平面的概念本身,如下圖——

圖片來自網(wǎng)絡(luò)

可以看到,假如在原來的透視攝像機(jī)模型中加入一個凸透鏡,那么成像過程將不再是“一根”光線穿過小孔到達(dá)成像平面上的一點,而是許多光線透過凸透鏡匯聚到成像平面上的一點。

物體恰好在焦平面上的情形

顯然,假如有一物體正好在焦平面上,那么從上面某一點發(fā)射的光線通過凸透鏡在成像平面上也會匯聚于一點,于是就得到了清晰的圖像。但是,當(dāng)物體不在焦平面上時,匯聚到成像平面上某一點的光線將不再全部來自于物體上的一點,而是來自于物體上的一小片區(qū)域,這就形成了模糊的效果,也就是最終看到的景深。

物體不在焦平面上的情形

有了這一模型,要設(shè)計渲染出景深效果的算法就很容易了。以往從透視攝像機(jī)發(fā)射ray的方法是:

對成像平面上的一點P,發(fā)射射線 P + t(p - e),其中t >=0,e 是eye點位置。

新的方法則是:

對成像平面上的一點 P,求出射線P + t(o - p)與焦平面的交點x,然后在凸透鏡上隨機(jī)采樣(把凸透鏡看做有一定半徑的圓盤)。對每一個采樣點p',發(fā)射射線 p' + t(x - p')。

新方法實質(zhì)是在凸透鏡所在的disk上對到達(dá)成像平面上特定點的能量用蒙特卡洛的方法進(jìn)行了估值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 攝像機(jī)
    +關(guān)注

    關(guān)注

    3

    文章

    1575

    瀏覽量

    59896
  • 光線追蹤
    +關(guān)注

    關(guān)注

    0

    文章

    183

    瀏覽量

    21458

原文標(biāo)題:基于光線追蹤的渲染中景深(Depth of field)效果的實現(xiàn)

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    遞歸性質(zhì)和大數(shù)目追蹤光線解決方案

    算法的遞歸性質(zhì)和大數(shù)目的追蹤光線渲染過程可能持續(xù)數(shù)小時。80-90%的渲染時間花費在計算光線和物體交點上。
    的頭像 發(fā)表于 04-13 09:10 ?6018次閱讀
    遞歸性質(zhì)和大數(shù)目<b class='flag-5'>追蹤</b><b class='flag-5'>光線</b>解決方案

    光線追蹤技術(shù)的作用

    ,雖然可以實現(xiàn)很美觀的效果,但其始終受限于一個事實,即這些技術(shù)僅僅是在模擬光照。光線追蹤技術(shù)則是模擬光照在真實世界中如何表現(xiàn),以創(chuàng)建更精確、更程序化的反射、透明、發(fā)光和材質(zhì)圖像。在現(xiàn)實
    發(fā)表于 11-02 08:21

    光線追蹤如何實現(xiàn)實時三維圖形?

    什么是光線追蹤?光線追蹤如何實現(xiàn)實時三維圖形?
    發(fā)表于 02-26 07:03

    什么是光線追蹤?

    什么是光線追蹤?
    發(fā)表于 05-28 06:38

    怎樣實現(xiàn)光線追蹤

    怎樣實現(xiàn)光線追蹤?怎么使光線追蹤生效?
    發(fā)表于 05-31 06:51

    五步實現(xiàn)向OpenGL ES延遲光照系統(tǒng)添加光線追蹤

    來看像是一個復(fù)雜的離線處理過程,但是受益于可見的周圍物體,光線追蹤正成為一個越來越可行的選擇。 談到我們的PowerVR 光線追蹤硬件平臺,基于分布的延遲
    發(fā)表于 02-09 14:40 ?693次閱讀
     五步<b class='flag-5'>實現(xiàn)</b>向OpenGL ES延遲光照系統(tǒng)添加<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>

    【驚呆!】光線追蹤效果竟然這么震撼!

    路徑的模型”。一旦實現(xiàn)就將徹底顛覆現(xiàn)在的光柵化渲染技術(shù),它幾乎完美還原一個真實的世界,幫發(fā)燒友成就真正電影化的游戲圖形應(yīng)用。Intel、NVIDIA、AMD等行業(yè)公司都在其中投入了巨大的精力。但是使用光線
    發(fā)表于 02-10 07:14 ?351次閱讀

    實時光線的混合渲染光線追蹤VS光柵化

    在上一篇文章中,我們闡述了PowerVR光線追蹤API的基本知識,包括場景生成和光線處理。在本文中,我們將展示如何有效地使用這些光線呈現(xiàn)不
    發(fā)表于 02-23 11:34 ?2126次閱讀

    光線投射,光線追蹤與路徑追蹤的概念與區(qū)別

    光線追蹤(Ray tracing)是三維計算機(jī)圖形學(xué)中的特殊渲染算法,跟蹤從眼睛發(fā)出的光線而不是光源發(fā)出的光線,通過這樣一項技術(shù)生成編排好的
    的頭像 發(fā)表于 04-19 14:59 ?1.1w次閱讀
    <b class='flag-5'>光線</b>投射,<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>與路徑<b class='flag-5'>追蹤</b>的概念與區(qū)別

    Epic游戲展示了逼真的光線追蹤演示來到虛幻的引擎

    這個星球大戰(zhàn)場景展示了Epic Games對Nvidia新RTX功能的實現(xiàn)。射線追蹤是一個渲染過程,通過一個圖像映射光線創(chuàng)建真實的陰影、反
    的頭像 發(fā)表于 03-16 15:53 ?2733次閱讀

    洞悉光線追蹤加速技術(shù)在圖形處理行業(yè)中的未來

    光線追蹤是一種渲染技術(shù),可以精確地追蹤場景中光線的路徑,相比傳統(tǒng)的光柵化技術(shù),它可以渲染
    的頭像 發(fā)表于 10-21 11:09 ?1801次閱讀

    移動端的光線追蹤是如何實現(xiàn)

    對于光線追蹤(ray tracing)這一概念,電腦游戲玩家肯定是不陌生的。光線追蹤給游戲畫面展示帶來了更為細(xì)膩的光照表現(xiàn)和寫實的光影效果
    的頭像 發(fā)表于 11-11 09:34 ?2019次閱讀

    SIGGRAPH 2023 | 通過 NVIDIA OptiX 8 實現(xiàn)靈活且強(qiáng)大的光線追蹤功能

    實現(xiàn)逼真的視覺效果一直是計算機(jī)圖形領(lǐng)域人士所追求的目標(biāo)。 NVIDIA OptiX 是一款強(qiáng)大且靈活的光線追蹤技術(shù)框架,能讓用戶充分挖掘光線
    的頭像 發(fā)表于 08-14 17:25 ?572次閱讀
    SIGGRAPH 2023 | 通過 NVIDIA OptiX 8 <b class='flag-5'>實現(xiàn)</b>靈活且強(qiáng)大的<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>功能

    基于光線追蹤渲染算法實現(xiàn)

    我們已經(jīng)涵蓋了所有需要說的內(nèi)容!我們現(xiàn)在準(zhǔn)備寫我們的第一個光線追蹤器。你現(xiàn)在應(yīng)該能夠猜到光線追蹤算法是如何工作的了。首先,注意到自然界中光的傳播只是從光源發(fā)出無數(shù)條射線,反彈直到它們撞
    的頭像 發(fā)表于 10-30 08:06 ?188次閱讀
    基于<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>的<b class='flag-5'>渲染</b>算法<b class='flag-5'>實現(xiàn)</b>

    基于光線追蹤實現(xiàn)反射折射效果

    本文翻譯自Scratchapixel3.0[1],是一個關(guān)于計算機(jī)圖形學(xué)的系統(tǒng)性的學(xué)習(xí)教程。如果有誤,歡迎在評論區(qū)討論。光線追蹤的另一個優(yōu)點是,通過擴(kuò)展光線傳播的思想,我們可以非常容易地「模擬反射
    的頭像 發(fā)表于 11-09 01:07 ?32次閱讀
    基于<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b><b class='flag-5'>實現(xiàn)</b>反射折射<b class='flag-5'>效果</b>