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

        ?

        基于CSG體的投影包圍盒加速算法研究

        2012-08-01 12:50:22陸濟(jì)湘唐雙平嚴(yán)曉鳳
        關(guān)鍵詞:效率

        陸濟(jì)湘,唐雙平,嚴(yán)曉鳳

        (武漢理工大學(xué)理學(xué)院,湖北 武漢 430070)

        在基本的光線跟蹤算法中,每一條射線都要和場景中的所有物體求交,然后再對所給的求交數(shù)據(jù)進(jìn)行分析排序,這是一個重復(fù)迭代的過程,需要對大量的光線進(jìn)行一遍又一遍同樣的操作[1]。而對于復(fù)雜環(huán)境的場景,這種簡單的處理渲染效率很低。為了提高渲染效率,需要對光線跟蹤算法進(jìn)行加速,加速技術(shù)主要包括以下幾個方面:提高求交速度、減少求交次數(shù)、減少光線跟蹤條數(shù)和采用并行計(jì)算等。提高求交速度的算法在計(jì)算機(jī)圖形學(xué)中已經(jīng)發(fā)展得較為成熟;而減少光線跟蹤條數(shù)會降低圖形的渲染質(zhì)量;采用并行計(jì)算則需要硬件的支持。因此,現(xiàn)在的研究重點(diǎn)在減少求交次數(shù)。為減少求交次數(shù),在光線跟蹤中可采用包圍盒技術(shù)[2-5]。包圍盒技術(shù)是加速光線跟蹤的基本方法之一,其基本思想是用一些簡單的包圍盒(如球面、長方體)將復(fù)雜景物包圍起來,求交的光線首先與包圍盒進(jìn)行求交測試,若相交,則光線再與景物求交,否則光線與景物必?zé)o交[6]。簡單的包圍盒技術(shù)效率并不高,因?yàn)楸桓櫟墓饩€必須與場景中每一個景物的包圍盒進(jìn)行求交測試。

        由于包圍盒形狀簡單(一般是長方體),在三維空間中不能緊密的包圍景物;景物之間也有空隙,且包圍盒是將整個場景都包裹,這就造成了大量的無效求交測試。為了進(jìn)一步提高求交效率,筆者提出了一種新的包圍盒,即投影包圍盒技術(shù)。

        投影包圍盒是指場景中的物體投影在屏幕上一塊包裹物體的矩形區(qū)域,即將三維的數(shù)據(jù)轉(zhuǎn)化為二維數(shù)據(jù)。這樣,在減少數(shù)據(jù)分析量的同時,光線跟蹤也不用對整個屏幕進(jìn)行迭代,只需要對投影在屏幕的區(qū)域進(jìn)行迭代,從而縮短渲染的時間。構(gòu)造實(shí)體幾何(CSG)的布爾操作(交,并,差)是CSG的核心內(nèi)容。對于基于CSG的投影包圍盒,需要在預(yù)處理階段掃描CSG物體對應(yīng)的樹,在每個節(jié)點(diǎn)處對物體進(jìn)行布爾操作,構(gòu)建CSG體的投影包圍盒。

        1 CSG體數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

        構(gòu)造實(shí)體幾何(CSG)是由基本的幾何形體通過布爾操作構(gòu)造的,這些基本的形體包括正方體、圓柱體、球和圓錐體等。這些形體之間可以進(jìn)行幾何變換和布爾操作。利用二叉樹將這些形體保存起來,構(gòu)造一棵CSG樹,可以顯著減少對場景中物體進(jìn)行排序的時間[7]。通過二叉樹來表示CSG體的信息,如圖1所示。

        構(gòu)造CSG樹時,葉節(jié)點(diǎn)對應(yīng)于基本的幾何形體,非葉節(jié)點(diǎn)則對應(yīng)于布爾操作。葉節(jié)點(diǎn)的數(shù)據(jù)結(jié)果描述如下:

        由于布爾體沒有自己的仿射變換,而在SDL文件中,沒有經(jīng)過仿射變換的是默認(rèn)方式的形體,如正方體,默認(rèn)邊長為1,圖1中的A是正方體經(jīng)過了幾何變換后得到的,因此要將幾何變換保存在節(jié)點(diǎn)中,對于圖1的CSG樹,可將幾何變換寫入節(jié)點(diǎn)中,即葉節(jié)點(diǎn)對應(yīng)的是幾何變換后的形體,如圖2所示(T表示幾何變換)。

        圖1 CSG樹

        圖2 幾何變換后的形體示意圖

        保持節(jié)點(diǎn)中的顯式變換,可以在CSG體被構(gòu)建后,通過單獨(dú)使用樹中的一個變換來調(diào)整形狀,而這也為尋找布爾體的更緊致的包圍盒提供了可能。

        2 投影包圍盒算法設(shè)計(jì)

        2.1 點(diǎn)束的采集

        CSG體的投影包圍盒要求在預(yù)處理階段為每個物體求投影包圍盒,并且把它與對應(yīng)的物體存儲起來,因此必須在預(yù)處理階段為場景中的所有物體構(gòu)建點(diǎn)束[8-10]。由于CSG體是由基本的形體通過布爾操作完成的,因此在預(yù)處理階段為基本的形體建立點(diǎn)束。長方體和平面的點(diǎn)束可以直接采用頂點(diǎn),而對于球體和其他的形體則用一個緊緊包裹這些形體的多面體,點(diǎn)束就是多面體的頂點(diǎn)[11]。如球體采用一個20面體來包裹它,頂點(diǎn)則在離球心大約1.26倍半徑的地方。

        2.2 投影包圍盒的建立

        通過上述方法建立的點(diǎn)束,可以快速地建立投影包圍盒。當(dāng)然,這種情況下所求的投影包圍盒的坐標(biāo)是在OpenGL下的坐標(biāo),因此要將點(diǎn)束轉(zhuǎn)化為屏幕坐標(biāo)系下的坐標(biāo)。投影包圍盒主要記錄4個坐標(biāo)信息,即屏幕上矩形區(qū)域的{left,right,top,bottom},點(diǎn)束中的每個點(diǎn)都投影到所對應(yīng)的屏幕上,如圖3所示。

        圖3 點(diǎn)束投影示意圖

        偽代碼如下:

        2.3 創(chuàng)建CSG體的投影包圍盒

        利用上述方法可以實(shí)現(xiàn)物體投影包圍盒的創(chuàng)建,同時一個CSG體的每個節(jié)點(diǎn)的投影包圍盒的構(gòu)建與其長方體包圍盒的構(gòu)建相同。每個節(jié)點(diǎn)的投影包圍盒由其左右子樹的投影包圍盒組成。用P(object)來表示object的投影包圍盒,則有如下表示:

        并集:P(L∪R)=P(P(L)∪P(R))

        差集:P(L∩R)=P(L)∩P(R)

        交集:P(L-R)=P(L)

        以CSG體交集為例,則CSG差集的投影包圍盒的 4 個坐標(biāo)信息{left,top,right,bottom}如下:

        3 實(shí)驗(yàn)與分析

        為驗(yàn)證筆者提出算法的有效性,利用VC++6.0和OpenGL對圖形庫進(jìn)行了交、并、差3種布爾操作。比較基于光線跟蹤下,CSG體在未使用投影包圍盒和使用投影包圍盒的時間,所得到的結(jié)果是:投影包圍盒可以快速提高CSG體的渲染時間。

        (1)CSG體并集運(yùn)算在兩種情況下的時間比較如圖4所示。場景中的物體是由兩個圓柱的并操作而來的。通過實(shí)驗(yàn)數(shù)據(jù)可以觀察到:使用投影包圍盒,渲染的時間從原來的2 891 μs減少到359 μs,時間縮短至原來的大約1/8,渲染效率有了很大的提高。

        圖4 CSG體并集運(yùn)算在兩種情況下的時間比較

        (2)CSG體差集運(yùn)算在兩種情況下的時間比較如圖5所示。場景中的物體是通過兩個半徑不相等的半球做差運(yùn)算而來的。通過實(shí)驗(yàn)數(shù)據(jù)可以發(fā)現(xiàn):CGS體原來的渲染時間是現(xiàn)在的大約8.4倍,渲染效率同樣也有很大的提高。

        圖5 CSG體差集運(yùn)算在兩種情況下的時間比較

        (3)CSG體交集運(yùn)算在兩種情況下的時間比較如圖6所示。場景中的物體是通過3個圓柱體做布爾操作的交集運(yùn)算而得到的。對比兩個時間數(shù)據(jù)渲染效率提高了10倍。

        圖6 CSG體交集運(yùn)算在兩種情況下的時間比較

        對CSG體的3種布爾操作,通過實(shí)驗(yàn)分析數(shù)據(jù)可以發(fā)現(xiàn),在運(yùn)用光線跟蹤的投影包圍盒算法時,場景的渲染效率可提高8~10倍。結(jié)合以上的分析,筆者設(shè)計(jì)并實(shí)現(xiàn)了基于CSG體的投影包圍盒加速算法。獲取實(shí)驗(yàn)數(shù)據(jù)的計(jì)算機(jī)配置為酷睿雙核,2.21 GHz,512 DDR內(nèi)存,屏幕分辨率為1 024×768,光源為點(diǎn)光源與環(huán)境光。

        4 結(jié)論

        光線跟蹤是建立CSG體的重要技術(shù),提高光線跟蹤算法效率是研究的重點(diǎn)之一。筆者采用投影包圍盒算法,并結(jié)合CSG體中的布爾操作來實(shí)現(xiàn)和提高光線跟蹤的渲染效率。實(shí)驗(yàn)表明,該算法能夠?qū)SG體的渲染效率提高8~10倍。

        [1] FRANCIS S H,STPHEN J M K.計(jì)算機(jī)圖形學(xué)(OpenGL版)[M].胡事民,譯.北京:清華大學(xué)出版社,2009:32-89.

        [2] 吳慧欣,薛惠鋒,刑書寶.限定TN與CSG集成仿真模型生成算法研究[J].計(jì)算機(jī)應(yīng)用,2007(2):475-478.

        [3] KOZO O,DAISUKE N,MITSURU B.3 - D shape measurement by inverse raytracing approach[C]//SICE Annual Conference.[S.l.]:[s.n.],2008:1531 -1535.

        [4] 郭小凱.光線跟蹤及其加速算法的研究[D].西安:西安電子科技大學(xué)圖書館,2008.

        [5] 楊勛年,汪國昭.三維凸包的快速算法[J].浙江大學(xué)學(xué)報:自然科學(xué)版,1999(2):3-6.

        [6] 占春生,蔡勇.一種基于光線相關(guān)性的快速光線跟蹤算法[J].計(jì)算機(jī)與現(xiàn)代化,2003(6):4-6.

        [7] 劉廣忠,黃琳娜.基于二叉樹的散亂點(diǎn)集快速凸包算法[J].測繪科學(xué),2008(4):86-88.

        [8] FABIANO R,LUIZ V.Hardware- assisted rending of CSG models[J].Computer Graphics and Image Processing,2006,19(6):139 -146.

        [9] WIEGAND T F.Interactive readering of CSG models[J].Computer Graphics Forum,1996,15(4):249 -261.

        [10] FLORIAN K,JURGEN D.Rendering techniques for hardware-accelerated image- based CSG[J].Journal of WSCG,2004,12(2):221 -228.

        [11] 崔新友,李東亮.三維模型的布爾運(yùn)算研究[J].科技信息,2010(15):444-445.

        猜你喜歡
        效率
        你在咖啡館學(xué)習(xí)會更有創(chuàng)意和效率嗎?
        提升朗讀教學(xué)效率的幾點(diǎn)思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        注意實(shí)驗(yàn)拓展,提高復(fù)習(xí)效率
        效率的價值
        商周刊(2017年9期)2017-08-22 02:57:49
        引入“倒逼機(jī)制”提高治霾效率
        質(zhì)量與效率的爭論
        跟蹤導(dǎo)練(一)2
        提高食品行業(yè)清潔操作的效率
        OptiMOSTM 300V提高硬開關(guān)應(yīng)用的效率,支持新型設(shè)計(jì)
        “錢”、“事”脫節(jié)效率低
        久久国产精品偷任你爽任你| 精品国产又大又黄又粗av| 国产av一区二区内射| 亚洲成人免费av影院| 欧美日韩国产码高清综合人成 | 色欲av伊人久久大香线蕉影院| 国产传媒精品成人自拍| 国产欧美一区二区精品久久久| 国产成人vr精品a视频| 日韩国产有码在线观看视频| 男人天堂插插综合搜索| 午夜三级a三级三点在线观看| 日本中文字幕一区二区高清在线| 久久香蕉国产线看观看网| 国产清品夜色一区二区三区不卡 | 久久久99精品成人片中文字幕| 全程国语对白资源在线观看| 一区二区三区无码高清视频| 轻点好疼好大好爽视频| а中文在线天堂| 国产av一区二区三区区别| 国产一区二区三区资源在线观看 | 久久精品女人天堂AV一个| 亚洲综合中文字幕日韩| 夜夜添夜夜添夜夜摸夜夜摸| 亚洲人成网站在线播放观看| 久久久久久久久久免免费精品| 熟女少妇av一区二区三区| 无码中文字幕日韩专区| 99久久久无码国产精品免费砚床| 久久国产精品视频影院| 精品久久精品久久精品| 久久精品国产亚洲av果冻传媒| 97夜夜澡人人双人人人喊| 天天做天天躁天天躁| 国产午夜精品福利久久| 亚洲av毛片在线播放| 亚洲日韩在线中文字幕综合| 免费特级黄毛片| 亚洲一区二区三区在线更新| 亚洲精品国产电影|