朱峰社區(qū)首頁 朱峰社區(qū)

搜索資源 注冊(cè)|登陸

等待

返回 展開菜單

HDR技術(shù)詳解(理論篇)

BodyPaint畫材質(zhì) 觀看預(yù)覽

BodyPaint畫材質(zhì)

包含1節(jié)視頻教程
關(guān)注4.6萬

BodyPaint 3D是游戲美工必須學(xué)習(xí)的3d繪畫軟件。如果別人問你繪制貼圖用什么?沒錯(cuò)就是BodyPaint了。趕快來學(xué)習(xí)一下吧,其實(shí)這個(gè)不比ps難多少。

關(guān)閉
david老師的博客http://blog.sina.com.cn/david376

HDR技術(shù)詳解(CG領(lǐng)域中的應(yīng)用篇) HDR技術(shù)詳解(噪點(diǎn)問題的解決方案篇)
前言:

HDRi的全稱是high?dynamic?range?image,意思是高動(dòng)態(tài)范圍圖片。最近的這些年已經(jīng)非常的火熱了。使用一張HDR圖片或者再另外補(bǔ)一兩盞燈光作為場(chǎng)景的照明,已經(jīng)是越來越普及的做法。而很多對(duì)這種圖片以及這種照明方案了解不深的朋友心里可能總有個(gè)疑惑——在以前的CG行業(yè)里,照明是一件非常復(fù)雜的事情,一個(gè)場(chǎng)景經(jīng)常要打幾十甚至上百盞燈光才能得到好效果。怎么到了現(xiàn)在只需要一張圖片就解決照明問題了?世界上有這么輕巧的事情。

世界上就有這么輕巧的事情。CG行業(yè)是一個(gè)發(fā)展非常迅速的行業(yè),往往你上個(gè)月還在用的軟件,這個(gè)月就出了新版本;你上個(gè)月還在使用的工作流程,這個(gè)月已經(jīng)有了更快的解決方案。在這樣一個(gè)日新月異的行業(yè)里,照明的解決方案,也當(dāng)然飛速地發(fā)展了。以前要手動(dòng)打很多盞燈光來照明的主要原因是機(jī)器性能不行,跑GI(全局照明)太慢,所以要手動(dòng)打補(bǔ)光,人為處理出全局照明的感覺。然而時(shí)代進(jìn)步了,機(jī)器速度已經(jīng)幾何級(jí)增長了,現(xiàn)在大家都用得起GI了,理論上完全不需要再依賴手動(dòng)打補(bǔ)光了。你可以選擇在場(chǎng)景中設(shè)置跟真實(shí)世界接近的光源,或者你還有這樣的選擇:使用一種HDRi貼圖來照亮你的場(chǎng)景。

因?yàn)榇蟛糠峙笥言缇蛯DR照明應(yīng)用到自己的工作流程中去了,所以,這篇文章的內(nèi)容對(duì)于大部分朋友來說都會(huì)很熟悉。如果你已經(jīng)知道怎么去運(yùn)用,而對(duì)這背后的原理和邏輯有一定興趣的話,可以看看理論部分。而這次的教程更傾向于對(duì)HDR并不太了解的新手朋友,相信你們看完這次的教程,會(huì)對(duì)HDR的概念原理有一定的認(rèn)知,并且知道該怎么使用HDR對(duì)自己的場(chǎng)景進(jìn)行照明。

雖然本教程使用三維軟件為maya,渲染器是mental?ray和vray。但是講述的原理是完全可以互通的,你只要理解透了這些概念,方法拿到哪里都是一樣適用的。

全文分理論部分,CG領(lǐng)域中的應(yīng)用部分,和噪點(diǎn)問題的解決方案三大塊兒。

其中理論部分梳理了完備的理論體系,全部消化吸收能夠讓你對(duì)整個(gè)CG技術(shù)的認(rèn)知有所提高,說起來適合所有人閱讀,但是如果你對(duì)理論頭大也可以先跳過或暫時(shí)跳過理論部分直接從實(shí)戰(zhàn)部分開始看起。

