18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

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

穎脈Imgtec ? 2024-10-30 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文翻譯自Scratchapixel 3.0[1],是一個(gè)關(guān)于計(jì)算機(jī)圖形學(xué)的系統(tǒng)性的學(xué)習(xí)教程。如果有誤,歡迎在評(píng)論區(qū)討論。

我們已經(jīng)涵蓋了所有需要說(shuō)的內(nèi)容!我們現(xiàn)在準(zhǔn)備寫我們的第一個(gè)光線追蹤器。你現(xiàn)在應(yīng)該能夠猜到光線追蹤算法是如何工作的了。

首先,注意到自然界中光的傳播只是從光源發(fā)出無(wú)數(shù)條射線,反彈直到它們撞到我們眼睛的表面。因此,光線追蹤是優(yōu)雅的,因?yàn)樗苯踊谖覀冎車l(fā)生的事情。除了它按照相反的順序跟隨光線的路徑外,它是一個(gè)完美的自然模擬器。光線追蹤算法使用由像素組成的圖像。對(duì)于圖片中的每個(gè)像素,它向場(chǎng)景中發(fā)射一個(gè)主射線。該主射線的方向是通過(guò)從眼睛到該像素中心的線追蹤得到的。一旦我們?cè)O(shè)置了該主射線的方向,我們檢查場(chǎng)景中的每個(gè)對(duì)象,看它們是否與任何對(duì)象相交。在某些情況下,主射線將與多個(gè)對(duì)象相交。當(dāng)這種情況發(fā)生時(shí),我們選擇離眼睛最近的交點(diǎn)所在的對(duì)象。然后,我們從交點(diǎn)向光源發(fā)射一個(gè)陰影射線(圖 1)。

d996eb9c-9652-11ef-8084-92fbcf53809c.gif

圖1:我們通過(guò)像素中心發(fā)射一個(gè)主射線來(lái)檢查可能的對(duì)象相交。當(dāng)我們找到一個(gè)對(duì)象時(shí),我們發(fā)射一個(gè)陰影射線來(lái)確定該點(diǎn)是否被照亮或在陰影中。

如果這條射線在到達(dá)光源的路上沒(méi)有與其他對(duì)象相交,那么擊中點(diǎn)就被照亮了。如果它與另一個(gè)對(duì)象相交,那個(gè)對(duì)象就會(huì)對(duì)它產(chǎn)生陰影(圖 2)。

d9a78a42-9652-11ef-8084-92fbcf53809c.gif

圖2:小球在大球上投下了陰影。陰影射線在到達(dá)光源之前與小球相交。

如果我們對(duì)每個(gè)像素重復(fù)這個(gè)操作,我們就可以得到我們?nèi)S場(chǎng)景的二維表示(圖 3)。

d9c00680-9652-11ef-8084-92fbcf53809c.gif

圖3:為了渲染一個(gè)幀,我們?yōu)槊總€(gè)幀緩沖區(qū)的像素發(fā)射一個(gè)主射線。

以下是算法的偽代碼實(shí)現(xiàn):

