欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于光線跟蹤的毛發(fā)渲染方法

文檔序號:6382873閱讀:192來源:國知局
專利名稱:一種基于光線跟蹤的毛發(fā)渲染方法
技術(shù)領(lǐng)域
本發(fā)明設(shè)計圖形繪制技術(shù)領(lǐng)域,尤其涉及一種用于毛發(fā)渲染的光線跟蹤方法。
背景技術(shù)
毛發(fā)是虛擬形象化中最重要的特性,而且絕大多數(shù)電影以及游戲中的虛擬角色中都應用了毛發(fā)。傳統(tǒng)的對于毛發(fā)的高質(zhì)量渲染主要依賴于光線跟蹤。Hou等人將發(fā)絲細分成微多邊形,然后通過優(yōu)化的光線跟蹤進行渲染,具體可參考HOU,Q.,QIN, H.,LI, W.,⑶0,B.,ANDZHOU, K. 2010. Micropolygon ray tracing with defocus and motion blur. ACM Trans.Graph. 29 (July), 64:1 - 64:10。Nakamaru等人將發(fā)絲作為一種特殊的幾何表達直接進行光線跟蹤,參見 NAKAMARU, K.,AND 0HN0, Y. 2002. Ray tracing for curves primitive.1nWSCG, 311 - 316。無一例外的,毛發(fā)的精細結(jié)構(gòu)對于采樣和反走樣形成了很大的難度,這些方法都需要很高的采樣率才能保證無失真的高質(zhì)量渲染。光束追蹤技術(shù)是對于光線跟蹤技術(shù)的一種擴展,即進行跟蹤的不在是一條線而是一條光束。這類技術(shù)旨在解決傳統(tǒng)光線跟蹤面臨的采樣不足問題。具體光束的形狀可分為棱柱,圓錐和超立方體,具體構(gòu)造方式可分別參考HECKBERT,P.S. , AND HANRAHAN, P. 1984. Beam tracing polygonal objects.SIGGRAPHComput.Graph. 18 (January), 119-127、AMANATIDES, J. 1984. Ray tracing with cones. SIGGRAPHComput. Graph. 18 (January), 129-135、ARVO, J. , AND KIRK, D. 1987. Fast ray tracing byray classification. SIGGRAPH Comput. Graph. 21 (August),55-64。Igehy 提出了一種將光束的作用范圍表示為導數(shù)的方法來處理光束與場景間的互動,光線導數(shù)的定義可參考IGEHY, H. 1999. Tracing ray differentials.1n ACM SIGGRAPH, 179-186。由于這一類方法有效地考慮了光束范圍內(nèi)的所有可能的光線,所以他們可以緩解傳統(tǒng)光線跟蹤采樣不足的問題。然而構(gòu)造光束以及考慮光束與場景物體間作用的計算復雜度往往高于只考慮單根光線。所以針對場景中不同類別的物體通常需要特定的光束跟蹤方法。Wand等人提出了 一種將具有各向異性的光錐與預先濾波的點集求交的方法,并且應用了一個層次結(jié)構(gòu)用于加速,具體可見WAND, M.,AND STRASSER, W. 2003.Mult1-resolution point-sample raytracing.1n Graphics Interface, 139-148。然而他們的方法并不適合毛發(fā)渲染,為了避免很細的毛發(fā)模糊在一起,其方法要求點之間的距離必須超過毛發(fā)之間的距離,這就使得點集的密度超過實際可承受的程度。Lacewell等人將該方法用于計算聚集體(如灌木叢或頭發(fā))的陰影,首先在一個體加速結(jié)構(gòu)上預計算存儲方向性的遮擋率,然后在運行時有效地計算軟影和環(huán)境光遮擋。然而,由于該方法的光線與頭發(fā)求交非常近似,其并不能用于頭發(fā)的視線處理。針對毛發(fā)的光束追蹤技術(shù)主要面臨兩個前人未能解決的挑戰(zhàn)。其一是光錐與發(fā)絲求交的計算復雜性。精確地計算這些求交要求高的采樣率,這與降低采樣率的初衷相違。第二個挑戰(zhàn)是處理光錐內(nèi)帶有透明效果的可見性問題。精確計算該可見度需要大量的圓錐采樣,帶來高昂的透明計算代價。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于光線跟蹤的毛發(fā)渲染方法。本發(fā)明用于進行毛發(fā)及其鏡頭特效(折射、反射以及精深)的高質(zhì)量渲染。本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的一種基于光線跟蹤的毛發(fā)渲染方法,該方法包括了以下步驟(I)將發(fā)絲細分成帶形,并對所有的帶形建立包圍體加速結(jié)構(gòu);(2)根據(jù)場景光線跟蹤的信息生成光錐,遍歷包圍體加速結(jié)構(gòu),得到可能與圓錐相交的帶形;(3)計算圓錐與表示發(fā)絲的帶形的相交,并合成采樣結(jié)果;(4)將毛發(fā)采樣的結(jié)果與場景光線跟蹤的結(jié)果進行合成,生成最終圖像。本發(fā)明的有益效果是,本發(fā)明的方法是一種基于圓錐的,并且專門針對毛發(fā)的光束跟蹤方法。選擇圓錐作為光束的形狀是由于圓錐最為接近圖像濾波器的形狀。該方法將發(fā)絲近似為若干首尾相連的帶形,并將其投影到光錐法平面,將圓錐與發(fā)絲的求交問題轉(zhuǎn)化為圓形與一系列四邊形的求交問題。此外,本發(fā)明忽略了圓錐內(nèi)部著色和遮擋的變化,以光錐為單位進行透明采樣的合成。為了使這樣的合成方式更加準確,引入了 “有效不透明度”的概念,將每個圓錐與帶形的相交面積作為其不透明度的一個因數(shù)。因此,本發(fā)明可以簡潔有效地處理包括鏡頭效果在內(nèi)的毛發(fā)高質(zhì)量渲染問題。應用本發(fā)明的方法生成同等質(zhì)量的圖像所用的時間比現(xiàn)有其他方法少一個數(shù)量級以上,并且近似造成的誤差可以被增加少許超采樣有效控制。