CG領(lǐng)域中的應(yīng)用部分則著重介紹在CG領(lǐng)域里怎么運(yùn)用HDR技術(shù),以及HDR技術(shù)給我們帶來的好處到底體現(xiàn)在哪里,適合新手,或者知其然不知其所以然的朋友。這一部分觀看視頻會(huì)吸收得更好。

如果你已經(jīng)是個(gè)高手了,那么可以直接跳過前面兩個(gè)部分,到達(dá)這次教程在實(shí)戰(zhàn)意義上真正精華的最后一部分——噪點(diǎn)問題的解決方案,你將了解解決采用HDR照明時(shí)GI通道和reflection通道噪點(diǎn)問題的完美方案。

 

理論部分:

 

HDRi是一種類型的圖片的統(tǒng)稱,同時(shí)也是一種圖片格式。所謂HDR就是高動(dòng)態(tài)范圍圖片,和它對(duì)應(yīng)的一個(gè)概念是LDRi(low?dynamic?range?image),低動(dòng)態(tài)范圍圖片。而我們?nèi)粘J褂玫拇蟛糠謭D片,幾乎都是LDR,不管是我們的jpg、png、tga還是tiff,都是低動(dòng)態(tài)范圍。而我們現(xiàn)在用的最多的HDR圖片格式主要有兩種:openEXR和HDR。

那么這個(gè)動(dòng)態(tài)范圍又是什么,怎么劃分的呢?

 

1.位深度的概念

這本來是一個(gè)攝影的概念,說起來復(fù)雜,相信看這文章的都是搞CG的,我就從CG的角度簡單地說些有用的。在我們的認(rèn)知領(lǐng)域里,你可以把動(dòng)態(tài)范圍簡單地理解為一個(gè)圖片所能涵蓋的信息量。涵蓋的信息量越多,那么動(dòng)態(tài)范圍越大,反之亦反。

這里就要說一個(gè)“位深度”的概念了。我們都知道,電腦是二進(jìn)制的,只有0和1,而你可以把位想象成一個(gè)開關(guān),當(dāng)這個(gè)位等于1的時(shí)候,開關(guān)打開;當(dāng)這個(gè)位等于0的時(shí)候,開關(guān)關(guān)閉。所以,每一個(gè)位,有兩種可能。

而如果我有兩個(gè)位,或者說兩個(gè)開關(guān)呢?它們放在一起會(huì)有多少種組合?答案是4種,分別為:00,01,10,11。

那么,如果有三個(gè)位,或者說三個(gè)開關(guān),又有幾種可能?答案是8種,分別為:000,001,010,011,100,101,110,111。

那么,如果是四個(gè)位呢?答案是16種。聰明的朋友應(yīng)該已經(jīng)發(fā)現(xiàn)規(guī)律了:有多少位,就有2的多少次方種可能。這其實(shí)是高中的排列組合知識(shí),我給大家義務(wù)復(fù)習(xí)了一下。

看到這里有人會(huì)說了,我是做美術(shù)的,你跟我說這些亂七八糟的數(shù)學(xué)知識(shí)搞毛呢?其實(shí)你不要急躁,了解這些知識(shí),才能讓你完全吃透,并且駕馭你所使用的流程與工具。很快我就要講到,這些數(shù)學(xué)和計(jì)算機(jī)知識(shí)跟我們的CG是怎么聯(lián)系的。

可能有的朋友一直有聽說過,我們的圖片也有位數(shù)。比如說,我們的jpg圖片就是8位的。而很多人只是知道,卻并不真正了解這到底意味著什么。根據(jù)我們前面說的知識(shí),8位即意味著2的8次方種可能,即為256種可能。相信很多朋友看到這個(gè)數(shù)字心里會(huì)一激靈,因?yàn)橛悬c(diǎn)ps基礎(chǔ)的朋友都知道,我們的圖片放進(jìn)ps里是有256個(gè)色階的。這二者是不是有什么聯(lián)系?你猜的不錯(cuò)。

我們說的8位的jpg圖片,真正的說法應(yīng)該是:每個(gè)像素每個(gè)通道使用8個(gè)二進(jìn)制位儲(chǔ)存信息的圖片。

