国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

近似軟影下的三維增強(qiáng)繪制

2013-11-30 05:01陳思明王山東
關(guān)鍵詞:曲率陰影亮度

陳思明,王山東

(1.中國(guó)科學(xué)院軟件研究所 計(jì)算機(jī)科學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京100190;2.中國(guó)科學(xué)院研究生院,北京100049)

0 引 言

三維增強(qiáng)繪制是一種側(cè)重于提高視覺溝通效率的非真實(shí)的繪制方式,強(qiáng)調(diào)對(duì)物體的顏色亮度、表面細(xì)節(jié)等的增強(qiáng),其目的是使得含義表達(dá)和信息傳遞更清晰有效。目前的三維增強(qiáng)繪制算法多是著眼于如何在更加復(fù)雜、更加真實(shí)的光照?qǐng)鼍跋吕L制出增強(qiáng)的效果,能否廣泛適用于各種材質(zhì)、各種繪制風(fēng)格,是否實(shí)時(shí),以及交互性、可控性等等,但很少有涉及到陰影效果。例如,Vergne等[1]提出的方法非常有效地實(shí)現(xiàn)了適用于多種光照?qǐng)鼍?、材質(zhì)和繪制風(fēng)格的三維增強(qiáng),相對(duì)于以往的方法有很大改進(jìn),但尚未涉及陰影效果。陰影是一種真實(shí)存在的自然現(xiàn)象,能夠?yàn)槲覀兝斫馊S場(chǎng)景提供諸多視覺線索,對(duì)于三維增強(qiáng)繪制來(lái)說(shuō),陰影也是極其重要的。

本文在傳統(tǒng)三維增強(qiáng)繪制中增加了近似軟陰影效果。針對(duì)簡(jiǎn)單光照?qǐng)鼍?,改進(jìn)了Vergne等[1]提出的尺度函數(shù)以及計(jì)算曲率的方法,首先計(jì)算每個(gè)像素的光亮度值,然后根據(jù)相應(yīng)的曲率信息,應(yīng)用尺度函數(shù)修改其光亮度值,從而使得物體的表面細(xì)節(jié)看上去更加凸顯,有效地實(shí)現(xiàn)了對(duì)模型本身的增強(qiáng)。在此基礎(chǔ)上引入近似軟陰影效果,利用GPU幾何著色器提取物體的輪廓邊,并在擴(kuò)展輪廓邊生成半影區(qū)的時(shí)候通過(guò)調(diào)節(jié)半影區(qū)的衰減參數(shù)實(shí)現(xiàn)了對(duì)陰影的增強(qiáng),從而使得整個(gè)三維場(chǎng)景具有一致的增強(qiáng)效果。

1 相關(guān)工作

1.1 三維增強(qiáng)繪制

三維增強(qiáng)繪制經(jīng)歷了基于線條[2-4]的繪制和基于渲染的繪制。基于渲染的繪制方法不僅增強(qiáng)效果更好,而且廣泛適用于各種場(chǎng)景。下面介紹幾種典型的基于渲染的增強(qiáng)繪制方法。

Cignoni等[5]首先提出對(duì) Mesh(網(wǎng)格模型)面片法向量作Laplace平滑得到低頻成分,然后將高頻成分增強(qiáng)后疊加到原來(lái)的法向量上。Lee等[6]設(shè)計(jì)一個(gè)與物體幾何信息有關(guān)的光源系統(tǒng),將物體表面分成不同片段,并根據(jù)每個(gè)片段的表面特征設(shè)定光源系統(tǒng)的各參數(shù),然后計(jì)算在整個(gè)光源系統(tǒng)照射下的增強(qiáng)效果。Rusinkiewicz等[7]對(duì)每個(gè)頂點(diǎn)的法向量做不同尺度的高斯平滑濾波,并依據(jù)下一個(gè)尺度的法向量確定當(dāng)前尺度下的光源方向,然后在各個(gè)尺度下分別計(jì)算光照,最后將所有的光照結(jié)果加權(quán)求和。Ritschel等[8]利用Cornsweet Illusion視覺效應(yīng),在CIELAB色彩空間對(duì)L通道應(yīng)用公式U(S)=S+λ(S-Sσ)提高了對(duì)比度。Vergne等[9]對(duì)物體表面每個(gè)點(diǎn)提取視點(diǎn)相關(guān)的shape descriptor,然后以該描述器矢量為坐標(biāo)從指定的Apparent Relief Map中查找relief值,利用relief值直接或間接影響最終像素的值。Vergne等[10]利用人的視覺特點(diǎn),即人眼感知到的反射光的分布反映了物體表面的彎曲程度,通過(guò)改變?nèi)肷涔獾姆较騺?lái)增大反射光對(duì)應(yīng)的分布范圍,使得人眼感知到物體表面彎曲得更厲害了。Vergne等[1]在普通的繪制方程中增加一個(gè)與物體的表面幾何信息、材質(zhì)以及光照模型有關(guān)的尺度函數(shù),針對(duì)不同場(chǎng)景適當(dāng)定義和調(diào)整尺度函數(shù)的各個(gè)部分可以達(dá)到各種增強(qiáng)效果。Yongwei等[11]提出一種新的擾動(dòng)法向量的方法,可以引導(dǎo)觀察者的注意力,讓用戶感知到物體表面細(xì)節(jié)的增強(qiáng)。Xin Zhang等[12]提出交互式的局部增強(qiáng),用戶可以控制增強(qiáng)的方式和增強(qiáng)的程度。

