室內(nèi)場景管理算法設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  室內(nèi)場景管理算法設(shè)計與實現(xiàn)</p><p>  【摘要】本文主要介紹了Portal算法的設(shè)計與實現(xiàn),并給出了Cell和Portal的基本結(jié)構(gòu),詳細(xì)說明了室內(nèi)場景管理的實現(xiàn)步驟,對于室外場景和室內(nèi)場景的接壤問題進(jìn)行了細(xì)致的討論。 </p><p>  【關(guān)鍵詞】室內(nèi)場景管理 Portal </p><p><b>  一、引言 <

2、/b></p><p>  室內(nèi)場景通常都有一個特性——場景內(nèi)部模型相當(dāng)復(fù)雜,并且從觀測者的視點看去只能看到他所處環(huán)境內(nèi)的物體,除非在這個環(huán)境中有其它入口可以通往其它環(huán)境。針對這樣的室內(nèi)環(huán)境創(chuàng)建樹結(jié)構(gòu)是相當(dāng)?shù)托У模驗橥ㄟ^入口觀測者只能看到相鄰環(huán)境中非常小的一部分物體。換句話說,樹結(jié)構(gòu)不能很好的處理既有高復(fù)雜度又有高阻光度的場景。這個問題常常被稱為“無效渲染’’,會花費大量的時間去渲染最終被一堵墻擋住的相鄰

3、房間中的物體。對于這樣的典型室內(nèi)場景必須有更有效的處理方法。而入口方法就能夠非常有效的解決這種無效渲染問題。 </p><p>  二、Portal概述 </p><p>  (一)Portal算法的介紹。 </p><p>  在入口技術(shù)的概念中整個場景被劃分n個區(qū)域,每個區(qū)域都是一個閉合的凸多邊形。這里“凸"表示在區(qū)域內(nèi)的任意兩點間畫一條線段,這條線段

4、不會穿透該區(qū)域的任何一個多邊形,而閉合表示從區(qū)域內(nèi)發(fā)出一條光線,如果要讓光線射到區(qū)域外,則此光線必須要穿透某個區(qū)域的多邊形。 </p><p>  可以形象地把一個區(qū)域看成是一個房間,區(qū)域的多邊形構(gòu)成了房間的墻壁、天花板和地板等。兩個鄰近的區(qū)域通過入口連接。一個入口是一個特殊種類的多邊形。普通的多邊形只是一個基本渲染元素,渲染普通多邊形只是簡單將其傳遞給后臺硬件處理,而當(dāng)渲染一個入口時視點會進(jìn)入到另一個區(qū)域。 &

5、lt;/p><p>  渲染Portal場景是從包含觀測視點的區(qū)域開始的。因為視點在這個區(qū)域內(nèi),所以這個區(qū)域必然是可見的,它也就是渲染的開始點。繪制它所包含的所有物體,并且同時還讀出該區(qū)域的所有入口信息,如果這個區(qū)域的所有入口都是不可見的,那么繪制結(jié)束。如果有可見入口,其所通向的區(qū)域也必然可見,則以同樣的方式渲染輸出。當(dāng)某個入口可見時,可以認(rèn)為它通向的區(qū)域也是可見的,但僅僅是部分可見而己。利用這一點我們可以優(yōu)化渲染過

6、程,即利用入口的多邊形來裁剪視錐體,以保證只渲染可見物體。只有視點所在的區(qū)域被完全渲染,而其它區(qū)域只渲染被視線所覆蓋的部分。 </p><p>  (二)Cell結(jié)構(gòu)的設(shè)計。 </p><p>  在室內(nèi)場景渲染中,我們以墻為主要遮擋體,只有通過墻上的窗或者門才能看到墻后的物體,Portal裁剪技術(shù)就是基于這種情況的快速動態(tài)潛在可見集的評估算法。Portal算法中,首先要將場景劃分成若干個

7、子模塊,也就是標(biāo)題中的Cell。Cell模塊的劃分是由美工前期確定的,劃分有兩個主要條件,一是模塊內(nèi)部不能有墻或者其他遮擋體形成較大范圍的遮擋,二是該模塊的形狀必須是凸多面體,而所有的幾何節(jié)點將以其所在位置和包圍盒信息對號入座至相應(yīng)的Cell模塊,兩個Cell模塊將通過窗或門結(jié)構(gòu)進(jìn)行連通。在視域剔除前我們就假定所有當(dāng)前Cell模塊中的幾何節(jié)點都是可見的,而相鄰的Cell模塊中只用那些處于門窗可視范圍內(nèi)的幾何節(jié)點才可見,不相鄰的Cell模

8、塊中的所有幾何節(jié)點均不可見。這樣就可以使無效渲染的像素點的數(shù)量大大降低,提高渲染效率。 </p><p>  三、Portal算法的實現(xiàn) </p><p> ?。ㄒ唬┧惴ㄖ饕鞒?。 </p><p>  Portal算法的根本目的是計算出所有可視范圍內(nèi)的幾何節(jié)點,僅將這些節(jié)點進(jìn)行渲染,以此來提高渲染速度。首先我們要確定視點所在的位置,所謂的視點也就是程序中的主攝像機(jī)

9、,我們將攝像機(jī)的空問坐標(biāo)與所有Cell依次進(jìn)行相交判斷,由此確定視點處于哪個Cell模塊中,然后將該Cell模塊所包含的所有幾何模塊與視錐體進(jìn)行相交檢測,完成視域剔除工作.然后計算可視范圍內(nèi)的所有portal,按Portal大小和視點方向重新計算新的視錐體,在與該Portal相連的Cell模塊內(nèi)利用計算的視錐體進(jìn)行新一輪的視域剔除.如此遞歸下去,直到所有的可視Cell模塊都完成了視域剔除,如此獲得的所有幾何節(jié)點形成的序列就是需要進(jìn)行渲染

10、的節(jié)點。 </p><p> ?。ǘ┬乱曞F體生成算法。 </p><p>  在整個算法流程中核心算法是如何利用現(xiàn)有的視點方向和Portal的位置大小計算新的視錐體。由于視點的方向沒有改變,墻面的作用僅僅是遮擋原本可見的物體,所以新產(chǎn)生的視錐體的遠(yuǎn)近平面均平行于舊的視錐體。從Portal所處的位置來分一共有兩種情況需要討論。第一種情況是整個Portal完全處于原視錐體范圍內(nèi)部,在這種情況

11、下,新的視錐體其實就是將原視錐體變窄后的模樣。第二種情況是Portal部分處于原視錐體范圍內(nèi)部,在這種情況下,新的視錐體的形狀相當(dāng)于原視錐體的側(cè)邊半部中的一小部分。 </p><p><b>  參考文獻(xiàn): </b></p><p>  [1]Imma Boada,Isabel Navazo,Roberto Scopigno,Multiresolution volum

12、e visualization with a texture-based octree[J].計算機(jī)科學(xué),2001,117. </p><p>  [2]Frank Losasso,F(xiàn)r6d6ric Gibou,Ron Fedkiw,Simulating water and smoke with an octree data structure International[C].Conference on Com

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論