對(duì)于儲(chǔ)存顏色信息,我打一些比方,如果你只有一個(gè)位去儲(chǔ)存信息,那么你就只有開或者關(guān)兩種可能,如果你用開表示純白色,關(guān)表示純黑色,那么你就的世界就只有黑與白;如果你使用兩個(gè)位去記錄信息,那么你就有四種可能,你就可以在純黑和純白之間再加入兩個(gè)過度的灰色。

那么,你要是使用8個(gè)位共產(chǎn)生256種可能,亦即是256個(gè)色階,從黑到白有一個(gè)均勻的灰度過度。

你一定要弄明白,到這里為止,就算你有8個(gè)位,256個(gè)色階,你也暫時(shí)只能制造出灰色的過度色階。而如果你想要彩色的照片的話,你還要讓這些灰度的色階產(chǎn)生顏色,想要表達(dá)大自然絢麗的色彩,我們是使用三種純純的顏色,分別發(fā)出不同的亮度,復(fù)合在一起而產(chǎn)生出來的。這三種顏色就是我們頂頂大名的RGB紅綠藍(lán)了。

我大概描述下這個(gè)過程。比如說紅通道,只能發(fā)紅光,而紅光的強(qiáng)度,根據(jù)你的色階來定:色階為0,則是純黑的紅色,色階為128,半亮的紅色,色階為255,則為純純的最亮的紅色(0-255一共256個(gè)色階)。同時(shí)綠通道和藍(lán)通道也是一樣,發(fā)出某種強(qiáng)度的光,最后把他們復(fù)合在一起,就產(chǎn)生我們所見的顏色。

也就是說,我們彩色的jpg圖片,每個(gè)像素點(diǎn)都有三個(gè)通道,每個(gè)通道都有8位,于是每個(gè)像素就需要24位來記錄色彩信息。到這里,我們可以做一個(gè)簡單的小實(shí)驗(yàn)來驗(yàn)證我們前面探討的知識(shí)點(diǎn)。在計(jì)算機(jī)中,1位即是1Bit,8個(gè)位占一個(gè)字節(jié),即是1byte。而我們平時(shí)說的1kb則為1024byte,1Mb?為1024kb。那么根據(jù)我們剛才的說法,每個(gè)像素都占24位的空間,即是3byte的空間,那么我們創(chuàng)建一個(gè)1024*1024的圖片,就有1024*1024*3byte=3MB的大小了。我們可以在ps里創(chuàng)建這么大一張圖然后看看ps算出來的大小。果然論證了我們的說法。


在你儲(chǔ)存TGA圖片格式的時(shí)候,你會(huì)發(fā)現(xiàn),ps會(huì)為你,到底要儲(chǔ)存多少位的圖片。我們主要關(guān)心的是24位和32位兩種。根據(jù)之前說的知識(shí),你大概可以猜到,24位的圖片,意思是,24位/像素,即3個(gè)通道每像素;而32位怎么來的呢?32 = 4*8;也就是說,4個(gè)通道每像素?是的。那這多出來的通道是啥?其實(shí)就是我們平時(shí)說的alpha通道了。如果你做了一個(gè)帶alpha通道的TGA圖片,儲(chǔ)存的時(shí)候選的是24位,你會(huì)發(fā)現(xiàn)最后你的alpha通道不見了?吹竭@里你應(yīng)該明白原因了。

 

2.LDRi與HDRi直觀感受

說了這么多,大家應(yīng)該已經(jīng)開始熟悉位深度相關(guān)的概念了。回到我們最開始的概念上。所謂低動(dòng)態(tài)范圍圖片LDR,一般是指數(shù)值以整型(integer)類型來儲(chǔ)存的圖片;而HDR,則是指數(shù)值以浮點(diǎn)(float)類型來儲(chǔ)存的圖片。整型和浮點(diǎn)是編程里的術(shù)語,用人的語言來說,就是整數(shù)和小數(shù)。比如說,我們傳統(tǒng)的jpg圖片,色階只能是整數(shù)0到255,不能是小數(shù),你沒見過哪個(gè)色階是1.5,2.8什么的吧。但是我們的HDR圖片,因?yàn)樽陨愍?dú)特的編碼方式,卻可以用小數(shù)來表達(dá)色階;更重要的是,HDR的圖片,儲(chǔ)存的色階信息可以超出屏幕亮度范圍之外,亮的地方可以比純白還亮,黑的地方可以比純黑還黑。

