本發(fā)明涉及三維場(chǎng)景渲染技術(shù),特別是涉及一種植被場(chǎng)景的渲染方法。
背景技術(shù):
豐富的植被可以有效地提升場(chǎng)景的真實(shí)度。過程式的植被生成技術(shù)可以使用較少的存儲(chǔ)空間,利用CPU強(qiáng)大的計(jì)算能力在運(yùn)行時(shí)生成草體網(wǎng)格,被廣泛應(yīng)用于圖形引擎中。
在植被場(chǎng)景中,生成的植被通常有相當(dāng)?shù)拿芗潭?,傳統(tǒng)的過程式植被生成方案中,采用由三個(gè)方形面片相交形成的星狀網(wǎng)格(面片之間的夾角為60度),來模擬植被成簇的樣子,如圖1所示。在進(jìn)行渲染時(shí),每個(gè)面片上將貼上植被(如草體)的紋理。
在上述植被場(chǎng)景渲染方案中,當(dāng)攝像機(jī)的方向和植被面片的平面方向接近平行時(shí),網(wǎng)格面片在攝像機(jī)上投影成一條直線,出現(xiàn)明顯的面片感,如圖2所示,當(dāng)攝像機(jī)在三個(gè)方形面片所構(gòu)成的網(wǎng)格上部時(shí),該網(wǎng)格在攝像機(jī)上的投影為三條相交的直線所構(gòu)成的星形。而在現(xiàn)實(shí)中,在垂直方向看成簇的植被時(shí),植被的葉子通常會(huì)呈現(xiàn)出向外四散的視覺效果而非線條,因此,三條相交線構(gòu)成的星形渲染效果,會(huì)由于投影面積的大幅度減少而存在視覺上的不真實(shí)感問題,這種不真實(shí)的渲染效果通常稱為面片感。
由此可見,采用現(xiàn)有的植被場(chǎng)景渲染方法,攝像機(jī)在某些角度下觀察植被會(huì)存在面片感問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的主要目的在于提供一種植被場(chǎng)景的渲染方法,可以避免場(chǎng)景渲染時(shí)的面片感問題,提高渲染的真實(shí)度。
為了達(dá)到上述目的,本發(fā)明提出的技術(shù)方案為:
一種植被場(chǎng)景的渲染方法,包括:
對(duì)于植被場(chǎng)景中待渲染對(duì)象的每個(gè)面片,按照到面片底部的垂直距離越高則頂點(diǎn)的偏移量越大的原則,將其中的頂點(diǎn)進(jìn)行偏移,所述偏移的方向垂直于所屬面片的平面;
利用經(jīng)過所述偏移后的面片,對(duì)所述待渲染對(duì)象進(jìn)行渲染。
綜上所述,本發(fā)明提出的植被場(chǎng)景的渲染方法,通過對(duì)待渲染對(duì)象的面片頂點(diǎn)進(jìn)行水平方向的偏移,可以擴(kuò)大從上向下觀察植被時(shí)面片的投影面積,因此可以有效避免面片感的出現(xiàn),提高渲染的真實(shí)度。
附圖說明
圖1為由三個(gè)方形面片相交形成的星狀網(wǎng)格示意圖;
圖2為從上向下看圖1所示的星狀網(wǎng)格時(shí)呈現(xiàn)出的面片感示意圖;
圖3為本發(fā)明實(shí)施例的方法流程示意圖;
圖4為對(duì)三個(gè)方形面片相交形成的星狀網(wǎng)格進(jìn)行頂點(diǎn)偏移處理時(shí)的偏移方向示意圖;
圖5為圖4進(jìn)行頂點(diǎn)偏移處理后的頂視圖效果示意圖;
圖6為對(duì)一個(gè)面片的頂點(diǎn)集合擴(kuò)展示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明的核心思想是:模擬植被葉片表面向外發(fā)散的特性,將植被場(chǎng)景中待渲染對(duì)象的方形面片的頂部頂點(diǎn)向外進(jìn)行水平方向偏移,即偏移的角度垂直于面片,這樣從上到下觀察草體時(shí)草體面片的投影就會(huì)比較大,從而可以避免面片感出現(xiàn)。
圖3為本發(fā)明實(shí)施例的方法流程示意圖,如圖3所示,該植被場(chǎng)景的渲染方法實(shí)施例主要包括:
步驟301、對(duì)于植被場(chǎng)景中待渲染對(duì)象的每個(gè)面片,按照到面片底部的垂直距離越高則頂點(diǎn)的偏移量越大的原則,將其中的頂點(diǎn)進(jìn)行偏移,所述偏移的方向垂直于所屬面片的平面。
本步驟中,通過對(duì)面片的頂點(diǎn)進(jìn)行垂直于面片平面方向的偏移(即水平方向的偏移),并且按照到面片底部的垂直距離越高則頂點(diǎn)的偏移量越大的原則進(jìn)行偏移,可以擴(kuò)大攝像機(jī)從上向下觀察植被時(shí)在攝像機(jī)中的投影面積,從而避免出現(xiàn)平面的投影為線條時(shí)所出現(xiàn)的面片感情況。
這里,需要按照到面片底部的垂直距離越高則頂點(diǎn)的偏移量越大的原則進(jìn)行偏移,可以使得上部頂點(diǎn)向外偏移最多,從而可以表現(xiàn)出植被葉片表面向外發(fā)散的特性。
圖4給出了對(duì)三個(gè)方形面片相交形成的星狀網(wǎng)格進(jìn)行頂點(diǎn)偏移處理時(shí)的偏移方向示意圖,圖中箭頭所指的方向?yàn)槠频姆较颉Mㄟ^采用圖4所示的偏移方式,可以獲得圖5所示的投影效果。由圖5中可以看出經(jīng)過頂點(diǎn)偏移后,從上向下觀察植被時(shí)的投影將由三個(gè)矩形相交而成,因此,可以避免從上向下觀察植被時(shí)的面片感。
較佳地,按照Si=Smax×din,計(jì)算所述頂點(diǎn)的偏移量,其中,Si為頂點(diǎn)i的偏移量,所述di為頂點(diǎn)i到所在面片底部的垂直距離與面片高度的比值,Smax為預(yù)設(shè)的最大偏移量,n為預(yù)設(shè)的偏移指數(shù),1≤n。
按照上述Si=Smax×din來計(jì)算偏移量,位于面片底部的兩個(gè)頂點(diǎn)(即表示植被根部的頂點(diǎn))的偏移量將為零,而隨著距離面片底部的高度越大,相應(yīng)的偏移量會(huì)越大。
在實(shí)際應(yīng)用中,偏移指數(shù)n可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需要進(jìn)行設(shè)置,較佳的,可以設(shè)置為2或3等值。
步驟302、利用經(jīng)過所述偏移后的面片,對(duì)所述待渲染對(duì)象進(jìn)行渲染。
較佳地,為了進(jìn)一步使渲染效果更接近現(xiàn)實(shí)場(chǎng)景可以通過增加面片的頂點(diǎn)數(shù),即在進(jìn)行所述偏移之前,對(duì)于每個(gè)所述面片,對(duì)該面片的頂點(diǎn)集合進(jìn)行擴(kuò)展,這樣,可以利用更多頂點(diǎn)的不同程度的水平偏移,渲染出真實(shí)場(chǎng)景中植被葉片通常會(huì)向下彎曲的特點(diǎn),如此可以大幅度提高渲染的真實(shí)度。
較佳地,可以采用下述方法,對(duì)面片的頂點(diǎn)集合進(jìn)行擴(kuò)展:
在進(jìn)行所述偏移之前,對(duì)于每個(gè)所述面片,利用預(yù)設(shè)的M條高度不同的線條進(jìn)行橫向切割,將切割后得到的所述線條與該面片邊界的交點(diǎn),增加至該面片的頂點(diǎn)集合中,1≤M。
這里需要說明的是,一個(gè)面片在未切割之前只有底部的兩個(gè)頂點(diǎn)和頂部的兩個(gè)頂點(diǎn)構(gòu)成,在經(jīng)過多條線切割后,切割所產(chǎn)生的線條與邊界的交點(diǎn)將增加為新的頂點(diǎn),這樣,采用上述301中的偏移方法對(duì)頂點(diǎn)進(jìn)行偏移后,將會(huì)隨著頂點(diǎn)距離面片底部的高度的增加,進(jìn)行偏移的偏移量也會(huì)逐漸增加,這樣,就會(huì)渲染得到更細(xì)膩的接近真實(shí)的葉片彎曲效果。
上述用于切割的線條數(shù)量M可以由本領(lǐng)域?qū)嶋H人員根據(jù)實(shí)際需要進(jìn)行設(shè)置,當(dāng)M值大時(shí),得到的頂點(diǎn)會(huì)較多,表現(xiàn)的真實(shí)度會(huì)增加,相應(yīng)的計(jì)算處理開銷也會(huì)增加,本領(lǐng)域?qū)嶋H人員可根據(jù)上述特點(diǎn),結(jié)合實(shí)際需要設(shè)置合適的M值。
較佳地,為了方便計(jì)算,所述線條可以為水平線,并采用平均切割的方式進(jìn)行所述切割。圖6為利用兩條水平線對(duì)一個(gè)面片進(jìn)行平均切割的示意圖,如圖所示,經(jīng)過切割后,該面片的頂點(diǎn)由4個(gè)增加為8個(gè)。
綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。