1.2 近似軟影的實(shí)時(shí)繪制和陰影的風(fēng)格化繪制

傳統(tǒng)的陰影算法包括陰影圖和陰影體兩大類,通常只能模擬點(diǎn)光源形成的硬影效果。理上完全正確的軟影效果往往需要耗費(fèi)太多的計(jì)算,近年來(lái)出現(xiàn)了很多模擬近似物理正確的軟影效果的方法,例如Chan等[13]提出使用半影圖生成近似軟影效果,但該方法需要用CPU提取物體的輪廓邊。呂偉偉[14]改進(jìn)Chan等[13]的方法,實(shí)現(xiàn)了完全基于GPU的近似軟影實(shí)時(shí)繪制算法。

陰影的風(fēng)格化繪制可以畫出具有特殊效果但并非物理正確的陰影。DeCoro等[15]對(duì)每個(gè)光源,將二值的可見性函數(shù)V(x)經(jīng)過(guò)L-p距離變換、高斯模糊處理以及閾值變換后,得到一個(gè)shadow matte;用戶通過(guò)調(diào)節(jié)4個(gè)參數(shù):膨脹度、亮度、柔和度、抽象度,綜合控制最終繪制出的陰影的效果。Obert等[16]提出將 “可見性信息”從光照環(huán)境中分離出來(lái),并映射到haar小波空間,通過(guò)編輯“可見性信息”實(shí)現(xiàn)對(duì)陰影的編輯。Mohan等[17]提出在圖像空間將陰影從其它部分分離出來(lái),然后對(duì)陰影建模和編輯,調(diào)整陰影的位置、亮度和柔和度。Petrovic等[18]提出一種用于卡通動(dòng)畫場(chǎng)景的半自動(dòng)的陰影抽象化繪制方法,該方法先對(duì)手繪作品作膨脹處理,然后根據(jù)用戶指定的物體深度值和相對(duì)位置重構(gòu)三維場(chǎng)景,最后設(shè)置光源、繪制抽象陰影。這些方法大多強(qiáng)調(diào)對(duì)陰影的風(fēng)格化和抽象化,或者是針對(duì)特殊應(yīng)用,很少有做三維增強(qiáng)繪制中陰影的增強(qiáng)繪制。

2 近似軟影下的三維增強(qiáng)繪制

2.1 三維模型的增強(qiáng)

本文針對(duì)簡(jiǎn)單光照?qǐng)鼍?,改進(jìn)了Vergne等[1]提出的尺度函數(shù)以及計(jì)算曲率的方法,有效地實(shí)現(xiàn)了對(duì)三維模型本身的增強(qiáng)。

2.1.1 曲率的計(jì)算

曲面曲率就是法向量的變化率,其幾何意義是某點(diǎn)領(lǐng)域所圍的曲面與平面相比的彎曲程度,法向的變化能直觀地表現(xiàn)出物體表面的凹凸特征。本文計(jì)算曲率時(shí),直接對(duì)法向量作橫向和縱向的差分,而不是像Romain等[1]那樣通過(guò)第二基本形式定義Hessian矩陣,然后計(jì)算主曲率、平均曲率等。

在實(shí)際中,采用deferred shading(即多遍繪制)的方法,第一遍將頂點(diǎn)法向量渲染到一張紋理圖中,第二遍從紋理圖中讀取每個(gè)像素及其上下左右4個(gè)位置的法向量。

如圖1所示,當(dāng)前位置x的曲率為:(e-d+b-g)*scale,其中e,d表示位于x上下兩個(gè)位置的紋理值的第一分量,b,g表示位于x左右兩個(gè)位置的紋理值的第二分量;scale是一個(gè)可控參數(shù),范圍在[0,1]之間。