而這些超出顯示范圍之外的數(shù)據(jù),甚至不能被直接觀察到!那么我們要這些數(shù)據(jù)有什么用呢?HDR圖片主要會(huì)被攝影和CG兩個(gè)領(lǐng)域所使用,主要利用的點(diǎn)也正是它本身的動(dòng)態(tài)范圍夠大。我們傳統(tǒng)拍照的時(shí)候,你如果直接去拍天空,那么太陽以及其附近的范圍,因?yàn)榱炼忍,所以?huì)得到?jīng)]有細(xì)節(jié)的純白的一片,就是我們俗話說的曝掉了。但是如果你使用HDR的手法去拍攝天空太陽,雖然直觀的效果也是純白的一片,但是在后期軟件中,我們可以通過調(diào)整曝光,讓隱藏在純白色一片里面的亮度信息逐步顯現(xiàn)出來。如前文所說,HDR圖片可以儲(chǔ)存范圍極廣的信息,有很多信息在你的屏幕上不能直接觀察到,你只能通過調(diào)整曝光來觀察。

雖然你不能直接觀察藏起來的信息,但是這些信息是一直存在圖片中的,你不知道電腦知道。它們可以正確讀取圖片上特別亮和特別暗的區(qū)域的信息,在我們的CG領(lǐng)域里,我們就可以使用這些信息對(duì)場(chǎng)景進(jìn)行照明。

這一部分參考視頻教學(xué)會(huì)得到最直觀的感受。

 

3.HDR格式與openEXR格式分別是如何儲(chǔ)存信息

那么HDR貼圖為什么可以儲(chǔ)存這么大量的信息呢?這是跟我們HDR貼圖儲(chǔ)存信息的方式有關(guān)的。我們這里主要講講最常用的HDR格式和exr格式。

HDR格式是使用RGBE四個(gè)8位通道,一共32位通道來儲(chǔ)存信息。前面的RGB大家都知道是干嘛的了,那最后的E呢?這個(gè)通道指的是exponent,曝光通道,你可以把前面的RGB理解成某個(gè)像素的顏色,而這個(gè)E通道,可以理解成這個(gè)像素的亮度。他們的計(jì)算公式也很簡單,如下圖:

因?yàn)镋有8位,所以取值范圍也是0到255;當(dāng)E為128時(shí),2的0次方為1,RGB值保持初始。當(dāng)E大于128時(shí),沒大個(gè)1,RGB的亮度就會(huì)比之前亮一倍,指數(shù)上升。比如說,我們使用(100,100,130,150)的參數(shù),得到的正真RGB值其實(shí)是:

你想象一下,在我們的電腦上,255就已經(jīng)是純白的了,這三個(gè)數(shù)字所代表的亮度是有多大!

而如果E小于128,則相當(dāng)于是用原先的RGB值除以2的倍數(shù),會(huì)得到一些小數(shù),就是我們之前說的浮點(diǎn)數(shù),這樣就會(huì)在暗部得到很多8位圖片不具備的中間過渡信息。同樣,假如我們使用115作為我們的exponent,即E通道的值,那么結(jié)果就是:

可以想見,這是多么逼近于純黑的顏色,人眼根本無法察覺。而這些信息,就都老老實(shí)實(shí)地儲(chǔ)存在我們的HDR圖片中。

所以,HDR格式的圖片,是以RGBE?4個(gè)8位通道,一共32位信息儲(chǔ)存的,F(xiàn)在我要講一講我們CG行業(yè)里更流行的另外一種圖片格式openEXR(以下簡稱exr),這個(gè)在早些年被工業(yè)光魔發(fā)明并且逐漸變成行業(yè)標(biāo)桿的格式。