for (int j = 0; j < imageHeight; ++j) { for (int i = 0; i < imageWidth; ++i) { // compute primary ray direction Ray primRay; computePrimRay(i, j, &primRay); // shoot prim ray in the scene and search for the intersection Point pHit; Normal nHit; float minDist = INFINITY; Object object = NULL; for (int k = 0; k < objects.size(); ++k) { if (Intersect(objects[k], primRay, &pHit, &nHit)) { float distance = Distance(eyePosition, pHit); if (distance < minDistance) { object = objects[k]; minDistance = distance; //update min distance } } } if (object != NULL) { // compute illumination Ray shadowRay; shadowRay.direction = lightPosition - pHit; bool isShadow = false; for (int k = 0; k < objects.size(); ++k) { if (Intersect(objects[k], shadowRay)) { isInShadow = true; break; } } } if (!isInShadow) pixels[i][j] = object->color * light.brightness; else pixels[i][j] = 0; }}

正如我們所看到的,光線追蹤的美妙之處在于它只需要幾行代碼;一個(gè)基本的光線追蹤器只需要 200 行代碼。與其他算法(如掃描線渲染器)不同,光線追蹤的實(shí)現(xiàn)需要很少的努力。Arthur Appel 在 1969 年的一篇名為“一些用于給固體著色的機(jī)器渲染技術(shù)”的論文中首次描述了這種技術(shù)。那么,如果這個(gè)算法如此出色,為什么它沒(méi)有取代所有其他渲染算法呢?主要原因在于速度,當(dāng)時(shí)(甚至今天在某種程度上)是這樣的。正如 Appel 在他的論文中所提到的:

“這種方法非常耗時(shí),通常需要比線框圖繪制多幾千倍的計(jì)算時(shí)間才能獲得有益的結(jié)果。其中約有一半時(shí)間用于確定投影和場(chǎng)景之間的點(diǎn)對(duì)點(diǎn)對(duì)應(yīng)關(guān)系?!?/p>

換句話說(shuō),它很慢(正如 Kajiya 所說(shuō)的,他是所有計(jì)算機(jī)圖形學(xué)歷史上最有影響力的研究人員之一:“光線追蹤不慢,計(jì)算機(jī)慢”)。查找光線和幾何圖形之間的交點(diǎn)非常耗時(shí)。幾十年來(lái),算法的速度一直是光線追蹤的主要缺點(diǎn)。然而,隨著計(jì)算機(jī)變得更快,它越來(lái)越不是問(wèn)題。盡管仍有一件事必須說(shuō):與其他技術(shù)(如 z 緩沖算法)相比,光線追蹤仍然要慢得多。然而,隨著今天的快速計(jì)算機(jī),我們可以在幾分鐘內(nèi)計(jì)算出以前需要一個(gè)小時(shí)才能完成的幀。實(shí)時(shí)和交互式光線追蹤器是一個(gè)熱門話題。

總之,重要的是要記住,渲染例程可以被認(rèn)為是兩個(gè)單獨(dú)的過(guò)程。一步確定一個(gè)物體表面上的點(diǎn)是否從特定的像素可見(jiàn)(可見(jiàn)性部分),第二步著色該點(diǎn)(著色部分)。不幸的是,這兩個(gè)步驟都需要昂貴和耗時(shí)的光線-幾何交點(diǎn)測(cè)試。這個(gè)算法是優(yōu)雅而強(qiáng)大的,但是它迫使我們?cè)阡秩緯r(shí)間和精度之間進(jìn)行權(quán)衡。自 Appel 發(fā)表論文以來(lái),已經(jīng)進(jìn)行了大量研究來(lái)加速光線-物體交點(diǎn)例程。隨著計(jì)算機(jī)變得更加強(qiáng)大并結(jié)合這些加速技術(shù),光線追蹤成為了日常生產(chǎn)環(huán)境中可用的方法,并且是大多數(shù)渲染離線軟件所使用的事實(shí)標(biāo)準(zhǔn)。視頻游戲引擎仍在使用光柵化算法。然而,隨著 GPU 加速光線追蹤技術(shù)(2017-2018)和 RTX 技術(shù)的最近出現(xiàn),實(shí)時(shí)光線追蹤也在可及范圍內(nèi)。雖然一些視頻游戲已經(jīng)提供了可以打開光線追蹤的模式,但僅限于簡(jiǎn)單的效果,如清晰的反射和陰影。

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

    關(guān)注

    3

    文章

    769

    瀏覽量

    70852
  • 追蹤器
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

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

    關(guān)注

    0

    文章

    185

    瀏覽量

    22014
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳解ROMA中復(fù)雜圖表的渲染實(shí)現(xiàn)

    一、背景 ROMA承接很多復(fù)雜圖表的渲染需求,在京東金融APP內(nèi),特別是首頁(yè)首屏的圖表,對(duì)圖表渲染的及時(shí)性要求很高。近期業(yè)務(wù)反饋頻繁重啟時(shí),首頁(yè)的黃金走勢(shì)圖偶現(xiàn)渲染不出的問(wèn)題,通過(guò)梳理圖表的
    的頭像 發(fā)表于 10-21 13:57 ?152次閱讀
    詳解ROMA中復(fù)雜圖表的<b class='flag-5'>渲染</b><b class='flag-5'>實(shí)現(xiàn)</b>

    知乎開源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用頁(yè)面“秒開”

    ,交互延遲等核心痛點(diǎn),通過(guò)智能預(yù)測(cè)用戶瀏覽目標(biāo)進(jìn)行提前渲染,只需幾行代碼即可顯著提升復(fù)雜頁(yè)面的加載性能,實(shí)現(xiàn)“頁(yè)面秒開”的高效體驗(yàn),為鴻蒙開發(fā)者帶來(lái)開發(fā)效率和用戶體驗(yàn)的雙重飛躍。 隨著鴻蒙生態(tài)快速發(fā)展,應(yīng)用開發(fā)者難免會(huì)遇到一些性能問(wèn)題
    的頭像 發(fā)表于 08-29 14:32 ?391次閱讀
    知乎開源“智能預(yù)<b class='flag-5'>渲染</b>框架” 幾行代碼<b class='flag-5'>實(shí)現(xiàn)</b>鴻蒙應(yīng)用頁(yè)面“秒開”

    如何使用樹莓派與OpenCV實(shí)現(xiàn)面部和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)?

    大家好,這是一個(gè)樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)和面部特征點(diǎn)追蹤使用樹莓派與OpenCV實(shí)現(xiàn)面部和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)使用樹莓派和OpenCV
    的頭像 發(fā)表于 08-14 17:45 ?734次閱讀
    如何使用樹莓派與OpenCV<b class='flag-5'>實(shí)現(xiàn)</b>面部和運(yùn)動(dòng)<b class='flag-5'>追蹤</b>的云臺(tái)系統(tǒng)?

    光線跳線怎么用

    光線跳線(光纖跳線)是用于連接光纖設(shè)備(如交換機(jī)、路由器、光模塊、光纖收發(fā)器等)或實(shí)現(xiàn)光信號(hào)靈活分配的關(guān)鍵組件,其使用方法需結(jié)合具體場(chǎng)景和設(shè)備類型。以下是詳細(xì)的使用指南: 一、光線跳線的基本組
    的頭像 發(fā)表于 07-18 09:40 ?474次閱讀

    通道渲染:釋放渲染的全部潛能!通道渲染的作用、類型、技巧

    在3D圖形創(chuàng)作中,渲染通道(RenderPasses)是一項(xiàng)至關(guān)重要的技術(shù),它通過(guò)將復(fù)雜的渲染圖像拆分為多個(gè)圖層,如陰影、光照、法線等,使藝術(shù)家能夠在后期制作中更精準(zhǔn)地控制和調(diào)整畫面。我們常常驚嘆于
    的頭像 發(fā)表于 07-15 14:22 ?325次閱讀
    通道<b class='flag-5'>渲染</b>:釋放<b class='flag-5'>渲染</b>的全部潛能!通道<b class='flag-5'>渲染</b>的作用、類型、技巧

    CPU渲染、GPU渲染、XPU渲染詳細(xì)對(duì)比:哪個(gè)渲染最快,哪個(gè)效果最好?

    動(dòng)畫渲染動(dòng)畫3D渲染技術(shù)需要應(yīng)對(duì)復(fù)雜的計(jì)算任務(wù)和精細(xì)的圖像處理,作為渲染技術(shù)人員,選擇合適的渲染模式,會(huì)直接影響制作效率和成品質(zhì)量。在主流的渲染
    的頭像 發(fā)表于 04-15 09:28 ?999次閱讀
    CPU<b class='flag-5'>渲染</b>、GPU<b class='flag-5'>渲染</b>、XPU<b class='flag-5'>渲染</b>詳細(xì)對(duì)比:哪個(gè)<b class='flag-5'>渲染</b>最快,哪個(gè)效果最好?

    2D圖形渲染緩慢怎么加快?

    我有一個(gè)圖形應(yīng)用程序,它似乎渲染屏幕的速度很慢。按下屏幕后,通常需要相當(dāng)長(zhǎng)的時(shí)間來(lái)更新,大約 50 或 100 毫秒。 在應(yīng)用程序啟動(dòng)時(shí),我看到一條錯(cuò)誤消息“GDK 無(wú)法創(chuàng)建 GL 上下文,回退
    發(fā)表于 04-02 06:46

    光線追蹤及降噪技術(shù)綜述

    過(guò)程傳遞3D場(chǎng)景的結(jié)果。渲染主要包括光柵化(rasterization)[5]和光線追蹤[6]兩種方式。光柵化渲染采用局部光照原理,根據(jù)光源照射到物體上直接可見(jiàn)的
    的頭像 發(fā)表于 04-01 11:31 ?682次閱讀
    <b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>及降噪技術(shù)綜述

    PID控制算法的C語(yǔ)言實(shí)現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研
    發(fā)表于 02-26 15:24

    GPU渲染才是大勢(shì)所趨?CPU渲染與GPU渲染的現(xiàn)狀與未來(lái)

    在3D建模和渲染領(lǐng)域,隨著技術(shù)的發(fā)展,CPU渲染和GPU渲染這兩種方法逐漸呈現(xiàn)出各自獨(dú)特的優(yōu)勢(shì),并且在不同的應(yīng)用場(chǎng)景中各有側(cè)重。盡管當(dāng)前我們處在一個(gè)CPU渲染和GPU
    的頭像 發(fā)表于 02-06 11:04 ?1065次閱讀
    GPU<b class='flag-5'>渲染</b>才是大勢(shì)所趨?CPU<b class='flag-5'>渲染</b>與GPU<b class='flag-5'>渲染</b>的現(xiàn)狀與未來(lái)

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+內(nèi)容簡(jiǎn)介

    內(nèi)容簡(jiǎn)介這是一本深入解讀基礎(chǔ)算法及其電路設(shè)計(jì),以打通算法研發(fā)到數(shù)字IC設(shè)計(jì)的實(shí)現(xiàn)屏障,以及指導(dǎo)芯片設(shè)計(jì)工程師從底層掌握復(fù)雜電路設(shè)計(jì)與優(yōu)化方法為目標(biāo)的專業(yè)技術(shù)書。任何芯片(如WiFi芯片、5G芯片
    發(fā)表于 11-21 17:14

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+介紹基礎(chǔ)硬件算法模塊

    作為嵌入式開發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書介紹了除法器,信號(hào)發(fā)生器,濾波器,分頻器等基本算法的電路實(shí)現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢(shì)的出現(xiàn),過(guò)去的研發(fā)
    發(fā)表于 11-21 17:05

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+一本介紹基礎(chǔ)硬件算法模塊實(shí)現(xiàn)的好書

    作為嵌入式開發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書介紹了除法器,信號(hào)發(fā)生器,濾波器,分頻器等基本算法的電路實(shí)現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊,本書的內(nèi)容比較對(duì)本人胃口。 我們先來(lái)
    發(fā)表于 11-20 13:42

    GPU在虛擬現(xiàn)實(shí)中的表現(xiàn) 低功耗GPU的優(yōu)缺點(diǎn)

    數(shù)據(jù),以實(shí)現(xiàn)沉浸式的體驗(yàn)。以下是GPU在虛擬現(xiàn)實(shí)中的幾個(gè)關(guān)鍵表現(xiàn): 圖像渲染能力 :GPU需要快速渲染復(fù)雜的三維場(chǎng)景,以保持高幀率,這對(duì)于減少運(yùn)動(dòng)模糊和暈動(dòng)癥至關(guān)重要。 實(shí)時(shí)光線
    的頭像 發(fā)表于 11-19 10:58 ?1441次閱讀

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

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