freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

建立高動(dòng)態(tài)范圍(hdr)渲染器(已修改)

2025-08-16 16:25 本頁(yè)面
 

【正文】 建立高動(dòng)態(tài)范圍(HDR)渲染器HDR簡(jiǎn)介  這篇教程講解了如何實(shí)現(xiàn)一個(gè)HDR渲染系統(tǒng)。HDR(High Dynamic Range,高動(dòng)態(tài)范圍)是一種圖像后處理技術(shù),是一種表達(dá)超過了顯示器所能表現(xiàn)的亮度范圍的圖像映射技術(shù)。高動(dòng)態(tài)范圍技術(shù)能夠很好地再現(xiàn)現(xiàn)實(shí)生活中豐富的亮度級(jí)別,產(chǎn)生逼真的效果。HDR已成為目前游戲應(yīng)用不可或缺的一部分。通常,顯示器能夠顯示R、G、B分量在[0,255]之間的像素值。而256個(gè)不同的亮度級(jí)別顯然不能表示自然界中光線的亮度情況。比如,太陽(yáng)的亮度可能是一個(gè)白熾燈亮度的幾千倍,是一個(gè)被白熾燈照亮的桌面的亮度的幾十萬倍,這遠(yuǎn)遠(yuǎn)超出了顯示器的亮度表示能力。如何在有限的亮度范圍內(nèi)顯示如此寬廣的亮度范圍,正式HDR技術(shù)所要解決的問題。 將一個(gè)寬廣的亮度范圍映射到紙張或屏幕能表示的亮度范圍類似于照相機(jī)的曝光功能。人眼也有類似的功能。通過照相機(jī)的光圈,可以控制進(jìn)入感光器的光線數(shù)量,感光器得到的明暗程度經(jīng)過一定的處理,就可以得到令人信服的照片。照相機(jī)是一個(gè)典型的從高動(dòng)態(tài)范圍映射到低動(dòng)態(tài)范圍的例子。如果我們能夠在一定程度上模擬照相機(jī)的工作原理,就可以在屏幕上顯示高動(dòng)態(tài)范圍的圖像。對(duì)于人眼或鏡頭,過亮的光線射入時(shí)會(huì)產(chǎn)生光暈效果,這一點(diǎn)也可以通過一些方法模擬。動(dòng)態(tài)曝光控制和光暈效果結(jié)合起來,就構(gòu)成了一個(gè)經(jīng)典的高動(dòng)態(tài)范圍渲染器。一個(gè)運(yùn)行中的HDR渲染器,背景墻由于過亮而產(chǎn)生了光暈這組圖像演示了動(dòng)態(tài)曝光技術(shù),圖為從黑暗的隧道走向明亮的房間的一個(gè)過程,可以看到動(dòng)態(tài)光線適應(yīng)的過程:房間從全白色過渡到正常曝光顏色 下面將結(jié)合OpenGL詳細(xì)地介紹HDR的實(shí)現(xiàn)過程。其他圖形API在方法上是一致的,只是具體的實(shí)現(xiàn)細(xì)節(jié)略有差異?!DR技術(shù)原理  我們已經(jīng)知道,HDR渲染包含兩個(gè)步驟,一是曝光控制,即將高動(dòng)態(tài)范圍的圖像映射到一個(gè)固定的低范圍中,既屏幕能夠顯示的(0,1)的范圍內(nèi)。二是對(duì)于特別亮的部分實(shí)現(xiàn)光暈的效果。其中曝光控制是HDR渲染的核心環(huán)節(jié),光暈效果對(duì)表現(xiàn)高亮的像素起了重要的作用。這里先分別介紹兩個(gè)步驟的原理和方法,再介紹如何實(shí)現(xiàn)一個(gè)完整的HDR渲染器。 在所有步驟開始之前,你必須已經(jīng)通過某種方法得到了一個(gè)高動(dòng)態(tài)范圍的圖像。高動(dòng)態(tài)范圍的圖像每一個(gè)像素都由浮點(diǎn)型的R,G,B分量表示,這樣每個(gè)分量都可以任意大。對(duì)于渲染器而言,這意味著一個(gè)浮點(diǎn)紋理。那么,如何將一個(gè)場(chǎng)景渲染到一個(gè)高動(dòng)態(tài)范圍的浮點(diǎn)紋理中呢?你可以為場(chǎng)景中的每個(gè)表面創(chuàng)建一張浮點(diǎn)格式的光照貼圖,這張光照貼圖的每個(gè)象素代表了表面上相應(yīng)位置的光強(qiáng)。然后使用OpenGL的FBO(幀緩沖對(duì)象)將綁定了浮點(diǎn)光照貼圖的場(chǎng)景渲染到一個(gè)同屏幕大小一致的浮點(diǎn)紋理中。關(guān)于FBO和浮點(diǎn)紋理的使用請(qǐng)參考《OpenGL中的浮點(diǎn)紋理和幀緩沖對(duì)象》 。 好的,先來看看所謂得、的曝光控制。這個(gè)步驟在HDR渲染中被稱為Tone Mapping。翻譯成中文即“調(diào)和映射”。Tone Mapping有很多具體的方法,每個(gè)方法都是一個(gè)從高動(dòng)態(tài)范圍到低范圍的一個(gè)映射,我們把這些方法統(tǒng)稱為 Tone Mapping Operator(TMO),可見,TMO的好壞直接決定了圖像的最終質(zhì)量。例如, 是一個(gè)簡(jiǎn)單的TMO,其中Lfinal是映射后的像素亮度值,L是映射前的像素亮度值,alpha是圖像中的最小亮度值,beta是圖像中的最大亮度值。 又如: (1)  也是一個(gè)簡(jiǎn)單的TMO。這兩個(gè)TMO都可以將高動(dòng)態(tài)的像素值映射到(0,1)上。然而,這些TMO的效果并不令人滿意。人的眼睛往往能適應(yīng)場(chǎng)景中的光的強(qiáng)度,在一個(gè)黑暗的屋子里,你仍然能看見其中的東西,分辨物體的亮度和顏色,當(dāng)你從屋子中突然走向明亮的室外時(shí),會(huì)有刺眼的感覺,但很快眼睛優(yōu)惠適應(yīng)新的環(huán)境,從而能夠看清更亮的場(chǎng)景。為了模擬人眼的這種特性,我們需要計(jì)算當(dāng)前要渲染的高動(dòng)態(tài)范圍圖像的平均亮度,然后根據(jù)平均亮度確定一個(gè)曝光參數(shù),然后使用這個(gè)曝光參數(shù)將圖像正確地映射到屏幕能現(xiàn)實(shí)的顏色區(qū)域內(nèi)。這里介紹DirectX SDK中所介紹的方法。假設(shè)Lumave(稍后介紹)為計(jì)算得到的原始圖像平均亮度,那么對(duì)于原始圖像中的任一像素點(diǎn)Lum(x,y),有下面的映射關(guān)系: 其中,Lscaled為映射后的值,alpha為一個(gè)常數(shù),alpha的大小決定了映射后場(chǎng)景的整體明暗程度,可以根據(jù)需要適當(dāng)調(diào)整,這個(gè)值在以后的實(shí)現(xiàn)中稱為Key值。經(jīng)過這樣的映射后,Lscaled并不一定處在(0,1)的范圍中,我們?cè)俳Y(jié)合(1)式,使最終的像素值處在(0,1)上:  這樣就完成了最終的映射。 現(xiàn)在討論如何計(jì)算原始圖像的平均亮度。平均亮度的計(jì)算由下面的公式給出: 上式中,δ是一個(gè)較小的常數(shù),用于防止求對(duì)數(shù)的計(jì)算結(jié)果趨于負(fù)無窮的情況。這個(gè)式子的意義是,對(duì)于原始圖像每個(gè)像素,計(jì)算出該像素的亮度值Lum(x,y),然后求出該亮度值的自然對(duì)數(shù)。接著對(duì)所有像素亮度值的對(duì)數(shù)求平均值,再求平均值的自然指數(shù)值。至于為什么這樣算出的值能夠合理地表示圖像的平均亮度,這里就不再詳細(xì)說明了,有興趣可以參看相關(guān)論文[1]。 那么,對(duì)于一個(gè)像素P(r,g,b),如何計(jì)算像素的亮度Lum呢?其計(jì)算公式為: 這些RGB分量的權(quán)重是根據(jù)人眼對(duì)不同光的敏感程度得到的。以上是Tone Mapping的基本理論。可能你還未能完全理解某些細(xì)節(jié),但沒有關(guān)系,在后面的具體實(shí)現(xiàn)過程中,將會(huì)講解具體的實(shí)現(xiàn)方法。 現(xiàn)在再看一下光暈效果是如何實(shí)現(xiàn)的。所謂光暈效果,就是抽出場(chǎng)景中色彩比較亮的部分,然后加以模糊,使這些較量的像素?cái)U(kuò)散到周邊像素中,再把模糊后的圖像疊加在Tone Mapping之后的圖像上。其過程如下圖所示。 Tone Mapping之后的圖像取出原始圖像中較亮的部分,并縮小其尺
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1