圖1 曲率的計(jì)算

這種計(jì)算曲率的方法相比Romain等[1]簡(jiǎn)化了很多,并且在我們的實(shí)驗(yàn)中能夠得到很好的效果。

2.1.2 改進(jìn)的尺度函數(shù)

在傳統(tǒng)的光照方程中增加一個(gè)尺度函數(shù)是一種很直觀的方法,對(duì)每個(gè)像素計(jì)算其光亮度值,然后根據(jù)對(duì)應(yīng)的曲率信息,應(yīng)用尺度函數(shù)增強(qiáng)或減弱其光亮度值,可以使物體的表面細(xì)節(jié)看上去更加凸顯。本文的尺度函數(shù)定義如下

固定c,函數(shù)σ隨l變化的曲線見圖2,參數(shù)α控制σ函數(shù)不動(dòng)點(diǎn)的位置,即曲線交點(diǎn)的位置。該尺度函數(shù)同樣滿足:①σ相對(duì)于l的單調(diào)性,即當(dāng)c>0時(shí),σ隨l遞增(紅色曲線);當(dāng)c<0時(shí),σ隨l遞減(綠色曲線),因此不會(huì)產(chǎn)生新的極值,造成亮度不一致的感覺;②在平面區(qū)域,即曲率為0時(shí),σ為1,亮度值不變,不會(huì)增強(qiáng)曲率為0的點(diǎn);③參數(shù)易于控制。

在本文算法中,c為前面用法向差分方法計(jì)算出的曲率,l是Phong光照模型下每個(gè)像素的光亮度值。直接對(duì)c和l應(yīng)用尺度函數(shù),可以更好地反映曲率如何影響最終光亮度值。這種方法是針對(duì)簡(jiǎn)單光照?qǐng)鼍暗?,在我們的?shí)驗(yàn)中取得了非常好的效果。而在Romain[1]中需要將曲率用雙曲正切函數(shù)映射到[-1,1]區(qū)間,并且σ的第二個(gè)參數(shù)與BRDF和光照?qǐng)鼍坝嘘P(guān)。

圖2 σ隨l變化的曲線

2.2 陰影區(qū)域的增強(qiáng)

本文采用呂偉偉等[14]提出的一種完全基于GPU的近似軟影實(shí)時(shí)繪制算法來(lái)繪制陰影,并在此基礎(chǔ)上提出一種巧妙的方法實(shí)現(xiàn)對(duì)陰影的增強(qiáng)。

具體來(lái)說(shuō),首先按照陰影圖算法計(jì)算從光源中心得到的深度圖,用以確定本影區(qū)范圍;然后通過(guò)GPU的幾何著色器提取物體輪廓邊,并將輪廓邊向外擴(kuò)展繪制線性近似半影圖;最后將半影圖中的亮度值與片元顏色混合得到最終像素值。

在現(xiàn)實(shí)生活中,半影區(qū)域的亮度值不是嚴(yán)格按照與本影區(qū)的距離線性分布的,如圖3,而是隨著光源與接收物之間的距離和光源與遮擋物之間距離的比值的減少而減少的??梢杂孟旅娴墓浇颇M這一現(xiàn)象:其中α是片元的亮度值,d是該片元與光源之間的距離,r是該片元對(duì)應(yīng)的深度圖中的深度值。λ可以看作是半影區(qū)的衰減因子,是控制半影區(qū)大小的一個(gè)重要因素。增大λ,會(huì)減弱片元的亮度值,使得陰影邊界更模糊,半影區(qū)更大;反之,會(huì)使半影區(qū)變小。因此,通過(guò)調(diào)整參數(shù)λ,可以改變半影區(qū)的亮度和大小,從而使得陰影區(qū)域可以跟三維場(chǎng)景中的模型保持一致的增強(qiáng)。

圖3 半影區(qū)亮度變化

2.3 算法流程

本文算法是一種四遍繪制算法,所有這四遍都是在GPU中進(jìn)行,各遍主要功能如下:

第一遍:將頂點(diǎn)的法向量寫入片段顏色,生成法向圖。

第二遍:與傳統(tǒng)的陰影圖算法一樣,從光源繪制場(chǎng)景,得到場(chǎng)景的深度圖。

第三遍:利用GPU的幾何著色器提取場(chǎng)景中物體的輪廓邊,并將輪廓邊沿頂點(diǎn)法線方向向外擴(kuò)展繪制近似半影圖。通過(guò)調(diào)節(jié)半影區(qū)的衰減參數(shù),控制半影區(qū)的亮度和大小。

