• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            轉自:http://www.cgfancy.com/Article/1715.html
            01.概述
                CGI技術是一門非常年輕而且發展迅速的科學。其它相關的還有許多技術也在很短的時間內迅速的壯大,用于模擬自然現象,但它們只限于解決某一方面的問題,對我們來說選擇合適的技術來解決相應的問題比較困難。出于人們認識光與物質相互作用的方式,一些主要的技術脫穎而出,這其中最常用的是工作于物體表面的技術,另外就是CGI技術的到來。它的原理是向場景里發射光線來收集必要的信息,重建真實自然現象的一個關鍵問題是需要大量的信息。假設在我們所處的環境里,包括看不見的地方,有大量帶有能量的光線穿過,它們在場景中哪怕是最狹小的地方以某種方式相互作用,這些光線的能量以不連續的形式存在(愛因斯坦光子說)。物體表面的原子會吸收光子使自已的能級升高,受到激發的不穩定原子會自發的地回到最低能級,并將減少的那部分能量以光子的形式釋放出來,這些光子根據發射它原子的種類有特定的波長。打個比方吧,太陽光包含很多不同波長的電磁波,但這里面只有一小部分能被我們的眼睛所識別。人造光源一般都有特定的顏色,因為它們含有各自特定的元素。一個典型的鎢極光源發出的光有一定的頻率范圍,這就是我們看到的橙色。同樣,氖光源發出的光是綠色。
                自然界的這種吸收和發出光能的現象無時無刻不在我們的身邊出現。我們的眼睛扮演著攝像機的角色,收集和識別從四面八方射過來的光線的波長(顏色)和光子數量(強度)。我們看到的圖像正是在空間的某一點處眾多光線的靜止狀態。前面的內容僅僅從物理學的角度粗略的介紹了一下,但這樣就足夠了,我們沒有必要考慮更深一層的物理知識。這些內容足已解釋我們看到的真實世界,今后的學習制作過程也足夠用了。

            02.用CGI技術重現生活中的例子
                前面說過每個原子都會吸收和發射光線,物體的顏色決定于反射光線的波長和物質原子的種類。入射光線反射后向四面八方散射,但要根據入射光線方向反射(否則反射也不會進行),也許多物體不會直接在表面反射光線,像氣體。光線會在大多數物質里傳播,并被物質內部的原子吸收和反射掉。像下圖中的蠟球,這種蠟物質吸收除了綠色和黃色之外的所有波長的光線(至少除黃綠色外的絕大多數光線),然后像大多數物體一樣作為綠光的發射物體(除了黑洞之外)。你們可以看到當蠟球靠近光源后它顯現出黃綠色。

             


             


                你們當中很多人可能都知道,在過去的幾年中出現的很多光線跟蹤渲染器都能模擬在“電腦產生的表面內部散射光線”,也叫做SSS(Sub Surface scattering)。很多渲染器都使用相似的原理,像GI中的采樣方式,在某一點發射多條光線到場景中,這些光線經反射后攜帶了物體表面的顏色信息,以此來確采樣點的顏色,典型的例子-Monte Carlo。不同的渲染器在保證圖像質量不變的前提下有不同的縮短渲染時間的方式,因為有大量的光線信息需要收集。這之中有簡單的采樣點插值算法過濾器;也有智能化的能識別物體邊緣尖銳部分的高級插值算法過濾器,它能在需要的地方放置合適的采樣點;還有適用于動畫的采樣引擎。聽起來這些算法都很高深,其實我們只要知道我們的工作是要找到合適的方法對付巨長的渲染時間就行了。我在95到96年第一次接觸3D軟件的時候試著用一個光源照亮一個鏡面屬性的球體,但失敗了。當我用手電照射整個臥室的時候,臥室會有一點亮光,但在3D中除了聚光燈的圓錐范圍內其它的地方一片黑暗。我想,為什么會這樣呢?后來我知道了,因為所有的物體都是反光體,我們平時看到光大多數光線都是反射光線。
                朋友們你們是否知道,Blinn和Phong這些表面Saders是怎樣工作的嗎?固有色,高光到底是什么呢?在很長的一段時間里,我只知道怎樣使用它們,怎樣用它們達到預期的效果,但我從不知道它們真正代表著什么。

             


                上面提到過,所有的物體都會吸收和發出光線。一個全反射材質,也就是反射全部光線的材質,像表面鍍了金屬的玻璃,它表面的每一個點都包含了環境的信息。當光線在物體表面反射后一部分光線被吸收,反射光線變弱且被“染色”。因此過渡色就是物體表面除吸收的那一部分的帶有表面顏色的反射光線。在現實中絕大多數表面都會有一定程度的粗糙度,我不是說肉眼可以看到的凹凸不平,而是微觀上的表面粗糙。不同的Saders能夠快速有效地模擬表面的粗糙方式。高光就是反射最多,光線聚集最強烈的那一部分表面產生的。地過渡色區域也會有小面積的高光,但隨著表面和光源的距離拉大高光也漸漸地變的不明顯了。這樣的高光在現實世界并不存在,這是因為現實世界不存在3D軟件中的理想光源(點光源和面光源)。現實世界中的光源總會有一定的形狀,這樣高光區會表現有一定的細節而且可以看到光源的形態。參考下圖中的皮革,射到高光區的光線來自窗外的陽光,可以看到真實表面的細節是很復雜的。可以說高光區只是過渡色區域中反射較強的表面。像這樣的反光表面只用一個簡單的Sader是不可能實現的,我們必需用真正的光源來模擬窗外的光線。或許還要用反射模糊來模擬過渡色區域的光線散射,用一點過濾色模擬表面吸收不同的光線產生的顏色。這可能就是這幾年來HDRI如此流行的緣故吧。HDRI不僅可以產生高質量的間接照明,還可以用渲染出真實的反射和高光區的精彩細節。

             


             


                這是一幅勺子的照片,主光來自上方。勺子的中心有非常強烈的高光,有趣的是周圍還有一圈圈的刮痕。每一圈刮痕可以看成在它邊緣處反光的圓柱形凸痕。光線在它們之間反射,這樣反射光線在某個方向上散射開來,也就是CGI里所謂反射的各向異性。
            在這張圖片中我們看到主光在高光區的中心形成一個十字。像打磨過的金屬和毛發這類物質常發生這種現象,而且針對這種高光已經有不同的Shaders算法了。我要指出的是這些算法都必需能快速的產生各向異性的高光。如果想渲染出正確的高光就必需用真實的物體,或者至少用凹凸貼圖模擬刮痕(這個Shaders用在CGI毛發上一點意義都沒有,因為這種現象是由許多許多細小的圓柱體產生的)。我只發現在使用不透明貼圖的時候這種Shaders才管用。

             


                光線還可以表現出另一種特性。當光線與表面的夾角很小的時候光線趨向于在表面反射,但當光線跟表面接近垂直時趨向于穿透表面介質。這也是一種很重要的特性,叫做Fresnel(菲涅耳效應)光學纖維這種物質常發生這種現象。許多渲染器都支持這個特效。下面的圖我們能很清楚地看到這個效應,在角度很小的情下況液晶屏反射很強烈,但垂直看時大多光線都穿過了塑料殼而被黑色的LCD吸收了。幾乎所有的材質都或多或少的表現出這種特性,特別是透明物體(幾乎所有的物體都是“透明”的,只不過這取決于物體原子吸收光線的多少罷了)。

             


             


                好,我想到現在為止我已向你們介紹了光線的反射原理。我希望你們能在這里學到一些有用的東西。下面的是一些焦散(Caustics)和散射(Dispersion)的圖片。還有一張圖片,上面是一個物體和陰影,我想告訴你們的是這個透明物體的陰影和我的手一樣也是不透明的,這是初學者對透明物體使用光線跟蹤陰影時常犯的一個毛病。
                如果你們有問題的話盡管問吧。請睜大眼睛隨時留心你的身邊,發覺周圍不經意的小事,有時它也是美麗的。作為一個藝術家這樣有助于提高你技術方面的理解。





            01.反射的奧秘-第二部分
                在第二部分中Philipp Zaufel用通俗的語言描述了BRDF(雙向反射分布函數)--一個CG中最常用的用來描述材質反射行為的數學模型。

            02.總論
                BRDF-雙向反射分布函數,是用來描述材質反射行為的函數,是一個數學模型。這篇小教程是為藝術工作者寫的,而不程序員。有關BRDF的技術資料有很多,但我的目的是想讓你們了解如何讓它正確的工作,而不是大篇幅的羅列。BRDF在CG中無處不在。當你使用Phong,Blinn或者其它Shader的時候你就在使用BRDF模型。要是你用光線跟蹤制作反射,陰影或者產生GI效果的時候,你也在無形中使用著BRDF模型。
                一個BRDF模型描述了一種表面上入射和反射光線的關系。因此說簡單點就是光線射到表面上,表面對光線產生作用。光線可以被反射(鏡面的或漫射的),吸收,或兩者都有。我們可以通過測量一種真實物體表面上的反射和入射光線來描述這種材質和它形成的BRDF,測量的結果可以用在CG程序中來產生有相同表面屬性的材質。但大多數情況下會使用簡化的,帶可調節參數的模型來產生CG表面。這些反射模型可以是精確的,也可以是經驗化的。這里我們關心的是精確的分析反射模型。因為它里面的參數或者說方程是基于真實世界的,并且為了能使材質疊加產生復雜的SHADERS,它們也使用在CGI中。像Robertson-Sandford和Beard-maxwell這些經驗模型,它們用的是虛構的參數來構建簡化的BRDF。下面我會提到一些高級的反射模型。像BTDF,BSDF,BDF和BSSDF,這是為了澄清一個事實:一個BRDF只是依據表面屬性,入射光角度(同它的參數)和視角來描述光線的反射。
                BTDF-雙向傳輸分布函數,描述了透明的表面屬性,過程是通過矢量計算表面的兩個方向(不是同一個計算過程)。BRDF和BTDF合起來就是BSDF,簡稱BDF--雙向散射分布函數,描述表面上同一點處兩個方向的半球的函數。這些就是高級(鏡面)光線跟蹤渲染的基礎函數。BSSDF--雙向表面散射反射分布函數,它的發明者就是發明光子貼圖的那個人,Henrik Jensen。它描述了物體內部的光線散射。好萊塢,概論就這么多,下面我們一一介紹吧。

            03.完美的漫射材質——Lambert
                這是個非常簡單的模型,而且距今已有200年的歷史了。在CG場景中它無處不在。這個模型描述了一個完美的漫射表面。入射光在表面上向四周等量的散開,如果從不同的角度觀察表面的話會看到同樣的顏色(各向同性)。唯一不同的是入射的角度。入射擊角為90度時表面亮,反之則暗。這種模型在生活中是很常見的,但生活中這種的完美的漫射表面非常少,這就是CG表面看不去是電腦產生的表面的原因。就因為它的速度相當快,而且非常普及,因此它成為實時渲染表面SHADER中最常見常用的一個。
                Gourad Sading是實時渲染技術中的一員,因為它不是基于每像素計算的,而是基于頂點的計算方法,計算頂點色值后在各頂點間運用插值算法來形成多邊形。(新一代的顯卡都支持實時像素陰影渲染,并且這些成熟的模型都成為了今天的標準,但這不是今天我們討論的話韙。)
                這個模型大多數情況下在物理上是正確的,這意味著一些重要的物理規則被保留了。其中有一個就是反射光線的能量總和一定小于入射光線的能量。另一條是對不同顏色的吸收原則,比如說過渡色為黑色的物體吸收掉所有的入射光線,并不產生反射(過渡色——一個Lambert模型引申出的重要參數)。

            按此在新窗口瀏覽圖片

            04.Lambert的例子
                上圖中的個球體都被賦予了Lambert材質。第1,2個是同一個球休的不同視角。圖中紅圈表示球上的同一個點。可以看到Lambert材質在不同的視角產生相同的顏色。第3,4個球體是同一個模型。它們反射的光線較前兩個少,第三個是BRDF的典型模型——環境色(ambient)。它只是在整個圖像中增加了另一種顏色來模擬環境的光照,但這種方法沒什么大用,因為它只會讓你的圖像變的不真實。要模擬環境光的話試著多打幾個燈或者干脆用GI。

            按此在新窗口瀏覽圖片



            05.簡易的鏡面反射模型————Phong,Blinn-Phong.
                上面的圖顯示的是物理上真實的境面反射--高光。左邊一個是Lambert,完美的漫射。紅色的入射光線反射后被等量的向四周反射。第二個是完美的鏡面反射,渲染器用這個原理來產生完美的鏡面,像鏡子等。第三個是反射模糊,反射光線由于表面的微小凹突在鏡面反射的路線上產生了偏移。現在我們已經了解了許多描述表面上不同部分的模型,上面介紹的只是最簡單的幾個。還有一些描述不同類型鏡面反射的模型(因為許多表面都有不規則的地方)。最簡單的幾個:
                1975年Phong Bui Tong發明的Phong模型,由于它的速度相當快,成為了CG表面鏡面反射應用最多最廣泛的模型。它不是物理上精確的模型,你可以設置高光的強度使發送的光線大于接收的光線,而這在現實中是不可能的。但因為CGI是一種藝術創作,那么這也是可行的。

                下圖中最左側的球體是Phong模型,這種模型的一大優點是你可以跟其它的模型混合使用來達到不同的效果。最常見的就是把phong跟Lambert混合產生第二個球體的效果。注意我用了相同的燈光照亮球體(位置,強度)。混合后的結果是高光變亮了。這樣做的優點是你可以調整模型中的不同參數(顏色,高光強度....)來達到真實的效果。右面的兩張圖顯示了Phong的高光在入射角上和視角上都是獨立的。這個三維圖中的白色線框代表了藍色垂直入射光線在紅色板處反射的反射光線的方向和強度大小。入射點周圍的半球是完美的Lambert漫射,而由于Phong高光的存在在頂部有一小部分的突起。實質上Phong高光就是在入射光方向上產生了較強的反射,加上入射點周圍的高光區,再加上Lambert的漫射區形成了整個球體。當光線從另一個角度入射時只是反射角度依據入射角=反射角定理變化。

            按此在新窗口瀏覽圖片



                Blinn-Phong模型,也叫Blinn,是Phong模型最常見的變化類型。做為CG領域的先驅,Blinn改進了Phong模型的一些高光上的問題。Blinn模型混合了Lambert的漫射部分和標準的高光,在速度上相當快,因此成為許多CG軟件中的默認材質。此外它也集成在了大多數圖形芯片中,用以產生實時快速的渲染。如下圖:這兩個球體使用相同的光照和相同的參數(Blinn和Phong高光的基本參數是相同的)。看上去上圖中的Phong球和下圖中的Blinn球沒什么區別,除了Blinn球看上去更加柔和。但我們來看看不同角度下的反射值(圖3,4),就能看到非常明顯的區別。在入射角為90度的情況下反射就像是非常柔和的的Phong高光,但角度很小時高光的反射處明顯被撕裂。這是因為這兩個的BRDF模型的算法有微小的區別,但這有什么用呢?

            按此在新窗口瀏覽圖片



                下圖說明了Phong和Blinn視覺上的不同。在入射角很小的情況下有個主要的區別。因此我為球體打了兩個燈,一個從頂部,一個從底部,都與攝像機成90度角。第一個是Phong球,第二個是相同條件下的Blinn球。結果是由于球體上三角面的角度不同Phong的高光被扭曲了,但Blinn球保證了高光的完整性。好了,你可以根據你自己的需要選擇Phong還是Blinn,我個人認為Phong高光更正確一些,但Blinn高光的可控性更好。因為它可預測,特別是在復雜的表面上,因此它被用做CG軟件中最基本,也最快的BRDF模型。圖中第3,4個球使用了光線跟蹤的鏡面反射,反射出了一個環境,同樣是第一個用Phong,第二個用Blinn的BRDF模型。注意,許多渲染程序并不支持鏡面反射渲染的BRDF模型,而是使用自己的聚焦算法。
                你們可以看到Phong上相同的扭曲效果和Blinn球上清晰柔和的反射(渲染條件完全相同,唯一不同的是不同的渲染結果)。

            按此在新窗口瀏覽圖片

            06.背部反射:Minnaert,Hapkel/Lommel-Seelinger
                到此我們已經了解了最基本的均勻漫射和高光反射部分的反射模型,但是Phong和Blinn只適用于遵守入射角=反射角原理的鏡面反射。現實中的表面都會有各種各樣的缺陷,因此光線會以不同的方式散射----SSS特效或稱背部散射。
                明顯,背部散射就是表面在其背面反射光線。為達到這種效果出現了許多不同的模型,同時還與其它的模型混合來達到更加復雜的效果。最常見的一個是Minnaert模型。它使用與Lambert相同的算法,只是增加了一個使表面變暗的參數來降低正常反射方向上的亮度。下圖中的第一個球就是Minnaert模型。它最初是用來描述月亮的BRDF的(基本Lambert反射加一點背部反射,世間少有)。Minnaert模型不允許有過大的背部散射值和邊緣光照效果。但由于它是基于Lambert漫射的因此它的速度相當快。而Hapkel/Lommel-seelinger模型就有一點復雜了,但是你也可以改變背部和前部的散射量來產生更多的光線散射效果。這些模型很廣泛的應用在表面上有微小毛發的材質和天鵝絨材質,這些材質會在其毛發的頂部產生邊緣背部散射光線。第三個球體是Hapke/Lommel-Seelinger的一個變種,主要用來模擬帶有絨毛的纖維。我在其背部打了一個藍色的燈,以區別白色的過渡色。注意這些模型都加上了一些其它的參數,因為很少有渲染器能支持沒有更改過的純模型。

            按此在新窗口瀏覽圖片

            07.基于Lambert三角面的高級粗糙表面:Torrance,Sparrow,Cook,Blinn,Oren-Nayar
                建立一個描述粗糙表面的數學模型的想法很早就有了。Torrance和Sparrow1967年設計出了一個以表面作為基準面的BRDF(早于Phong)。基面上分布有許多微小的三角面,用它們之間形成的角度來描述表面的粗糙程度。由于相鄰三角面間形成的槽之間的角度正好相反,因此也叫它為V形槽。這個模型在物理上是正確的,因為它使用的是真實世界的參數來描述反射的分布,而且它具有波長獨立性,意思就是說表面上的某一點因視角的不同而有不同的顏色。以后的幾種模型都是基于這個基本模型而建立的。
                之后Cook和Torrance在1982年邁出了重要的一步(有時稱為Cook-Torrance模型,有時也稱為Blinn-Cook-Torrance模型,因為它也把Blinn模型考慮進去了)。它是一種由Blinn和Torrance-Sparrow混合而成的模型,也是物理上精確的并而渲染速度上有所改進,其中之一是集成了更多的三角面分布函數。Torrance-Sparrow,基于著名的高斯分布;內建基于Phong式分布的Cook-Torrance;Trowbridge-Reitz和Beckmann分布。不過這只是一小部分,重要的是集成了關于光線的計算信息,光線照射在三角面上,依據兩個參數來反射。一個是著名的菲涅耳效應(簡單的說就是反射量依據反射角和表面折射率--參見第一部分)。第二是基于自身的陰影投射和三角面遮罩的幾何衰減因子,如下圖。

            按此在新窗口瀏覽圖片

                Cook-Torrance這種常見模型主要是建立高光和模擬金屬質感。有時也會混合Lambert的漫射部分,但由于它在物理上的正確性它不適用于藝術表現,而且它的速度也不是最快的一個。下圖的第一個球體是Cook-Torrance高光,在表面粗糙度很小的情況下它跟Blinn高光的形態很相似。另一個常見的三角面模型是Oren-Nayar模型(實際上我們常用三角面模型是出于它的快速,而且它是Lambert漫射之外一個很好的選擇)。它是Cook-Torrance模型的一個簡易版,能建立漫射表和Blinn高光。我見過很多Oren-Nayar模型不同的應用方法,所以我很難解釋它。這中間很多不使用遮罩和自身陰影投射,也不把波長計算算在其中。大多數情況下這個模型看起來像Lambert漫射加上視線正對處的暗淡,再加上一些背部散射。下圖中的2,3號球是oren-Nayar模型的簡單渲染,畫圈的部位是同一點的不同視角,說明了反射值依據視角的不同而不同。我很喜歡這個模型,因為它比Lambert更具真實性。

            按此在新窗口瀏覽圖片

                下圖中的1號球是另一種Oren-Nayar模型的應用。它看上去更像沒有暗淡的lambert和背部散射的混合。不要問我它的算法是什么,它只是千萬種經典模型中的一個變種。2號球體是復雜表面上的Oren Nayar漫射,帶有尖銳的Blinn高光。3號球體使用相同的設置,只是漫射部分是Lambert,高光是Phong。

            按此在新窗口瀏覽圖片

            08.各向異性和序亂的模型:Ward, He, Schlick, Lewis, Lafortune等...
                在上世紀90年代出現了大量的模型,而且有很多模型發展到了現在。這之中最流行的是He-Torrance-Sillion-Greenberg模型(1991--非常復雜,引入SSS特效,有著新型漫射部分叫直接漫射,基于物理真實和三角面),Schilick模型(1994--類似遮罩的三角面,漫射 和高光部分一起計算,支持各向異性的新算法),Ward模型(1992--帶有高斯分布的快速各向異性模型,物理上正確),Lewis模型(1993--也叫著名的經典cosine-lobe模型,物理上正確的Phong分布的擴展)和lafortune模型(1997--由于它是Lewis模型的普及,也叫普通版的cosine-lobe模型)。在一些3D軟件中你可以看到它們的應用,但軟件中不是用的它們的真名,因為軟件的程序員只是用這些模型來達到他們特定的需求。這也是許多不同的模型存在的原因。舉例來說,如果你安裝了3ds max的第三方渲染插件和材質包,以及一些帶有BRDF模型的插件(像HairFX,MooDee shaders,Facialstudio),你會看到有20-30種不同的模型供你選擇。再讓我們來看看名向異性吧。到現在為止我們只介紹了各向同性模型,就是說反射值不隨模型的旋轉而發生變化。同樣基本的三角面模型也是各向同性的,因為三角面的尺寸一樣,且在表面上均勻分布。如果反射值隨攝像機的角度旋轉而不同也不能說明是各向異性的模型,就像我在第一部分里講到的那樣,各向異性是你在某一方向觀察時表面上的凹凸和刮痕表現出同一性。來看看圖片吧。
                球1的高光是Ward模型。很像Blinn是嗎,但我認為這個看上去要好點,因為高斯分布使得高光處有更多的細節,不像Blinn那么柔和。這個球只是有高光,但是當你使用物理上正確的鏡面反射光線跟蹤時你就明白我在說什么了。球2就是Ward模型的光線跟蹤反射,球3是同樣條件下的Blinn模型。球2我使用了各向異性的參數,還做了一段動畫來看這個效果。有趣的是我也可以把Blinn模型弄成各向異性,這就是我所說的序亂的模型。你可以看到,Blinn模型上的各向異性有點問題,Blinn反射像平常那樣柔和,但左下的那道細長高光表現的非常尖銳,這不像我想像中的那樣。第三個球體是另個一種有趣的各向異性模型,它是finalshaders的distant fur,是3ds max的渲染插件finalrender stage-1的材質插件。它可以做為高級BRDF模型的很好的例子,它含有許多不同的基本BRDF模型和一些擴展的功能,能方便的使用戶創建他們想要的效果。

            按此在新窗口瀏覽圖片

                下圖中的1號球是在絨絨的粗糙球體上使用了柔和的不均等色和Lambert漫射。在做成動畫的時候不均等色也會使球體看上去模糊,像長絨毛一樣。2號球使用非常尖銳的各向異性高光來模擬油油的表面。第3個球使用了自定義曲線來控制一個強大模型的光線反射分布。很遺憾這個類型的模型沒有在大多數渲染器里得到支持,這種類型的著名模型有FALLOFF貼圖和Zauner模型。我希望在渲染程序里能夠很好的整合鏡面反射衰減和各向異性分布的自定義曲線。4號球使用Zauner模型來產生模擬的SSS效果。看來我們已經接觸到了SSS,好吧我們開始下一個話題吧。

            按此在新窗口瀏覽圖片

            09.高級渲染技巧和SSS模型:Kubelka-Munk,Hanrahan-Krueger,Jensen
                首先,Kubelka-Munk和Hanrahan-Krueger模型跟高級渲染沒什么關系。它們跟上面講的模型一樣,跟表面和攝像機有關,這兩個又跟SSS特效有關。實際上它們是跟SSS特效最有關的模型,除了He模型之外。但它們只是處理表面的漫射部分,就是說它們不能真的計算表面下面的光線來達到實現真實物理屬性的目的。這種技術需要新的渲染技術,像高級光線跟蹤算法(MONTE CARLO)和光子貼圖技術的支持。Kubelka-Munk模型是一個非常簡單的用來描述表面上色素層的BRDF。它先考慮一層色素,下一步通過一個擁有眾多參數的函數來模擬多層表面下的光線散射。就是說你可以指定表面的層數,漫射和散射行為,吸收光線的顏色和厚度。
                下圖的的1號球是Hanrahan-Krueger模型的動畫。紅色的過渡色是基本層,然會我在之上加了一層皮膚色的層,做成動畫。第二個球是復雜表面上的Hanrahan-Krueger,打了背部散射的燈光來模擬毛發的細微模糊效果。這個模型模擬皮膚效果很好,特別是結合紋理貼圖的時候。但注意它只是一個BRDF(R表示反射),畢竟有它的局限性。三號球是使用了正確物理屬性MONTE CARLO算法的SSS效果。這種效果很慢,你可以把它當做是加強的光線跟蹤算法,因為要從表面上某一點發射出多條光線到場景中來收集必要的信息,這比只發射一條光線要慢很多。這也可以是一種序亂的Lambert光線跟蹤算法,因為從這一點處的半球體射出的光線是隨機的。我不肯定MONTE CARLO算法的光線跟蹤渲染器是否考慮了BRDF模型,來達到多種效果的目的。典型的基于Lambert的電腦圖像看上去是死板的,這時典型的GI來到了,但這種算法渲染動畫的速度太慢了。因此,Henrik Jensen,光子貼圖的發明者(幾乎所有的渲染器都集成了這種特效)結合了這兩種方法各自的優點,它使用了普及化的Hanrahan-Kruger作為散射部分(直接散射和漫射)和一種優化的漫射逼進算法作為多重散射的漫射部分(加上菲涅耳效應),他稱他的這種快速SSS為BSSRDF寶貝。他成功了,看看Gollum,哈里波特,或其它一些大預算的電腦動畫你就知道我的意思了。最后一個球體使用了Hanrahan-Kruger和低品質的MONTE CARLO的混合來加速SSS特效。 

            按此在新窗口瀏覽圖片

            欧美伊人久久大香线蕉综合69 | 久久人人爽人人精品视频| 久久综合国产乱子伦精品免费| 欧美日韩中文字幕久久伊人| 日韩人妻无码精品久久免费一| 久久国产精品无码HDAV| 精品亚洲综合久久中文字幕| 国内精品久久久久久中文字幕| 无夜精品久久久久久| 狠狠色丁香久久婷婷综合_中| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产综合久久久久| 26uuu久久五月天| 国产激情久久久久久熟女老人 | 久久只有这精品99| 国产成人精品三上悠亚久久| 色综合久久中文综合网| 亚洲伊人久久综合影院| 久久免费视频观看| 日产精品久久久久久久性色| 久久青青草原精品国产软件| 久久福利青草精品资源站| 久久综合久久综合亚洲| 国产亚洲精午夜久久久久久 | 伊人色综合九久久天天蜜桃| 久久精品人人做人人爽电影蜜月| 亚洲国产精品嫩草影院久久| 97热久久免费频精品99| 天天爽天天狠久久久综合麻豆| 久久亚洲中文字幕精品一区| 久久精品国产久精国产思思| 精品国产青草久久久久福利| 久久精品成人免费观看97| 久久ww精品w免费人成| 欧美一区二区三区久久综| 2021国内久久精品| 国产99久久久国产精品小说| 伊人情人综合成人久久网小说| 亚洲欧美国产精品专区久久| 久久国产精品二国产精品| 伊人色综合久久|