亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        GPU上的水彩畫風(fēng)格實(shí)時(shí)渲染及動(dòng)畫繪制

        2012-07-07 03:37:54王妙一1斌1雍俊海1
        圖學(xué)學(xué)報(bào) 2012年3期
        關(guān)鍵詞:水彩繪制動(dòng)畫

        王妙一1, 2, 3, 4, 王 斌1, 3 , 4, 雍俊海1, 3, 4

        (1. 清華大學(xué)軟件學(xué)院,北京 100084;2. 清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,北京 100084;3. 信息系統(tǒng)安全教育部重點(diǎn)實(shí)驗(yàn)室,北京 100084;4. 清華信息科學(xué)與技術(shù)國(guó)家實(shí)驗(yàn)室,北京 100084)

        水彩作為一種藝術(shù)形式被廣泛應(yīng)用于美術(shù)、時(shí)尚、海報(bào)、建筑草圖的繪制等領(lǐng)域,歷史悠久,由于其出色的藝術(shù)表現(xiàn)力,受到人們的青睞。然而,使用水彩畫風(fēng)格制作的動(dòng)畫數(shù)量卻非常少,主要原因是水彩畫的繪制過(guò)程復(fù)雜,技法變化多,連續(xù)兩幅畫面差異較大,動(dòng)畫制作成本高昂,費(fèi)時(shí)費(fèi)力。

        在非真實(shí)感渲染的研究領(lǐng)域里,如何平衡算法的效率與效果,模擬已有的或者創(chuàng)造新的藝術(shù)風(fēng)格,是研究學(xué)者們努力的目標(biāo)。

        水彩畫風(fēng)格渲染的處理方式主要分為兩類:一類是基于物理原理的模擬,另一類是基于經(jīng)驗(yàn)主義的圖像特征提取,以及再現(xiàn)(圖像濾鏡)。第1類方法的特點(diǎn)是繪制過(guò)程以筆劃為單位,模擬真實(shí)的繪畫過(guò)程,效果非常好,但缺點(diǎn)是非常耗時(shí);第2類方法的特點(diǎn)是更加快速,適合交互,但繪制效果不如前者逼真。

        從制作動(dòng)畫的角度考慮:使用第1類方法只能進(jìn)行離線渲染;使用第2類方法速度較快,控制靈活,有希望達(dá)到實(shí)時(shí)渲染的速度,進(jìn)而可以加入互動(dòng)環(huán)節(jié),將其應(yīng)用到游戲領(lǐng)域。

        怎樣能既擁有實(shí)時(shí)的渲染速度,又獲得較好的渲染效果,是一個(gè)值得研究的問(wèn)題。

        1 相關(guān)工作

        在非真實(shí)感渲染領(lǐng)域,對(duì)水彩模擬的相關(guān)研究已有十余年的歷史,其中,Curtis等[1]最早提出的水彩風(fēng)格渲染方法是第1類方法的代表。他們將畫布分為3層:Shallow Water Layer(紙面上一層具有流動(dòng)能力的水),Pigment Layer(沉積到紙張表面的顏料層),Capillary Layer(紙表面之下可以吸水的一層),通過(guò)模擬顏料和水在紙上發(fā)生的物理變化過(guò)程來(lái)實(shí)現(xiàn)水彩的模擬,屬于基于物理原理的類型,用戶只要輸入顏料畫在白紙和黑紙上分別呈現(xiàn)的顏色就可以進(jìn)行繪制,也可以通過(guò)類似的手段對(duì)二維圖像進(jìn)行風(fēng)格化處理,效果十分逼真,但是計(jì)算代價(jià)高昂。

        Laerhoven的方法[2]和Curtis的基本相同,但是他將畫布橫向切割為若干塊,通過(guò)分布式計(jì)算達(dá)到了實(shí)時(shí)的性能。在算法的本質(zhì)上是沒(méi)有改進(jìn)的。

        Lei和 Chang的方法[3]是出現(xiàn)比較早的屬于圖像濾鏡類的水彩風(fēng)格化方法。他們使用 Sobel濾波來(lái)實(shí)現(xiàn)邊緣加深和粗糙的效果,在物體的顏色渲染上,選擇了庫(kù)伯卡-芒克模型,通過(guò)使用頂點(diǎn)著色器和像素著色器達(dá)到實(shí)時(shí)的性能。然而,邊緣加深的效果比較不自然,產(chǎn)生了類似描邊的效果。物體本身的顏色過(guò)渡也太過(guò)平滑,感覺(jué)和水彩的繪制風(fēng)格差距過(guò)大,這個(gè)問(wèn)題在其他人的一些研究成果中也出現(xiàn)過(guò)。

        Bousseau等[4]提出了一個(gè)比較完善的處理二維圖像和三維模型水彩風(fēng)格化的方案。他將風(fēng)格化分為多種可選的效果,用戶根據(jù)自己的需要進(jìn)行選擇,并可以看到實(shí)時(shí)渲染結(jié)果。為了更加直觀地模擬水彩,Bousseau的方法沒(méi)有采用庫(kù)伯卡-芒克模型。雖然使用該方法的渲染速度可以達(dá)到實(shí)時(shí),但是得到的渲染結(jié)果略顯生硬。在水彩化的過(guò)程上,本文使用和它類似的方法。

        Luft等在水彩模擬上已有數(shù)年的研究,發(fā)表了多篇文章[5-7]。他們的實(shí)現(xiàn)方法屬于圖像濾鏡這一類型,即對(duì)圖像或者三維數(shù)據(jù)進(jìn)行抽象、再現(xiàn)。以往,他們將研究重點(diǎn)放在渲染的實(shí)時(shí)性上,如樹林的抽象渲染[6],以及植物模型的實(shí)時(shí)渲染[7],雖然通過(guò)人工指定ID的方法對(duì)渲染對(duì)象進(jìn)行分類分層再進(jìn)行后續(xù)處理的方法略為笨拙,但是渲染效果很好。在小型植物的渲染效果中增加的輪廓線雖然并不是水彩的特征,卻使畫面更富藝術(shù)表現(xiàn)力??梢哉f(shuō)這已經(jīng)不是單純的水彩,而是一種融合了水彩及其它藝術(shù)表現(xiàn)手法的新藝術(shù)風(fēng)格。

        Luft等在2008年提出了一種屬于第2類方法的對(duì)三維場(chǎng)景進(jìn)行水彩風(fēng)格化渲染的方法[5],該方法在水彩風(fēng)格中融入了鉛筆畫風(fēng)格,獲得的渲染結(jié)果非常具有藝術(shù)表現(xiàn)力,應(yīng)該說(shuō)是在第2類方法中難得一見(jiàn)的效果比較好的渲染方法。然而遺憾的是,他們的方法中使用了一些比較耗時(shí)的技術(shù)如環(huán)境遮擋系數(shù)的計(jì)算等,使得該方法雖然比一般的第1類方法渲染速度更快,但是仍不能達(dá)到實(shí)時(shí)的要求。

        本文改進(jìn)Luft等的方法,提出一種基于GPU的三維場(chǎng)景的水彩畫風(fēng)格實(shí)時(shí)渲染的方法,使得制作成本低廉的水彩動(dòng)畫成為可能。這種方法也可以應(yīng)用于游戲,及其它數(shù)字娛樂(lè)產(chǎn)業(yè)。

        2 水彩的主要特征

        水彩的技法變化很多,根據(jù)筆和畫紙的干濕程度,以及畫完一筆后隔多長(zhǎng)時(shí)間再畫第2筆都會(huì)產(chǎn)生不同的效果,不同的人畫水彩畫,即使構(gòu)圖與內(nèi)容相同,最后所展示的結(jié)果也會(huì)完全不同,這就是水彩的魅力所在。

        前人為我們總結(jié)出很多水彩的特征[1,4],在這里做一下簡(jiǎn)單的回顧。

        干筆(Dry Brush):當(dāng)筆紙都很干燥的時(shí)候,因?yàn)楫嫾埌纪共黄?,在沿筆劃的方向,紙表面高度上升的部分會(huì)沾到顏料,而下降的部分則會(huì)留白。

        邊緣加深(Edge Darkening):當(dāng)筆劃邊緣部分的水分開始蒸發(fā)時(shí),中間部分的水會(huì)帶著顏料流到邊緣處補(bǔ)充水分,導(dǎo)致邊緣處顏色較深。

        邊緣擺動(dòng)(Wobbling):水的滲透性導(dǎo)致筆劃的邊緣處不平滑。

        紊流(Turbulence Flow):畫紙變濕后會(huì)產(chǎn)生高低起伏的變化,由于水的張力作用,較低的區(qū)域會(huì)聚集較多水分,相應(yīng)的也會(huì)在那些地方聚集較多的顏料。結(jié)果是會(huì)產(chǎn)生低頻率的顏料分布不均的現(xiàn)象。

        顏料分散(Pigment Dispersion):由于畫紙本身有一些細(xì)紋,凹凸不平,所以和紊流特征類似,會(huì)產(chǎn)生高頻率的顏料分布不均的現(xiàn)象,這個(gè)特征會(huì)表現(xiàn)出一些紙張的紋路特性。

        以上是水彩畫的一些主要特征,需要強(qiáng)調(diào)的是這些特征不一定會(huì)出現(xiàn),而是要取決于畫家所選擇的繪畫技法。本文的方法也并沒(méi)有引入以上所有的特征,而是僅根據(jù)效果的需要選擇了其中的邊緣擺動(dòng)、紊流以及顏料分散這3個(gè)特征。除了基本的水彩特征,本文還使用了輪廓線、影線(Hatching Line)等素描風(fēng)格的表現(xiàn)手法來(lái)增強(qiáng)畫面的藝術(shù)表現(xiàn)力。

        3 基于 GPU的水彩風(fēng)格實(shí)時(shí)渲染算法

        本文算法整體上將畫布分為3層:

        1)細(xì)節(jié)層:表達(dá)場(chǎng)景中的基本色彩信息,包括場(chǎng)景的顏色、紋理,和燈光的顏色;

        2)環(huán)境層:表現(xiàn)場(chǎng)景中較暗的部分;

        3)筆觸層:繪制輪廓線和影線。

        其中細(xì)節(jié)層和環(huán)境層是組成水彩風(fēng)格渲染的主要部分。筆觸層可以被理解為畫家使用鉛筆在繪畫之前所打的底稿(輪廓線的部分),以及在繪畫完成后為增強(qiáng)畫面的立體感而在暗影調(diào)處隨意添加的鉛筆線(影線的部分)。由于筆觸層中的影線繪制算法具有隨機(jī)性,因此在動(dòng)畫的渲染中并不包含影線的繪制,在普通場(chǎng)景的渲染中,筆觸層被完整地繪制,以增強(qiáng)畫面的立體感。

        分別渲染得到這3層,合并可得最終渲染結(jié)果。

        3.1 算法整體流程

        本文渲染模塊由以下步驟組成,渲染流程的主要組成部分及其與下述步驟的對(duì)應(yīng)關(guān)系如圖1所示。

        圖1 渲染流程

        步驟 1 渲染法向量紋理;

        步驟 2 渲染深度值紋理;

        步驟 3 獲取模型的原始顏色;

        步驟 4 計(jì)算環(huán)境遮擋系數(shù);

        步驟 5 使用shadow mapping方法計(jì)算陰影;

        步驟 6 獲取光照信息,包括色調(diào)、強(qiáng)度,并與陰影信息合成,得到光照信息圖;

        步驟 7 將光照信息圖、模型的顏色信息、環(huán)境遮擋系數(shù)合成,并水彩化,得到細(xì)節(jié)層;

        步驟 8 將光照信息圖與環(huán)境遮擋系數(shù)合成,加入深藍(lán)色以表示場(chǎng)景中的陰暗部分,并水彩化,得到環(huán)境層;

        步驟 9 從法向量紋理計(jì)算繪制影線所需的屏幕空間的方向域,并根據(jù)該方向域繪制影線(Hatching line);

        步驟 10 繪制輪廓線(Silhouette)和折線(Crease);

        步驟 11 將影線、輪廓線、折線合成,得到筆觸層;

        步驟 12 將細(xì)節(jié)層、環(huán)境層、筆觸層合成得到最終渲染結(jié)果。

        本文使用 C++與 OpenGL Shader Language(GLSL)進(jìn)行編程,上述步驟大部分均在GPU上實(shí)現(xiàn),每個(gè)步驟由一組或多組著色器(vertex shader / fragment shader)組成。

        上述步驟中,步驟1~3對(duì)場(chǎng)景的一些基本信息進(jìn)行可視化,將數(shù)據(jù)保存在圖像中,方便后續(xù)算法的處理;步驟4進(jìn)行環(huán)境遮擋系數(shù)的計(jì)算,為細(xì)節(jié)層、環(huán)境層以及筆觸層的繪制做準(zhǔn)備;步驟5進(jìn)行陰影的繪制,雖然環(huán)境遮擋經(jīng)常被用來(lái)近似表示陰影,但是這種做法只有當(dāng)場(chǎng)景中只有天光或環(huán)境光時(shí)才有效,所以單獨(dú)進(jìn)行陰影的計(jì)算還是有必要的;步驟6將光照信息進(jìn)行可視化;步驟7對(duì)從前面的步驟得到的數(shù)據(jù)進(jìn)行合成,并將其水彩化,得到細(xì)節(jié)層,合成方法見(jiàn)3.4小節(jié);步驟8同樣將之前計(jì)算得到的數(shù)據(jù)合成、水彩化,得到環(huán)境層,合成方法見(jiàn) 3.5小節(jié);步驟 9~11進(jìn)行筆觸層的繪制;步驟12將細(xì)節(jié)層、環(huán)境層、筆觸層進(jìn)行簡(jiǎn)單合成,得到最終結(jié)果。除步驟9外,所有步驟均在GPU上實(shí)現(xiàn)。

        本文方法使用了與 Luft等人的方法相同的渲染框架,但是在環(huán)境遮擋系數(shù)的計(jì)算、影線的繪制、輪廓線與折線的繪制以及水彩化等幾個(gè)步驟中改進(jìn)或使用了與他們不同的實(shí)現(xiàn)方法,而這些方法的使用正是與之相比能夠大幅提高渲染速度的關(guān)鍵原因。

        3.2 環(huán)境遮擋(Ambient Occlusion)計(jì)算

        環(huán)境遮擋經(jīng)常被用于模擬天光下的陰影。在本文的方法中,環(huán)境遮擋有如下幾個(gè)用途:

        1)在細(xì)節(jié)層中表現(xiàn)較暗的部分;

        2)與光照強(qiáng)度值相乘,作為環(huán)境層的繪制基礎(chǔ);

        3)作為筆觸層的繪制基礎(chǔ)。

        環(huán)境遮擋的傳統(tǒng)計(jì)算方法是從物體表面上一點(diǎn)以該點(diǎn)法向量為中心的半球內(nèi)向外發(fā)射若干射線,在有效半徑R內(nèi)檢測(cè)這些射線是否與場(chǎng)景物體相交,相交的射線數(shù)目與全部射線的數(shù)目之比為環(huán)境遮擋系數(shù)。這樣做的缺點(diǎn)是耗費(fèi)的時(shí)間與場(chǎng)景復(fù)雜度相關(guān),而且在完成環(huán)境遮擋系數(shù)的計(jì)算后,場(chǎng)景的結(jié)構(gòu)不能發(fā)生變化,即這種方法只適用于靜態(tài)場(chǎng)景。

        Luft等在他們的渲染方法中使用了環(huán)境遮擋的傳統(tǒng)計(jì)算方法,這個(gè)環(huán)節(jié)是使得他們的方法速度不夠快的主要原因之一。我們發(fā)現(xiàn),Bavoil等[10]曾提出一個(gè)圖像空間的計(jì)算環(huán)境遮擋的方法,該算法耗費(fèi)的時(shí)間與場(chǎng)景復(fù)雜度無(wú)關(guān),只在屏幕空間利用傳入的深度值和法向量值進(jìn)行采樣計(jì)算,估算出近似的環(huán)境遮擋系數(shù)。該方法速度快,無(wú)需預(yù)計(jì)算,同時(shí)也適用于動(dòng)態(tài)場(chǎng)景,因此,本文采用此方法來(lái)計(jì)算環(huán)境遮擋系數(shù)A。

        3.3 水彩化方法

        水彩畫中的很多特征都是由于水的流動(dòng)性導(dǎo)致顏料密度不均造成的(如紊流、顏料分散),因此同樣顏色的顏料畫在畫紙上會(huì)擁有不同的顏色值,我們使用Bousseau等[4]所提出的公式來(lái)表示這種顏色的變化。

        其中,C表示當(dāng)前顏色值,C'表示處理后的顏色值,d是一個(gè)表示顏料密度的值,范圍為[0,2],當(dāng)d為1時(shí),有

        T表示一張紋理,輸入不同的紋理可以得到不同的特殊效果,而水彩的某些重要特征也可以通過(guò)輸入一些紋理得到。

        例如,紊流的效果可以通過(guò)輸入Perlin噪聲圖得到(如圖 2(c)所示),顏料分散的效果可以通過(guò)輸入高斯噪聲圖得到(如圖2(d)所示)。β是一個(gè)調(diào)整參數(shù),根據(jù)這個(gè)值的變化,可以使與T對(duì)應(yīng)的水彩特征更明顯或更含糊。

        邊緣擺動(dòng)效果是由于水的流動(dòng)性和畫紙的粗糙性,產(chǎn)生的毛刺形狀的邊緣效果。本文使用通過(guò)取噪聲圖梯度值,并根據(jù)該值的大小對(duì)附近相應(yīng)距離的像素的顏色值進(jìn)行復(fù)制的方法,實(shí)現(xiàn)該效果(如圖2(b)所示)。

        偽碼如下:

        xOffset = dFdx(NoiseMap(x,y));

        yOffset = dFdy(NoiseMap(x,y));

        finalColor = OriginalImage(x + xOffset / γ,

        y + yOffset / γ);

        其中, x和y表示當(dāng)前繪制像素的x坐標(biāo)和y坐標(biāo),NoiseMap (x,y)表示NoiseMap紋理中該點(diǎn)的像素值,NoiseMap是一張含有噪聲信息的灰度圖,經(jīng)過(guò)多次實(shí)驗(yàn),我們發(fā)現(xiàn)使用柏林噪聲圖的效果最好。對(duì)該噪聲圖進(jìn)行x方向和y方向的梯度值計(jì)算(dFdx和dFdy)可以得到兩個(gè)標(biāo)量xOffset和yOffset作為計(jì)算邊緣擺動(dòng)效果的偏移量。γ是一個(gè)調(diào)節(jié)參數(shù),通過(guò)調(diào)節(jié)該參數(shù)可以得到不同程度的邊緣擺動(dòng)效果。

        圖2 水彩特征模擬

        3.4 細(xì)節(jié)層繪制

        細(xì)節(jié)層表現(xiàn)出的是場(chǎng)景中光線較好的部分,其包含場(chǎng)景物體的顏色信息,以及燈光的顏色信息,是畫面中的主要構(gòu)成部分。

        在水彩畫以及其它風(fēng)格的藝術(shù)創(chuàng)作中,人們往往傾向于使用對(duì)比,而忌諱平滑的明暗過(guò)渡。因此,本文拋棄了傳統(tǒng)的光照模型,不考慮光照,直接渲染場(chǎng)景中的物體,得到它們最原始的顏色值M,如圖1所示。

        接下來(lái),對(duì)場(chǎng)景中的每個(gè)光源進(jìn)行光照計(jì)算,只考慮光照貢獻(xiàn)值,不考慮材質(zhì)和紋理,得到光照值L,表示為

        光照強(qiáng)度值LI和光照色調(diào)值LT在后續(xù)處理中會(huì)多次用到,其含義如圖1所示。其次,對(duì)場(chǎng)景的深度值D和法向量N進(jìn)行可視化,分別保存在紋理中。

        在室外景色的水彩畫創(chuàng)作中,經(jīng)常會(huì)看到用暖黃色表示光照,用藍(lán)紫色這樣的冷色表示陰影的例子,這兩種顏色的搭配非常協(xié)調(diào),而且也使畫面中其它顏色看起來(lái)更加柔和。因此,在準(zhǔn)備場(chǎng)景時(shí),如果選擇黃色燈光作為照明,容易得到比較柔和的渲染結(jié)果。

        將燈光的顏色與物體的顏色繪制到同一張紋理中,同時(shí)加入環(huán)境遮擋系數(shù)的影響,描述這個(gè)過(guò)程的表達(dá)式為

        其中,M2為該過(guò)程處理后的輸出紋理,同時(shí)也是細(xì)節(jié)層的母圖。由于細(xì)節(jié)層著重表現(xiàn)場(chǎng)景中較亮的部分,因此將LI設(shè)為M2紋理的alpha值。之后,使用3.3小節(jié)的水彩化步驟將M2進(jìn)行處理,即可得到細(xì)節(jié)層,如圖1所示。

        3.5 環(huán)境層繪制

        環(huán)境層用于表現(xiàn)場(chǎng)景中較陰暗的部分。在水彩創(chuàng)作當(dāng)中我們會(huì)看到很多使用藍(lán)色、紫色表示陰影的例子,因此在本文的繪制算法中,使用深藍(lán)色作為環(huán)境層的基調(diào)顏色。使用表達(dá)式

        得到一張只有深藍(lán)色的圖像,然后使用3.3小節(jié)的水彩化步驟進(jìn)行處理,即可得到環(huán)境層,如圖1所示。

        3.6 筆觸層繪制

        該層主要由兩部分組成,一部分是物體的輪廓線(Silhouette)、折線(Crease),另一部分是影線(Hatching Line)。

        3.6.1 輪廓線及折線繪制

        輪廓線指的是由法向量與視線方向相垂直的點(diǎn)所組成的線,折線指的是在視野范圍內(nèi),由法向量不連續(xù)的點(diǎn)所組成的線。在本文的方法中,不使用法向量,而使用深度作為數(shù)據(jù)的輸入。

        以深度圖作為輸入,X表示當(dāng)前像素的值,A、B、C、D、E、F、G、H 分別表示相鄰像素的值,如圖3所示。

        圖3 深度圖像素位置示意圖

        在式(7)中,IX表示像素X處的輪廓線以及折線的值,根據(jù)式(7),IX 可能是正值,也有可能是負(fù)值,在輪廓線處還會(huì)出現(xiàn)兩個(gè)一正一負(fù)的I值相鄰的情況,因此在實(shí)際處理中會(huì)涉及到一些細(xì)節(jié)的處理問(wèn)題,在這里我們不對(duì)這些細(xì)節(jié)進(jìn)行闡述。

        3.6.2 影線繪制

        影線分為兩種,一種是單向線,只畫一個(gè)方向的線,表示程度較淺,另一種是交叉線,表示程度較深。繪制哪種線由環(huán)境遮擋系數(shù)A的大小決定。設(shè)置兩個(gè)閾值k1和k2(k1

        為三維物體繪制十字影線需要考慮兩個(gè)問(wèn)題:一、影線的方向;二、如何根據(jù)給定的方向域進(jìn)行影線繪制。

        為了能夠快速地計(jì)算出繪制影線的方向域,本文采用了一個(gè)簡(jiǎn)單的方法:將模型上一點(diǎn)的三維空間法向量變換為兩個(gè)二維的方向矢量,即得到方向域其中,(x, y, z )為法向量值。采用該方法得到的方向域是在屏幕空間上變換得到的,所以不能保證這兩個(gè)方向看起來(lái)在三維空間中正交,不過(guò)在多數(shù)情況下效果還是很好的,如圖4所示。

        圖4 對(duì)方向域計(jì)算結(jié)果的影線繪制測(cè)試

        Jobard等[12]在1997年提出了一個(gè)在二維空間上根據(jù)給定的方向域繪制線條的方法,受到該方法的啟發(fā),本文采用以下算法進(jìn)行線條繪制。

        將二維空間平均分為若干小格子,每個(gè)小格子的寬度為 dsep,每個(gè)格子里放置一個(gè)種子點(diǎn),從種子點(diǎn)出發(fā),沿方向域所指定的方向繪制一條直線,當(dāng)以下3種情況之一發(fā)生時(shí),停止繼續(xù)畫線:

        1)線的長(zhǎng)度到達(dá)maxLength;

        2)線已畫到有效繪制范圍的邊界處;

        3)線繪制到的當(dāng)前點(diǎn)所對(duì)應(yīng)的方向值與起點(diǎn)所對(duì)應(yīng)的方向值差異過(guò)大。

        在Jobard的方法中,沒(méi)有對(duì)線條最大長(zhǎng)度的限制,但是考慮到在鉛筆素描畫的創(chuàng)作中,線條往往是有長(zhǎng)度范圍的,這和人的繪畫習(xí)慣有著密切的聯(lián)系,因此,在本文的方法中,設(shè)置了maxLength作為線條繪制的最大長(zhǎng)度。

        Jobard的方法里有一個(gè)線條繪制的終止條件是:當(dāng)前點(diǎn)與其它已繪制線條的距離小于 dtest。dtest是一個(gè)小于 dsep的數(shù)。這種檢測(cè)是比較耗時(shí)的,在本文的方法中,采取另一種方法避免兩條線過(guò)于接近:繪制一條線的同時(shí),將到這條線距離小于dtest范圍內(nèi)的種子點(diǎn)全部刪除。繪制結(jié)果表明該方法是有效的。

        最終的線條繪制結(jié)果如圖5所示。

        全部繪制完畢后,得到筆觸層,如圖1所示。將細(xì)節(jié)層、環(huán)境層和筆觸層簡(jiǎn)單相加,便可得到最終結(jié)果。

        圖5 影線繪制示例(影線的方向域保存在圖像的r,g,b,alpha 4個(gè)通道中)

        4 案例:靜態(tài)場(chǎng)景及動(dòng)畫場(chǎng)景的繪制

        4.1 渲染靜態(tài)場(chǎng)景

        本文使用上述方法對(duì)多個(gè)靜態(tài)場(chǎng)景進(jìn)行測(cè)試,均達(dá)到實(shí)時(shí)渲染速度(≥18fps),并得到較好的渲染結(jié)果。圖6為一個(gè)小木屋場(chǎng)景的渲染結(jié)果,該場(chǎng)景三角面片數(shù)約為 59K,渲染窗口大小為880×660(pixel),渲染速度達(dá)到 21fps。對(duì)另一個(gè)三角面片數(shù)為45K的客廳場(chǎng)景,渲染窗口大小為1000×600時(shí),渲染速度可以達(dá)到18fps。我們使用的顯卡型號(hào)為GeForce GTX 260+。Luft等在文章中提到,使用他們的方法渲染一幅800×600(pixel)的圖像需要20至40秒的時(shí)間。本文算法繪制效果與Luft等的效果非常接近,在繪制速度上卻有了極大的提高。由于Luft等并未在其文中說(shuō)明場(chǎng)景的規(guī)模和程序的運(yùn)行環(huán)境,無(wú)法進(jìn)行精確對(duì)比,其文 2008年才發(fā)表,但仍然可以看出本文算法在效率上有很大的優(yōu)越性。

        在本文的測(cè)試場(chǎng)景中,雖然小木屋場(chǎng)景比客廳場(chǎng)景更為復(fù)雜(面片數(shù)更多),但是渲染速度卻更快,這是由于本文的大部分算法使用圖像空間的技術(shù)實(shí)現(xiàn),因此整個(gè)算法的運(yùn)行時(shí)間受場(chǎng)景的復(fù)雜程度影響較小,相對(duì)的,受渲染窗口尺寸的影響較大。在實(shí)際的應(yīng)用中,三維場(chǎng)景的復(fù)雜程度是沒(méi)有限制的,但渲染窗口的大小是有限的(與顯示器的大小有關(guān)),因此對(duì)場(chǎng)景復(fù)雜度不敏感的方法在實(shí)踐中適用性更廣。

        圖6 靜態(tài)場(chǎng)景渲染結(jié)果

        4.2 實(shí)時(shí)動(dòng)畫繪制

        由于本文的方法已達(dá)到實(shí)時(shí)渲染的速度,為了驗(yàn)證將其應(yīng)用于動(dòng)畫、游戲及其它數(shù)字娛樂(lè)產(chǎn)業(yè)的可行性,而進(jìn)行了實(shí)時(shí)動(dòng)畫的制作。本文使用Maya建造動(dòng)畫場(chǎng)景,并建立簡(jiǎn)單的動(dòng)畫腳本分析系統(tǒng)。該系統(tǒng)可控制動(dòng)畫速度,同時(shí)支持物體平移等簡(jiǎn)單的腳本指令。

        制作了一套小熊動(dòng)畫的模型,在這套動(dòng)畫中,攝像機(jī)和小熊保持位置不變,畫面背景向左移去,場(chǎng)景中有轉(zhuǎn)動(dòng)的風(fēng)車和飄落的雪花。該場(chǎng)景的面片數(shù)約為 520K,我們?cè)O(shè)置動(dòng)畫的渲染窗口大小為 920×600(pixel),并在動(dòng)畫腳本中設(shè)置幀率為 20fps。實(shí)際的動(dòng)畫繪制效果非常流暢,達(dá)到了設(shè)置的幀率。動(dòng)畫繪制效果如圖7所示。

        由于筆觸層中的影線繪制算法具有較大隨機(jī)性,如果引入到動(dòng)畫的繪制中會(huì)產(chǎn)生較為明顯的抖動(dòng)現(xiàn)象,因此在本文的動(dòng)畫繪制過(guò)程中并未進(jìn)行影線的繪制。

        5 結(jié)論及展望

        對(duì)靜態(tài)場(chǎng)景和實(shí)時(shí)動(dòng)畫的渲染結(jié)果表明本文的水彩畫風(fēng)格渲染方法可以達(dá)到實(shí)時(shí)的渲染速度,并且獲得比較好的渲染效果,這表明該方法在計(jì)算機(jī)動(dòng)畫、游戲等數(shù)字娛樂(lè)產(chǎn)業(yè)領(lǐng)域有較大的應(yīng)用潛力。此外,由于本文方法的大部分算法使用圖像空間的技術(shù)實(shí)現(xiàn),可以利用 GPU進(jìn)行加速計(jì)算,因此,伴隨硬件技術(shù)的不斷發(fā)展,該方法的運(yùn)行速度還有很大的提升空間。

        圖7 實(shí)時(shí)動(dòng)畫繪制

        由于本文的處理方法屬于圖像濾鏡類型,因此,在某些水彩特征的呈現(xiàn)上會(huì)受到一定的限制。以邊緣加深為例,邊緣加深是一個(gè)隨著水分蒸發(fā)而產(chǎn)生的效果,和畫面上水分的多少有關(guān)系,和同一個(gè)顏色的區(qū)域是以什么樣的筆劃順序繪制也有關(guān)系,如果只是簡(jiǎn)單的將同一個(gè)色塊的邊緣處進(jìn)行加深得到的結(jié)果是十分不自然的,因此在本文的方法中并沒(méi)有加入邊緣加深這個(gè)特征。但是對(duì)于水彩畫的模擬而言,邊緣加深是一個(gè)重要的特征,如何在圖像濾鏡的方法中恰當(dāng)?shù)哪M這個(gè)特征是一個(gè)值得研究的問(wèn)題。

        在水彩風(fēng)格渲染的基礎(chǔ)上增添鉛筆線效果可以使得畫面看起來(lái)更加豐富,但是影線的繪制嚴(yán)重破壞了時(shí)間一致性,這在一個(gè)實(shí)時(shí)系統(tǒng)中是非常令人遺憾的。在非真實(shí)感渲染中,如何保持時(shí)間一致性是一個(gè)非常難的問(wèn)題。繪制可以保持時(shí)間一致性的影線可以作為一個(gè)新的課題繼續(xù)研究下去。

        目前我們的動(dòng)畫系統(tǒng)只支持一些簡(jiǎn)單的動(dòng)畫指令,將來(lái)會(huì)加入一些復(fù)雜的指令,并引入更多交互操作。

        [1]Curtis C J, Anderson S E, Seims J E, et al. Computer generated watercolor[C]//Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, New York, USA: ACM Press, 1997: 421-430.

        [2]Laerhoven T V, Liesenborgs J, Reeth F V. Real-time watercolor painting on a distributed paper model[C]//Proceedings of Computer Graphics International 2004.Crete, 2004: 640-643.

        [3]Lei S I E, Chang C F. Real-time rendering of watercolor effects for virtual environments[C]// Advances in Multimedia Information Processing-PCM 2004.Springer-Verlay Berlin Heidelberg, 2004: 474-481.

        [4]Bousseau A, Kaplan M, Thollot J, et al. Interactive watercolor rendering with temporal coherence and abstraction[C]//Proceedings of the 4th International Symposium on Non-photorealistic Animation and Rendering. New York: ACM Press, 2006: 141-149.

        [5]Luft T, Kobs F, Zinser W, et al. Watercolor illustrations of CAD data[C]//International Symposium on Computational Aesthetics in Graphics, Visualization and Imaging. Lisbon: Eurographics Association, 2008: 57-63.

        [6]Luft T, Deussen O. Interactive watercolor animations[C]//Poster Proceedings of Pacific Graphics 2005. Macau, 2005: 7-9.

        [7]Luft T, Deussen O. Real-time watercolor illustrations of plants using a blurred depth test[C]//Proceedings of the Fourth International Symposium on Non Photorealistic Animation and Rendering, New York:ACM Press, 2006: 11-20.

        [8]Lum E B, Ma K L. Non-photorealistic rendering using watercolor inspired textures and illumination[C]//Proceedings of the 9th Pacific Conference on Computer Graphics and Applications, Washington, DC:IEEE Computer Society, 2001: 322-330.

        [9]Landis H. Production-ready global illumination[C]//Course Notes for SIGGRAPH 2002 Course 16,RenderMan in Production. San Antonio, 2002: 87-101.

        [10]Bavoil L, Sainz M. Image-space horizon-based ambient occlusion[C]//Engel W. ed. ShaderX7:Advanced Rendering Techniques. Boston, MA:Course Technology, a Part of Cengage Learning,2009: 425-444.

        [11]Saito T, Takahashi T. Comprehensible rendering of 3-d shapes[C]//Proceedings of the 17th Annual Conference on Computer Graphics and Interactive Techniques, New York: ACM Press, 1990: 197-206.

        [12]Jobard B, Lefer W. Creating evenly-spaced streamlines of arbitrary density[C]//Proceedings of the 8th Eurographics Workshop on Visualization in Scientific Computing. Boulogne-sur-Mer, 1997: 45-55.

        猜你喜歡
        水彩繪制動(dòng)畫
        Art on coffee cups
        《霜晨》水彩
        《暖陽(yáng)》水彩
        《泊》水彩
        做個(gè)動(dòng)畫給你看
        動(dòng)畫發(fā)展史
        我的動(dòng)畫夢(mèng)
        文苑(2019年22期)2019-12-07 05:28:56
        水彩的“干”與“濕”
        童話世界(2019年17期)2019-07-04 15:15:36
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        我是動(dòng)畫迷
        成年美女黄的视频网站| 国产一区二区三区韩国| 欧美末成年videos在线观看| 青春草在线视频精品| 青青草精品在线免费观看| 中文字幕日韩精品永久在线| 日本午夜剧场日本东京热| 中文字幕一区二区三区久久网| 99久久人妻无码精品系列| a级毛片免费完整视频| 欧美亚洲日本国产综合在线| 色一情一区二| 中文字幕久久久精品无码| 中文无码免费在线| 亚洲一区二区三区美女av| 快射视频网站在线观看| 青青草小视频在线播放| (无码视频)在线观看| 亚洲成av人片在www| 精品国内自产拍在线观看| 国产一区二区丰满熟女人妻| 国产一区二区三区在线av| 欧美激情肉欲高潮视频| 亚洲爆乳少妇无码激情| 亚洲国产美女在线观看| 国产在线AⅤ精品性色| 精品一区二区三区人妻久久福利| 免费国产成人肉肉视频大全| 精品麻豆国产色欲色欲色欲www| 精选麻豆国产AV| 亚洲av成人一区二区三区色| 久久久精品亚洲一区二区国产av | 无码一区二区三区老色鬼| 国产伦码精品一区二区| 在线播放国产自拍av| 亚洲国产精品综合久久网络| 内射欧美老妇wbb| 无码人妻精品一区二区三18禁| 国产成人精品蜜芽视频| 亚洲天堂av路线一免费观看| 艳妇臀荡乳欲伦交换h在线观看|