第四遍:從眼睛視點(diǎn)繪制場(chǎng)景,按Phong光照模型計(jì)算每個(gè)像素的光亮度值。從法向圖中讀取每個(gè)像素及其4鄰域的法向信息,計(jì)算其曲率,并應(yīng)用尺度函數(shù)調(diào)整光亮度值。將可見片元的坐標(biāo)轉(zhuǎn)換到光源坐標(biāo)系,如果該點(diǎn)的深度大于深度圖中的深度,那么認(rèn)為該點(diǎn)完全處于硬陰影區(qū)域中;否則,查詢半影圖中的亮度值,并將該亮度與增強(qiáng)后的片元顏色混合得到最終顏色值。

3 實(shí)驗(yàn)結(jié)果及分析

本文算法使用OpenGL和CG編程實(shí)現(xiàn),實(shí)驗(yàn)所使用的系統(tǒng)是 Windows XP,硬件平臺(tái)是:CPU為Intel Core2 E7400 2.80GHz;物理內(nèi)存2.00GB;GPU為NVIDIA Ge-Force 9800GTX。所有中間生成的紋理圖及最終結(jié)果圖的分辨率都是800x800。

程序中共定義了4張紋理圖:法向圖,深度圖,輪廓圖(即半影圖),以及一張輔助深度圖;3個(gè)Frame Buffer Object,分別用于生成法向圖、輪廓圖和深度圖。部分模型的繪制幀率見表1,這里選取的都是較復(fù)雜的模型。

表1 本文算法的繪制幀率

實(shí)驗(yàn)測(cè)試了10個(gè)模型,部分模型的運(yùn)行結(jié)果見圖4—圖7。在Phong光照模型下,模型本身和軟陰影得到了一致有效的增強(qiáng)。例如圖4,dragon模型頭部的表面細(xì)節(jié),牙齒、嘴里的陰影、眼睛,頭上的棱角,身上的鱗片,尾巴上的尖角等特征都更加凸顯,陰影也變得更黑更集中。圖5buddha模型的眼睛、鼻子、嘴巴、耳朵,手腳指頭以及衣服和底座上的圖案都明顯增強(qiáng)了,陰影也更黑更集中了。圖6lion模型的脖子、身體,頭部的陰影,以及圖7 armdillo模型腹部及大腿的表面細(xì)節(jié),耳朵、手掌處的陰影,都得到了明顯的增強(qiáng)。

由于幾何著色器接受的圖元格式是具有鄰接信息的三角形圖元,在對(duì)模型作預(yù)處理時(shí),計(jì)算頂點(diǎn)法向和面片鄰接信息會(huì)耗費(fèi)較多時(shí)間,成為算法的瓶頸,而增強(qiáng)算法本身耗費(fèi)的時(shí)間非常少。表2顯示了對(duì)模型預(yù)處理消耗的時(shí)間和繪制一幀的平均時(shí)間,第一行的時(shí)間單位是s,第二行單位為ms。

表2 各階段所用時(shí)間(單位:預(yù)處理s,繪制ms)

4 結(jié)束語(yǔ)

本文的主要貢獻(xiàn)在于首次在三維增強(qiáng)中引入軟陰影效果,并實(shí)現(xiàn)了整個(gè)場(chǎng)景的一致增強(qiáng)。與Romain[1]相比,本文算法對(duì)模型的增強(qiáng)是針對(duì)簡(jiǎn)單光照環(huán)境的,對(duì)法向量作差分得到曲率,應(yīng)用Phong光照模型計(jì)算每個(gè)像素的初始光亮度值,然后直接對(duì)曲率和光亮度值應(yīng)用尺度函數(shù),逐像素作光亮度調(diào)整,這種方法在簡(jiǎn)單光照環(huán)境下可以取得非常好的效果;為了實(shí)現(xiàn)對(duì)陰影的增強(qiáng),在擴(kuò)展輪廓邊形成半影圖時(shí),通過(guò)調(diào)整半影區(qū)的衰減參數(shù)來(lái)控制半影區(qū)的亮度和大小,使得整個(gè)場(chǎng)景具有一致的增強(qiáng)效果。

未來(lái)工作可以從兩方面著手:在不降低繪制效率的前提下,模擬盡量物理正確的軟影效果,同時(shí)改進(jìn)增強(qiáng)陰影的方法;改進(jìn)模型增強(qiáng)算法,使其可以在更多的場(chǎng)景下實(shí)現(xiàn)較好的增強(qiáng)效果,同時(shí)保持整個(gè)三維場(chǎng)景的一致性。