Exr格式的儲(chǔ)存方式是使用4*16Bit?RGBA來儲(chǔ)存數(shù)據(jù)的,即是說,它使用四個(gè)通道分別為紅綠藍(lán)和alpha,每個(gè)通道占16位儲(chǔ)存空間,每個(gè)像素占48位儲(chǔ)存空間來儲(chǔ)存數(shù)據(jù)。而這16位信息exr圖片是這樣分配的,拿出一位來表示這個(gè)數(shù)值的正負(fù);拿出10位來儲(chǔ)存RGBA的基本信息;拿出5位來表示曝光度。跟之前HDR圖片的記錄方式有些類似。

只不過,我們基本的RGBA值的精度更高,有2的10次方,1024個(gè)色階;而能表達(dá)的亮度范圍卻比較小一些,只有2的5次方,32個(gè)檔。

所以這兩種圖片格式的區(qū)別就很明確了。openEXR圖片的精度要高于HDR圖片(RGBA有1024色階);而HDR圖片的亮度范圍要高于openEXR圖片;但是最關(guān)鍵的點(diǎn)在這里,HDR圖片不能帶alpha非常不方便合成,所以攝影里用的相對(duì)多一些;而openEXR格式除了能帶alpha通道以外,還可以人工置入一些我們?nèi)S軟件里渲染出來的別的通道,非常適合CG工作者。

附一張各種HDR格式的對(duì)比。

 

16位整型與16位浮點(diǎn)圖片的區(qū)別

這里要跟大家梳理一個(gè)比較容易混淆的概念。就是16位/通道/像素的圖片,即有可能是HDR的也有可能是LDR的。比如說,你在ps里打開一些jpg圖片,然后你可以在模式里,將圖片的位深度從8位/通道/像素改成16位/通道/像素,但是這并不意味著圖片就被改成openEXR類型,圖片并沒有因此由LDR變成HDR。

這是因?yàn)橥瑯邮?6位/通道/像素,也是有兩種儲(chǔ)存方式的。像工業(yè)光魔的儲(chǔ)存方式我們剛才介紹過了,是一種浮點(diǎn)的儲(chǔ)存方式,結(jié)果是HDR的。但是ps默認(rèn)改成16位/通道/像素,卻是整型的儲(chǔ)存方式,即是說,把黑到白的信息,分配到2的16次方,65536個(gè)色階里去了。0表示黑色,65535表示白色,而其間的一些數(shù)值表示過度的灰階。只是說,相對(duì)于8位的256個(gè)色階,我們儲(chǔ)存的信息量確實(shí)大了很多,色階和色階之間的過度也微妙了很多。但是我們的儲(chǔ)存方式依然是用整數(shù)的方式,并且,我們的最大亮度也不能超過純白。所以,使用16位/通道/像素的整型方式儲(chǔ)存數(shù)據(jù)的圖片,完全不具有HDR的效果。(16位/通道/像素整型儲(chǔ)存的圖片,主要作用于tone?mapping過程中,浮點(diǎn)數(shù)據(jù)塌陷為整型數(shù)據(jù)之后如果有調(diào)色的步驟,可以使用16位/通道/像素的整型格式作為緩沖格式,進(jìn)行調(diào)色之類的工作,完了之后再把16位/通道/像素的信息塌陷成8位/通道/像素的一般圖片,方便在網(wǎng)上發(fā)布和在pc上瀏覽;如果要打印,可能保留16位/通道/像素的信息以及將色彩空間設(shè)置在adobeRGB會(huì)得到更理想的效果。這是關(guān)于tone?mapping的知識(shí),不是本篇教程所討論的主要內(nèi)容)

而在mental?ray的frame?buffer中,你是可以設(shè)定你的輸出類型的。

你會(huì)發(fā)現(xiàn)你有兩種RGBA?4*16Bit,就是說你有兩種16位/通道/像素的圖片儲(chǔ)存方式。其中half類型就是工業(yè)光魔開發(fā)的方式,即是HDR的類型;而short,則是我們剛才說的整點(diǎn)儲(chǔ)存類型,實(shí)則是LDR類型。