圖1是光錐構(gòu)成和參數(shù)化的示意圖;圖2是在光錐坐標系中的帶狀近似示意圖;圖3是四邊形和圓求交快速方法中四邊形的邊頂點全部位于圓內(nèi)的示意圖;圖4四邊形和圓求交快速方法中四邊形的邊頂點分別位于圓內(nèi)和圓外的示意圖;圖5四邊形和圓求交快速方法中四邊形的邊頂點均圓外且邊與圓無交點的示意圖;圖6四邊形和圓求交快速方法中四邊形的邊頂點均圓外且邊與圓相交的示意圖。
具體實施例方式本發(fā)明的光錐跟蹤方法,包括了以下步驟(一)將發(fā)絲細分成帶形,并對所有的帶形建立包圍體加速結(jié)構(gòu)首先將所有發(fā)絲根據(jù)屏幕投影的尺寸細分成不超過3個像素長的線段,然后在每個線段端點上進行著色計算,著色計算應用了 Marschner提出的單次光散射模型,具體計算方法可參考 MARSCHNER, S. R.,JENSEN, H. ff.,CAMMARANO, M.,WORLEY, S.,ANDHANRAHAN,P. 2003.Light scattering from human hair fibers. ACM Trans.Graph. 22,3,780 - 791。發(fā)絲的寬度數(shù)據(jù)和著色值一起存儲到每個線段端點上。接著對這一系列帶有寬度的線段根據(jù)表面面積構(gòu)建一個包圍體加速結(jié)構(gòu)對于每個線段,以及其端點處的寬度所形成的兩個隱式球體,構(gòu)建一個軸對齊的包圍盒,并以此包圍盒作為構(gòu)建包圍體加速結(jié)構(gòu)的基本單位。具體構(gòu)建方法可參考GOLDSMITH, J.,AND SALMON, J. 1987.Automatic creation of object hierarchies for ray tracing.1EEE CG&A7, 5, 14 - 20。(二)根據(jù)場景光線跟蹤的信息生成光錐,遍歷包圍體加速結(jié)構(gòu),并得到可能與圓錐相交的帶形。對于一個含有n個像素而且毛發(fā)采樣率為m的圖像,需要nXm個圓錐,n和m均為自然數(shù),如果m=l,每個圓錐對應一個像素,如果m>l則每個圓錐對應一個子像素;每個圓錐由焦點O、光錐方向V以及法平面上的兩個向量Rx和Ry表示。Rx和Ry表示光錐與法平面相交形成的橢圓的兩個軸。法平面被定義為沿光線方向前進單位距離并且與光線方向垂直的平面。本發(fā)明對于直接由視點發(fā)出的光線、在場景中折射或反射后產(chǎn)生的光線以及對應景深效果渲染產(chǎn)生的光線生成圓錐。對于主視線的渲染,將視點作為圓錐的焦點,并且連接成像平面上覆蓋一個像素的圓形來形成跟蹤所需要的圓錐,如圖1所示。對于景深和折射反射的效果,本發(fā)明采用與 WAND, M.,AND STRASSER, W. 2003. Mult1-resolution point-sample raytracing.1nGraphics Interface, 139 - 148相同的方法來生成圓錐。得到需要跟蹤的光錐之后,首先拿光錐與包圍體加速結(jié)構(gòu)進行求交。每一個光錐用兩個棱錐來保守近似,兩個棱錐都從光錐焦點發(fā)出,分別沿光線的正負方向。棱錐的四個面分別由法平面上與橢圓兩個軸的正負方向分別垂直的四條線段,以及光錐焦點形成。之后利用分割軸定理(具體可見 http://en. wikipedia. org/wiki/Separating_axis),快速判斷光錐與包圍體結(jié)構(gòu)中的包圍盒是否求交。光錐與包圍體結(jié)構(gòu)求交會得到一系列可能與其相交的帶形,需要特別說明的是,為了實現(xiàn)下述步驟四中毛發(fā)和場景光線跟蹤結(jié)果的正確合成,求交時需要考慮光錐與場景中其他幾何物體的最大深度,并拋棄深度超過此最大深度的帶形。接下來具體計算光錐與這些帶形的求交結(jié)果。(三)計算圓錐與表示發(fā)絲的帶形的相交,并合成采樣結(jié)果。先說明一個帶形與光錐求交的計算。首先將線段的兩個端點及其相應的寬度投影到光錐的法平面。投影后的端點上存儲的寬度信息可以作為半徑以該點為圓心生成一個圓形,任選一條直徑可以產(chǎn)生兩個點。對于毛發(fā)末端這樣沒有別的線段共享的點,直接取與投影后的線段垂直的直徑;而對于毛發(fā)中部有兩條線段共享的點來說,取兩條線段的中線來生成新的一對點。這樣一來,每個帶形投影過后將會形成一個四邊形。而光錐在法平面上形成的是一個由Rx和Ry決定的橢圓形。根據(jù)橢圓的兩個軸Rx和Ry,可以定義一個變換T= [Rx, Ry]。通過其逆變換,可以將橢圓和四邊形變換到光錐的坐標系中,橢圓變換成圓形,四邊形仍然變換成四邊形。如圖2所示。在該坐標系中,相交面積的問題轉(zhuǎn)化為了四邊形與圓形的相交面積問題。本發(fā)明提供了一個高效的方法計算任意一個四邊形與圓形相交的面積。本發(fā)明取四邊形的每條邊和圓形的圓心各形成一個三角形。之后將圓形與每個三角形相交得到一個具有正負性的面積。最后所有的帶符號的面積相加其結(jié)果的絕對值就是四邊形與圓形相交的面積。三角形與圓形相交所得帶符號的面積是由三角形與圓形相交的不同情況分別計算的,下面總結(jié)了四類相交情況,如圖3-圖6所示。不失一般性地,本發(fā)明將當前考慮的四邊形的邊稱為邊AB,將三角形的另外兩條邊稱為邊AO和B0。若邊AB所在的直線與圓形有兩個交點且均在AB之外,則這是第一類情況(圖3)。此時的相交面積就是三角形的面積。若邊AB所在直線與圓形有兩個交點且只有一個交點在外,則這是第二類情況(圖4))。此時的相交面積是其中一個小三角形與一個扇形的和。若兩個交點都在AB之內(nèi),則這是第三類情況(圖5))。此時的面積為其中一個小三角形和兩個扇形的和。若邊AB完全在圓形之外,這是第四類情況(圖6)且其面積為一個扇形的面積。值得注意到的是,本發(fā)明方法只消耗固定數(shù)量的臨時存儲,因而易于通過GPU寄存器來實現(xiàn)。接下來要將每個帶形產(chǎn)生的采樣點合成以生成最終的采樣結(jié)果。本發(fā)明方法中,假定光錐內(nèi)的毛發(fā)的不透明度、著色以及遮擋都是不變的,由此可以將采樣的結(jié)果近似為
權(quán)利要求
1.一種基于光線跟蹤的毛發(fā)渲染方法,其特征在于,該方法包括了以下步驟 (1)將發(fā)絲細分成帶形,并對所有的帶形建立包圍體加速結(jié)構(gòu); (2)根據(jù)場景光線跟蹤的信息生成光錐,遍歷包圍體加速結(jié)構(gòu),得到可能與圓錐相交的帶形; (3)計算圓錐與表示發(fā)絲的帶形的相交,并合成采樣結(jié)果; (4)將毛發(fā)采樣的結(jié)果與場景光線跟蹤的結(jié)果進行合成,生成最終圖像。
2.根據(jù)權(quán)利要求I所述基于光線跟蹤的毛發(fā)渲染方法,其特征在于,所述步驟(I)具體為首先將所有發(fā)絲根據(jù)屏幕投影的尺寸細分成不超過3個像素長的線段,然后在每個線段端點上進行著色計算,發(fā)絲的寬度數(shù)據(jù)和著色值一起存儲到每個線段端點上;接著對這一系列帶有寬度的線段根據(jù)表面面積構(gòu)建一個包圍體加速結(jié)構(gòu)對于每個線段,以及其端點處的寬度所形成的兩個隱式球體,構(gòu)建ー個軸對齊的包圍盒,并以此包圍盒作為構(gòu)建包圍體加速結(jié)構(gòu)的基本単位。
3.根據(jù)權(quán)利要求I所述基于光線跟蹤的毛發(fā)渲染方法,其特征在于,所述步驟(2)具體為對于ー個含有η個像素而且毛發(fā)采樣率為m的圖像,需要nXm個圓錐,η和m均為自然數(shù),如果m=l,姆個圓錐對應ー個像素,如果m>l則姆個圓錐對應ー個子像素;姆個圓錐由焦點O、光錐方向V以及法平面上的兩個向量Rx和Ry表示,Rx和Ry表示光錐與法平面相交形成的橢圓的兩個軸,法平面被定義為沿光線方向前進單位距離并且與光線方向垂直的平面,本發(fā)明對于直接由視點發(fā)出的光線、在場景中折射或反射后產(chǎn)生的光線以及對應景深效果渲染產(chǎn)生的光線生成圓錐;得到需要跟蹤的光錐之后,首先拿光錐與包圍體加速結(jié)構(gòu)進行求交;每ー個光錐用兩個棱錐來保守近似,兩個棱錐都從光錐焦點發(fā)出,分別沿光線的正負方向;棱錐的四個面分別由法平面上與橢圓兩個軸的正負方向分別垂直的四條線段,以及光錐焦點形成;之后利用分割軸定理快速判斷光錐與包圍體結(jié)構(gòu)中的包圍盒是否求交。
4.根據(jù)權(quán)利要求I所述基于光線跟蹤的毛發(fā)渲染方法,其特征在于,所述步驟(3)包括以下子步驟 (3. I)將帶形投影到法平面上形成四邊形首先將線段的兩個端點及其相應的寬度投影到光錐的法平面;投影后的端點上存儲的寬度信息可以作為半徑以該端點為圓心生成一個圓形,任選一條直徑可以產(chǎn)生兩個點;對于毛發(fā)末端這樣沒有別的線段共享的點,直接取與投影后的線段垂直的直徑;而對于毛發(fā)中部有兩條線段共享的點來說,取兩條線段的中線來生成新的ー對點;這樣ー來,每個帶形投影過后將會形成一個四邊形;而光錐在法平面上形成的是ー個由Rx和Ry決定的橢圓形;根據(jù)橢圓的兩個軸Rx和Ry,可以定義ー個變換T=[Rx,Ry]。通過其逆變換,可以將橢圓和四邊形變換到光錐的坐標系中,橢圓變換成圓形,四邊形仍然變換成四邊形; (3. 2)計算任意一個四邊形與圓形相交的面積取四邊形的每條邊和圓形的圓心各形成ー個三角形,之后將圓形與每個三角形相交得到ー個具有正負性的面積,最后所有的帶符號的面積相加其結(jié)果的絕對值就是四邊形與圓形相交的面積,三角形與圓形相交所得帶符號的面積是由三角形與圓形相交的不同情況分別計算的,將當前考慮的四邊形的邊稱為邊AB,將三角形的另外兩條邊稱為邊AO和B0,下面總結(jié)了四類相交情況(a)若邊AB所在的直線與圓形有兩個交點且均在AB之外,此時的相交面積就是三角形的面積;(b)若邊AB所在直線與圓形有兩個交點且只有一個交點在外,此時的相交面積是其中一個小三角形與一個扇形的和;(c)若兩個交點都在AB之內(nèi),此時的面積為其中一個小三角形和兩個扇形的和;(d)若邊AB完全在圓形之外,此時的面積為一個扇形的面積;然后將每個帶形產(chǎn)生的采樣點合成以生成最終的采樣結(jié)果;在假定光錐內(nèi)的毛發(fā)的不透明度、著色以及遮擋都是不變,可將采樣的結(jié)果近似為
全文摘要
本發(fā)明公開了一種基于光線跟蹤的毛發(fā)渲染方法,該方法通過將一個像素內(nèi)的采樣集合成為一個光錐,顯著地降低了渲染毛發(fā)這樣精細幾何所需要的采樣率。為了降低光錐與發(fā)絲相交的代價,本發(fā)明方法建立了一個包圍體加速結(jié)構(gòu)來快速得到可能與光錐相交的發(fā)絲,并且用一系列相連的帶形來近似投影到成像平面之后的發(fā)絲。此外,通過忽略光錐內(nèi)著色、不透明度以及遮擋的變化,大大降低了合成以及濾波透明采樣的開銷。本發(fā)明的方法在生成同等質(zhì)量的圖像情況下,性能比其他方法提高一個數(shù)量級。
文檔編號G06T15/06GK102982575SQ20121050503
公開日2013年3月20日 申請日期2012年11月29日 優(yōu)先權(quán)日2012年11月29日
發(fā)明者秦昊 申請人:杭州挪云科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
姜堰市| 石首市| 娱乐| 南华县| 卢氏县| 翁源县| 河北区| 三江| 孝感市| 耿马| 丹寨县| 重庆市| 金寨县| 桓仁| 肥西县| 巫山县| 宁城县| 泉州市| 德清县| 东源县| 深水埗区| 青海省| 乌拉特后旗| 松阳县| 大关县| 兴国县| 宁波市| 临泉县| 绥化市| 社旗县| 横山县| 东宁县| 巩义市| 蒲城县| 元谋县| 孟村| 九寨沟县| 邯郸市| 东乌| 青神县| 泽库县|