[1]Romain Vergne,Romain Pacanowski,Pascal Barla,et al.Radiance scaling for versatile surface enhancement[C]//New York,USA:Symposium on Interactive 3DGraphics and Games,2010:143-150.

[2]Yunjin Lee,Lee Markosian,Seungyong Lee,et al.Line drawings via abstracted shading[J].ACM Transactions on Graphics,2007,26(3):18.

[3]Michael Kolomenkin,Ilan Shimshoni,Ayellet Tal.Demarcating curves for shape illustration[J].ACM Trans Graph,2008,27(5):1-9.

[4]Long Zhang,Ying He,Xuexiang Xie,et al.Laplacian lines for real-time shape illustration[C]//New York,USA:Symposium on Interactive 3DGraphics and Games,2009:129-136.

[5]Paolo Cignoni,Roberto Scopigno,Marco Tarini.A simple normal enhancement technique for interactive non-photorealistic renderings[J].Computers & Graphics,2005,29(1):125-133.

[6]Chang Ha Lee,Xuejun Hao,Amitabh Varshney.Geometrydependent lighting[J].IEEE Transactions on Visualization and Computer Graphics,2006,12(2):197-207.

[7]Szymon Rusinkiewicz,Michael Burns,Doug DeCarlo.Exaggerated shading for depicting shape and detail[J].ACM Transactions on Graphics,2006,25(3):1199-1205.

[8]Tobias Ritschel,Kaleigh Smith.3Dunsharp masking for scene coherent enhancement[J].ACM Transactions on Graphics-TOG,2008,27(3):1-8.

[9]Romain Vergne,Pascal Barla,Xavier Granier,et al.Apparent relief:A shape descriptor for stylized shading[C]//France:Symposium on Non-photorealistic Animation and Rendering,2008:23-29.

[10]Romain Vergne,Romain Pacanowski,Pascal Barla,et al.Light warping for enhanced surface depiction[J].ACM Transactions on Graphics-TOG,2009,28(3):1-8.

[11] Miao Yongwei,F(xiàn)eng Jieqing,Pajarola Renato.Visual sa-liency guided normal enhancement technique for 3Dshape depiction[J].Computers & Graphics,2011,35(3):706-712.

[12]Xin Zhang,Wei Chen,Jing Fang,et al.Perceptually-motivated shape exaggeration[J].The Visual Computer,2010,26(6-8):985-995.

[13]Chan Eric,Durand Frédo.Rendering fake soft shadows with smoothies[C]//Switzerland:Eurographics Symposium on Rendering,2003:208-218.

[15]Christopher DeCoro,F(xiàn)orrester Cole,Adam Finkelstein,et al.Stylized Shadows[C]//New York,USA:International Symposium on Non-Photorealistic Animation and Rendering,2007:77-83.

[16]Juraj Obert,F(xiàn)abio Pellacini,Sumanta N Pattanaik.Visibility editing for all-frequency shadow design[J].Comput Graph Forum,2010,29(4):1441-1449.

[17]Ankit Mohan,Jack Tumblin,Prasun Choudhury.Editing soft shadows in a digital photograph[J].IEEE Computer Graphics and Applications,2007,27(2):23-31.

[18]Lena Petrovic,Brian T Fujito,Lance Williams,et al.Shadows for cel animation[C]//New York,USA:Proceeding SIGGRAPH,2000:511-516.

猜你喜歡
曲率陰影亮度
一類雙曲平均曲率流的對(duì)稱與整體解
帶平均曲率算子的離散混合邊值問題凸解的存在性
遠(yuǎn)不止DCI色域,輕量級(jí)機(jī)身中更蘊(yùn)含強(qiáng)悍的亮度表現(xiàn) 光峰(Appptronics)C800
面向復(fù)雜曲率變化的智能車路徑跟蹤控制
你來(lái)了,草就沒有了陰影
亮度調(diào)色多面手
亮度一樣嗎?
讓光“驅(qū)走”陰影
陰影魔怪
泰兴市| 沁水县| 兴义市| 呈贡县| 视频| 河池市| 醴陵市| 金寨县| 德令哈市| 桂东县| 吉林市| 衡南县| 吴桥县| 满洲里市| 青岛市| 岐山县| 三穗县| 高雄市| 沁源县| 利津县| 许昌县| 临沂市| 五莲县| 阳新县| 嘉祥县| 建宁县| 突泉县| 霍城县| 自贡市| 河津市| 灵武市| 金门县| 镇雄县| 望奎县| 昭苏县| 保康县| 宁陕县| 乌兰浩特市| 都匀市| 景洪市| 四川省|