所以對(duì)于你渲染輸出的圖來說,如果你想獲得HDR圖片的收益,就要使用RGBA(Half)4*16Bit。

 

HDR圖片的生成

HDR的圖片,主要有兩種生產(chǎn)方式。一種是我們熟悉的三維軟件渲染,另一種就是用相機(jī)拍攝。而用相機(jī)拍攝的時(shí)候呢,并不像一般拍照那樣,卡擦一下就拍好了。而是要對(duì)著同樣的構(gòu)圖,卡擦卡擦拍好多張,而每張的曝光度要有所差別,最后用軟件將這些曝光度有差異的圖片合成成一張,就得到了我們的HDR了。

所以說,其實(shí)一張HDR圖片,就相當(dāng)于我們正常的n張曝光圖片的合成,就涵蓋了很觀光的亮度范圍。有一句話概括得非常好:HDR圖片相當(dāng)于一個(gè)將當(dāng)時(shí)的光照信息完全記錄下來的打包文件。

所以說,我們每次使用HDR貼圖去照明的時(shí)候,就相當(dāng)于把我們的三維場(chǎng)景放置在當(dāng)時(shí)拍攝的環(huán)境里去照明一樣。所以,有很多時(shí)候,僅僅使用一張HDR貼圖作為你場(chǎng)景的光源就已經(jīng)足夠了。

視頻教程中,我使用自己拍攝的三張照片做了一個(gè)簡單的例子。因?yàn)橛布南拗,只拍了三張,HDR的作用沒完全體現(xiàn)出來,但也足夠大家體會(huì)了。



拓展閱讀

關(guān)于后期景深的文章:

后期軟件中制作景深效果(基礎(chǔ)篇) 后期軟件中制作景深效果(進(jìn)階篇)

關(guān)于后期運(yùn)動(dòng)模糊的博文:

詳解在后期軟件中制作運(yùn)動(dòng)模糊效果(理論篇) 詳解在后期軟件中制作運(yùn)動(dòng)模糊效果(實(shí)例篇)

推薦閱讀書籍:

The?HDR?hand?book2.0?——Rocky?Nook(書中推薦的sIBL解決方案非常方便快捷,跟我第三部分講述內(nèi)容接近;他們提供了一個(gè)插件,可以快速設(shè)置場(chǎng)景,但是有一定學(xué)習(xí)成本)

精通HDR攝影?——弗里曼?(偏攝影的HDR書籍,給你另一個(gè)理解HDR的角度)

 

朱峰社區(qū)三維動(dòng)畫出爐 朱峰社區(qū)三維動(dòng)畫出爐

朱峰社區(qū)網(wǎng)頁版
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)


朱峰社區(qū)公眾號(hào)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)

資源說明圖文教程無法下載,只能觀看圖片和文字。
版權(quán)規(guī)則本站圖文皆來自互聯(lián)網(wǎng)共享資源,如涉及到版權(quán)請(qǐng)查看版權(quán)規(guī)則。本平臺(tái)提供圖文僅可用于個(gè)人學(xué)習(xí),如用于商業(yè)請(qǐng)購買正版。您必須遵守的版權(quán)規(guī)則

未知用戶

未知用戶

zf3d-0409

zf3d-0409

VIP終身

贊一個(gè),很好的教程
生活--- 總是一如既往的平淡,一如既往的寂寞。 -zf3d-0409

贊0

踩0

16年1月1日

小呼呼

小呼呼

老vip

謝謝~很好的教程啊

贊0

踩0

15年12月15日

2005-2024 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2024 ZhuFeng Community All Rights Reserved

VIP

朱峰社區(qū)微信公眾號(hào)

回頂部

1.復(fù)制文本發(fā)給您的QQ好友或群、微信等;好友點(diǎn)擊鏈接以后,轉(zhuǎn)發(fā)就成功了。 2.如朋友點(diǎn)擊您的鏈接,您需要需刷新一下才行;同一個(gè)好友僅能點(diǎn)擊一次。
購買VIP,觀看所有收費(fèi)教程。