亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

進行圖形處理的方法及相關(guān)裝置的制作方法

文檔序號:6557732閱讀:158來源:國知局
專利名稱:進行圖形處理的方法及相關(guān)裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明是提供一種進行圖形處理的方法與相關(guān)裝置,尤指一種在依據(jù)視野范圍裁切三維物體時以較佳的基本型態(tài)來記錄裁切后頂點以增進圖形處理效能的圖形處理方法及相關(guān)裝置。
背景技術(shù)
以圖形畫面呈現(xiàn)各種各樣的文件、信息、數(shù)據(jù)與數(shù)據(jù)以方便使用者瀏覽、檢視、觀察、整理,已經(jīng)成為現(xiàn)代計算機系統(tǒng)最重要的功能之一。其中,虛擬實境式的圖形呈現(xiàn)技術(shù)能讓使用者方便地檢視三維虛擬物體,在醫(yī)學影像、計算機輔助設(shè)計/制造(CAD/CAM)、實境仿真(像是飛行仿真)、多媒體游戲等多種領(lǐng)域中都有重要的應(yīng)用,故虛擬實境式的三維空間圖形呈現(xiàn)技術(shù),也就成為現(xiàn)代信息廠商研發(fā)的重點之一。
在三維空間圖形呈現(xiàn)技術(shù)中,是將虛擬三維空間中的三維物體及場景進行一定的圖形處理,以便將這些物體/場景投影顯示于二維屏幕上;等效上,此二維屏幕可視為虛擬照相機對三維空間拍攝所得的照片。當使用者觀看此二維屏幕上呈現(xiàn)的圖形時,就好像是通過此虛擬照相機的二維成像(也就是照片)來觀察三維空間中的物體及場景,而這也就能實現(xiàn)虛擬實境式的圖形呈現(xiàn)。
在現(xiàn)代的三維空間呈現(xiàn)技術(shù)中,虛擬三維空間中的三維物體可由許多平面(face)組合形成,故也被稱為多邊形物體。事實上,由于三角形的特殊幾何特性(像是三頂點一定共面),故三維物體中的平面會以三角形為基礎(chǔ)而被進一步劃分一或多個三角平面;最終,三維物體會以三角平面作為最基礎(chǔ)的架構(gòu)單元;集合各個三角平面,就能完整組合出一個物體。由于三角平面的位置可由其三個頂點的坐標所定義,故將物體中各三角平面的頂點坐標集合列表,就能以表列的這些頂點來描述該物體在三維空間中占據(jù)的位置及體積。
如本領(lǐng)域技術(shù)人員所知,在以多個三角平面組合出各種形狀的平面或三維物體時,由于不同的三角平面常會以一定的基本型態(tài)(primitive)相鄰排列,故在將這些三角平面的頂點記錄于頂點列表時,也可依據(jù)不同的基本型態(tài)來安排以不同的模式/不同的順序而將各頂點的坐標記錄于同一頂點列表中。請參考圖1;圖1示意了如何以不同基本型態(tài)的頂點列表來記錄多邊形的各個頂點。圖1中是以五邊形為例來說明;此五邊形有四個頂點A1至A5,可劃分出三個三角平面,如圖5所示。當要以這些三角形的頂點來描述原本的四邊形時,可將這三個三角平面看成是三個獨立的三角形,故可根據(jù)一三角列表(triangle-list)的基本型態(tài),以頂點列表{A1,A2,A3,A1,A3,A4,A1,A4,A5}這種排列順序(也就是依序記錄各三角形的三個頂點)來記錄各頂點的坐標。另一方面,由于這三個三角平面共享了同一頂點,故可把這三個三角平面想成是一個以頂點A1為中心的三角扇,并且用三角扇(triangle-fan)這種基本型態(tài)的順序{A1,A2,A3,A4,A5}來將各頂點的坐標記錄為頂點列表,也就是先記錄作為扇形中心的頂點A1,再依序記錄扇形緣上各頂點。其它的頂點列表基本型態(tài)還包含有三角條(triangle-stripe)等等。
由以上對基本型態(tài)的討論可知,即使是同樣的三角平面配置,在依據(jù)不同的基本型態(tài)來將各頂點的坐標記錄于頂點列表后,各個頂點列表的內(nèi)容也會不一樣。所以,每一個頂點列表都會有其對應(yīng)的基本型態(tài);在解讀頂點列表時,一定要先依據(jù)其對應(yīng)的基本型態(tài)設(shè)定其頂點解讀的順序,才能由一頂點列表中正確解讀出該頂點列表所描述的多邊形或物體。
以頂點列表來描述虛擬三維空間中的各個物體及場景,并針對各頂點列表來進行適當?shù)膱D形處理,就能進一步計算出各個頂點會被投影至二維屏幕上的哪一個位置,等效上也就能將三維空間投影至二維屏幕,在二維屏幕上呈現(xiàn)虛擬照相機的成像結(jié)果。
不過,就像是真實的照相機一樣,三維空間圖形呈現(xiàn)技術(shù)中的虛擬照相機也會有一定的視野范圍。舉例來說,在照相機正前方的物體會被拍攝至照片(二維屏幕)的中央,但在照相機鏡頭左方/右方或甚至后方的物體,很可能無法被照相機捕捉,也就不會呈現(xiàn)在照片中;由鏡頭前方延伸至左/右方的物體,則可能只有一部分能呈現(xiàn)于照片上,其余部分則因為超越了視野范圍而不會呈現(xiàn)于照片上。
同理,在三維空間圖形呈現(xiàn)技術(shù)中,當要將三維物體投影至二維屏幕時,也要計算各個三維空間中的物體是否位于此虛擬照相機的視野范圍內(nèi);若某一物體占據(jù)的體積完全落在視野范圍之外,就代表該物體不會被虛擬照相機拍攝至照片(二維屏幕)上,而在進行圖形處理時就不必進行多余的計算來將該物體投影至二維屏幕。相對地,若某個物體只有一部分在視野范圍內(nèi),其它部分超越于視野范圍之外,則在圖形處理時,就要對該物體進行裁切(clipping),只保留下該物體位于視野范圍內(nèi)的部分,也只要將這部分投影至二維屏幕即可。
在依據(jù)視野范圍而對三維空間中的物體進行裁切時,由于三維物體是以三角平面架構(gòu)出來的,對物體的裁切就會涉及三角平面的裁切。若物體橫跨于視野范圍內(nèi)外,就代表該物體上的一或多個三角平面會與視野范圍的邊界有所交集;這些三角平面會分別有某些頂點位于視野范圍內(nèi),某些頂點則為于視野范圍外。譬如說,若某一三角平面有一個頂點位于視野范圍外,在進行裁切后,該三角平面就可能會被裁切成一個四角或五角形的裁切平面。將物體中各個橫跨于視野范圍內(nèi)外的三角平面以裁切后的裁切平面代替,再將該物體中完全位于視野范圍外的三角平面舍去,保留物體原本就位于視野范圍內(nèi)的三角平面,這樣也就完成了對該物體的裁切。
不過,就如前面討論過的,虛擬三維空間中的物體還是要以三角平面來架構(gòu)才能方便地將其投影至二維空間,故在對物體進行上述的裁切時,對三角平面進行裁切后的裁切平面還是要以三角形為基礎(chǔ)進行劃分,再將各三角形的頂點記錄下來。譬如說,若某三角平面在裁切后成為四角形的裁切平面,該裁切平面就可進一步劃分為兩個三角形的平面,以兩個三角平面來代表裁切后的裁切平面。
而當已知的圖形處理技術(shù)要將每個裁切平面的三角形頂點記錄下來時,就會針對每一個裁切平面記錄一個三角扇基本型態(tài)的頂點列表。換句話說,若某一物體有N個三角平面橫跨于視野范圍內(nèi)外,在將這N個三角平面裁切為N個裁切平面后,已知技術(shù)就會以對應(yīng)的N個三角扇基本型態(tài)的頂點列表來記錄各裁切平面的頂點。
完成對物體的裁切后,三維空間圖形呈現(xiàn)技術(shù)的圖形處理就可進行后續(xù)的像素級處理,以進一步計算物體上各個三角平面會在二維屏幕上呈現(xiàn)出的影像。由于二維屏幕可能是用像素為單位來呈現(xiàn)圖形畫面的,故在進行像素級處理時,就可計算物體上各個三角平面所占用的像素,以及這些像素所應(yīng)該呈現(xiàn)出的色彩、明暗及紋理(texture)等等。
在實際實現(xiàn)像素級處理時,此像素級處理可接收各物體的相關(guān)頂點列表,依據(jù)每個頂點列表對應(yīng)的基本型態(tài)來解讀/連接出對應(yīng)的各個三角平面,依據(jù)三角平面的位置來進行二維屏幕的相關(guān)運算。不過,由于已知技術(shù)會以多個頂點列表來描述多個裁切平面,故在進行像素級處理時,就會影響運作的效能。
如前面討論過的,在解讀頂點列表時,要先依據(jù)頂點列表對應(yīng)的基本型態(tài)來設(shè)定頂點解讀的順序,才能正確地將頂點連接為原來的平面。然而,此設(shè)定程序要耗費相當?shù)南到y(tǒng)資源;尤其是,由于已知技術(shù)會在裁切物體時為各個裁切平面產(chǎn)生一個對應(yīng)的頂點列表,故要重復地對多個頂點列表反復地進行多次的設(shè)定及解讀,其消耗的系統(tǒng)資源當然就會更為增加,影響圖形處理的整體效能。
舉例來說,現(xiàn)代的計算機系統(tǒng)常以圖形處理硬件來實現(xiàn)像素級處理,在其中會以管線式(pipe-line)處理硬件來解讀頂點列表。但在處理裁切處各裁切平面的相關(guān)頂點時,由于已知技術(shù)是以多個頂點列表來記錄不同裁切平面的頂點,使得管線式處理硬件在解讀每一個頂點列表時都要反復地重新清理(flush)管線才能進行解讀的設(shè)定,這也就降低了圖形處理的整體效能。

發(fā)明內(nèi)容
因此,本發(fā)明的主要目的,即是提出一種能以較佳的圖形處理方法及相關(guān)裝置,以克服已知技術(shù)的缺點。當本發(fā)明的圖形處理技術(shù)完成對物體的裁切后,會以三角列表的基本型態(tài)來將不同裁切平面的頂點整合記錄于同一頂點列表中;由于多個裁切平面的頂點可統(tǒng)一記錄于同一個頂點列表中,故在進行后續(xù)的像素級處理時,就可以有效減少像素級處理時要反復進行設(shè)定程序的次數(shù),進而增加圖形處理的整體效能。
一般來說,在虛擬實境式的三維空間圖形呈現(xiàn)技術(shù)中,虛擬三維空間中的虛擬三維物體都會由多個三角平面構(gòu)成,越細致、越接近真實的三維物體,就要以越多三角平面來趨近。故在對物體進行裁切后,通常也會有許多三角平面會橫跨于視野范圍的邊界;既然在對每一個三角平面進行裁切時會裁切出一個裁切平面,在對多個三角平面進行裁切后,也就會產(chǎn)生出多個對應(yīng)的裁切平面。在已知技術(shù)中,會針對每一個裁切平面以三角扇基本型態(tài)的頂點列表來記錄其頂點坐標?;旧?,三角平面在裁切后會形成凸多邊形而被劃分為扇形分布的三角平面,故已知技術(shù)會以三角扇基本型態(tài)的配置來記錄裁切平面的頂點坐標。雖然三角扇基本型態(tài)的頂點列表中只要記錄較少的頂點數(shù)就能描述一連串扇形分布的三角平面,但是,對于不呈現(xiàn)扇形分布的一連串三角平面來說,這些三角平面的頂點就無法依據(jù)同三角扇的基本型態(tài)記錄于同一頂點列表中。一般來說,在對物體裁切后,在不同裁切平面中的三角平面不會形成扇形分布的一連串三角平面,這也就形成了對已知技術(shù)的限制,使已知技術(shù)無法將不同裁切平面的頂點記錄于同一個頂點列表中,只能以多個頂點列表來分別代表一個對應(yīng)的裁切平面。等到要進行后續(xù)的像素級處理時,就會因為要解讀不同的頂點列表而必需頻繁地重復進行解讀時的設(shè)定程序,使圖形處理的效能無法有效提升。
相較之下,本發(fā)明的圖形處理技術(shù)在記錄各裁切平面的頂點時,則采用了較具有彈性、能普遍適應(yīng)各種三角形排列模式的三角列表基本型態(tài),故可將不同裁切平面中的三角平面頂點統(tǒng)一記錄于一個頂點列表中。三角列表基本型態(tài)的頂點列表能記錄各種排列的三角平面,即使是兩個完全不相連接、沒有共同頂點的三角平面,都能記錄在同一個頂點列表中。相較之下,已知技術(shù)采用三角扇基本型態(tài)的頂點列表,就絕對無法將兩個沒有共同頂點的三角平面記錄于同一個頂點列表中。
由于本發(fā)明能將不同裁切平面的頂點記錄于同一個頂點列表中,故可用較少的頂點列表(可以只用一個頂點列表)來記錄多個裁切平面的頂點。等到要進行后續(xù)的像素級處理而要解讀頂點列表時,就可以有效減少解讀時所需要進行的設(shè)定程序,進而提升圖形處理的整體效能。
根據(jù)本發(fā)明的一個方面,提供了一種進行圖形處理的方法,以將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該方法包含有設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;進行裁切程序針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;進行整合程序若針對物體進行該裁切程序后計算出至少一裁切平面,則將所有裁切平面的各個頂點依據(jù)三角列表的基本型態(tài)統(tǒng)一記錄于同一頂點列表,以利用該頂點列表來代表各裁切平面的頂點。
根據(jù)本發(fā)明的另一個方面,還提供了一種進行圖形處理的方法,以將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該方法包含有設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;進行裁切程序針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;進行整合程序若針對物體進行該裁切程序后計算出多個裁切平面,則將此多個裁切平面中至少兩個裁切平面的各個頂點統(tǒng)一記錄于同一頂點列表,以利用同一頂點列表來代表至少兩個裁切平面的各個頂點。
根據(jù)本發(fā)明的另一個方面,還提供了一種可進行圖形處理的電子系統(tǒng),其可將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該電子系統(tǒng)包含有視野模塊,其可設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;裁切模塊,其可針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則該裁切模塊可計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;整合模塊若該裁切模塊針對物體進行裁切后計算出至少一裁切平面,則該整合模塊可將所有裁切平面的各個頂點依據(jù)三角列表的基本型態(tài)統(tǒng)一記錄于同一頂點列表,以利用該頂點列表來代表各裁切平面的頂點。


圖1示意的是以不同基本型態(tài)的頂點列表來記錄頂點的情形。
圖2為三維空間圖形呈現(xiàn)技術(shù)的示意圖。
圖3為典型技術(shù)進行物體裁切時的示意圖。
圖4為典型技術(shù)進行物體裁切/設(shè)定時的流程示意圖。
圖5為本發(fā)明進行物體裁切時的示意圖。
圖6示意的是本發(fā)明進行物體裁切時的泛用原則。
圖7為本發(fā)明進行圖形處理的流程圖。
圖8示意的是圖7中整合程序的進一步流程。
圖9示意的是本發(fā)明效能改進的情形。
圖10為本發(fā)明圖形處理電子系統(tǒng)的功能方塊示意圖。
圖11為本發(fā)明圖形處理計算機系統(tǒng)的功能方塊示意圖。
10 電子系統(tǒng) 12 頂點處理模塊14 視野模塊 16 幾何轉(zhuǎn)換模塊18 裁切模塊 20 整合模塊22 設(shè)定模塊 24 像素處理模塊30 計算機系統(tǒng) 32 中央處理器34 橋接電路 36 存儲器38 驅(qū)動程序 40 圖形處理電路42 顯示器 A1-A6、F1-F8、C1-C7 頂點OBJ1-OBJ2 物體 104-112、202-206、302-314、402-416 步驟400 流程具體實施方式
請參考圖2。圖2為三維空間圖形呈現(xiàn)技術(shù)的示意圖。在將虛擬三維空間中的物體、場景呈現(xiàn)于二維屏幕時,等效上就好像是以虛擬照相機對三維空間中的物體照相,照相所得的結(jié)果也就是二維屏幕上呈現(xiàn)的圖形影像。就像真實的照相機,虛擬照相機也有一定的視野范圍;如圖2所顯示的,由頂點F1至F8所包圍的空間就是此視野范圍。此視野范圍的周邊有四個平面,包括平面F1-F4-F8-F5、平面F1-F5-F6-F2、平面F2-F6-F7-F3以及平面F3-F7-F8-F4;再加上虛擬照相機鏡頭前方的近平面F1-F2-F3-F4與遠平面F6-F5-F8-F7,這六個面就界定出了視野范圍的邊界。在將三維空間投影至二維屏幕上時,周邊的四平面(平面F1-F4-F8-F5、平面F1-F5-F6-F2、平面F2-F6-F7-F3及平面F3-F7-F8-F4)就定義出了二維屏幕上可視范圍的邊框,也就是裁切窗(clipping window)。
舉例來說,像是圖2中的物體OBJ1完全位于視野范圍中,在將三維空間投影至二維屏幕上時,物體OBJ1的成像就會完全落于裁切窗中。相對地,物體OBJ2有一部分位于視野范圍外,此部分就會落于裁切窗外,不會成像于二維屏幕上。因此,在進行圖形處理而將三維空間投影至二維屏幕上時,就可先對物體OBJ2進行裁切,將物體OBJ2位于視野范圍外的部分裁去,再進行后續(xù)相關(guān)的像素級處理。
請參考圖3;圖3示意的即為典型圖形處理中對物體進行裁切時的情形。在圖3中,假設(shè)待裁切的物體有4個三角平面,分別為三角平面A1-A2-A6、A2-A3-A6、A3-A5-A6以及A3-A4-A5;由于頂點A1、A4及A5落在視野范圍的邊界(也就是裁切窗)之外,故需對此物體進行裁切,找出各三角平面和視野范圍的交集(也就是仍在視野范圍內(nèi)的部分)。如圖3所示,在經(jīng)過裁切后,三角平面A1-A2-A6及A3-A5-A6會被分別裁切為一四邊形的裁切平面,三角平面A3-A4-A5則被裁切為五邊形的裁切平面。
在典型技術(shù)下,各裁切平面的頂點會依據(jù)三角扇基本型態(tài)而被分別記錄至一個對應(yīng)的頂點列表,故在圖3的例子中,典型技術(shù)會以4個三角扇基本型態(tài)的頂點列表來分別記錄對4個三角平面進行裁切的結(jié)果。對三角平面A1-A2-A6來說,其裁切后裁切平面的各個頂點的坐標可依據(jù){A2,A6,C2,C1}的順序記錄為一三角扇的頂點列表,也就是將頂點A2視為扇形中心,頂點A6及裁切后的頂點C2、C1為扇形緣上的頂點。同理,對三角平面A3-A5-A6來說,則可依據(jù){A3,C4,C3,A6}的順序來將裁切后平面的各頂點坐標記錄為一頂點列表。對三角平面A3-A4-A5來說,裁切后形成的五邊形可劃分為三個扇形排列的三角平面,以頂點A3為扇形中心,故可依據(jù){A3,C7,C6,C5,C4}的順序來將各頂點的坐標記錄為一頂點列表。
由于典型技術(shù)是以三角扇基本型態(tài)的頂點列表來記錄各裁切平面的頂點坐標,故無法將不同裁切平面、不呈扇形分布排列的三角平面整合記錄于同一個頂點列表中。像在圖3的例子中,裁切平面A2-A6-C2-C1與裁切平面A3-C4-C3-A6只共享頂點A6,沒有共享的邊線,無論怎樣進行三角形劃分也不能在這兩個裁切平面上產(chǎn)生出一連串呈扇形分布的三角平面,所以典型技術(shù)也就無法將此兩個裁切平面的頂點整合記錄于同一個三角扇基本型態(tài)的頂點列表。
如前面討論過的,在進行物體裁切后,就能針對裁切后的頂點列表來進行像素級處理;不過,在解讀頂點列表而進行像素級處理時,還需要先進行設(shè)定程序,針對頂點列表的基本型態(tài)來設(shè)定對頂點列表的解讀順序。請參考圖4;圖4即為典型技術(shù)中在進行物體裁切/設(shè)定時的流程。圖4中的流程中有下列步驟步驟104進行裁切程序,計算物體中各三角平面與視野范圍的邊界是否相交;若某一三角平面的確相交于視野范圍的邊界,代表該三角平面為待裁切平面,需要予以裁切;接下來就可計算該三角平面與視野范圍的交集(也就是該三角平面與邊界的交點等等)。
對待裁切平面進行裁切后,典型技術(shù)會為每一待裁切平面記錄對應(yīng)的頂點列表,以三角扇基本型態(tài)來記錄裁切后平面的各個頂點坐標。進行完步驟104的裁切程序后,若某物體有N個待裁切平面,就會有N個對應(yīng)的三角扇頂點坐標。另外,物體可能有部分的三角平面會完全落于視野范圍內(nèi),這些三角平面(也就是未裁切部分)的頂點也會另行記錄于對應(yīng)的頂點列表中。
步驟106開始進行像素級處理前的重設(shè)程序。接收裁切程序后產(chǎn)生的其中一個頂點列表。
步驟108判斷該頂點列表對應(yīng)的基本型態(tài)。若是三角列表的基本型態(tài),則進行至步驟110A;若是三角扇的基本型態(tài),就進行至步驟110B;若是其它基本型態(tài)(譬如說是三角條的基本型態(tài)),則進行至其對應(yīng)步驟110C。
步驟110A、110B及110C根據(jù)對應(yīng)的基本型態(tài)來設(shè)定要如何連接頂點列表中的各個頂點。舉例來說,假設(shè)有某個頂點列表記錄了六個頂點{V1,V2,V3,V4,V5,V6},若該頂點列表是以三角列表的型態(tài)來記錄的,則其頂點的連接順序就應(yīng)該是將頂點V1-V2-V3視為一三角平面,頂點V4-V5-V6為另一三角平面。若該頂點列表是以三角扇的型態(tài)記錄的,那要重建該頂點列表所代表的三角形平面時,其連接順序就應(yīng)該是以頂點V1-V2-V3為一三角平面,頂點V1-V3-V4為一三角平面,頂點V1-V4-V5為一三角平面,頂點V1-V5-V6為一三角平面。根據(jù)各頂點列表的對應(yīng)基本型態(tài)來設(shè)定頂點連接/解讀的順序,才能正確地重建回頂點列表所代表的各個三角平面,也才能正確地進行后續(xù)的像素級處理。
步驟112是否要處理次一頂點列表的設(shè)定。若是,則回到步驟106。
由圖4的討論可知,由于典型技術(shù)會產(chǎn)生多個頂點列表(N個待裁切平面就會有N個頂點列表),故此典型/已知的技術(shù)會頻繁地重復進行步驟108至110A-110B-110C的設(shè)定程序。每進行設(shè)定程序都會消耗部分系統(tǒng)資源,若要頻繁地多次重復進行設(shè)定程序,就會導致圖形處理的整體效能低落,無法以較佳效能來進行圖形處理。
已知/典型技術(shù)因為要遷就三角扇基本形式,一定要為每一個裁切后平面記錄一頂點列表,故需要在解讀各頂點列表時重復進行多次的設(shè)定程序。為了克服已知/典型技術(shù)的缺點,本發(fā)明會以三角列表基本型態(tài)的頂點列表來將多個裁切平面的頂點整合記錄于同一個頂點列表中,以減少在解讀時設(shè)定程序重復進行的次數(shù),并增進圖形處理的整體效能。請先參考圖5;圖5示意的即為本發(fā)明對物體進行裁切時的情形。為了方便和典型技術(shù)的比較,在圖5中,假設(shè)待裁切的物體和圖3中的物體一樣,具有4個三角平面,分別為三角平面A1-A2-A6、A2-A3-A6、A3-A5-A6以及A3-A4-A5。在經(jīng)過裁切后,三角平面A1-A2-A6及A3-A5-A6會被分別裁切為四邊形平面A2-A6-C2-C1以及A3-C4-C3A6,三角平面A3-A4-A5則被裁切為五邊形的裁切平面A3-C7-C6-C5-C4。各個裁切后的多邊形平面還要進一步劃分為三角平面,再記錄于頂點列表中。
和已知/典型技術(shù)不同的是,本發(fā)明會使用三角列表基本型態(tài)來將不同裁切平面的頂點整合記錄于同一個頂點列表中。像在圖5的例子中,物體在裁切后有4個裁切后平面,但本發(fā)明可整合用同一個三角列表基本型態(tài)的頂點列表來記錄所有裁切平面在劃分為三角平面后的各個頂點,也就是以{A2,C2,C1,A2,A6,C2,A3,A6,A2,A3,C3,A6,A3,C4,C3,A3,C5,C4,A3,C6,C5,A3,C7,C6}的頂點順序來將所有裁切平面的頂點共同記錄于同一頂點列表中。這樣一來,只要使用一個頂點列表就能代表對物體裁切的結(jié)果,而不需要像圖3的典型技術(shù)一樣需使用4個頂點列表來代表物體裁切的結(jié)果。而在進行后續(xù)的像素級處理時,本發(fā)明就只需要進行一次設(shè)定程序,可減少設(shè)定程序重復進行的次數(shù),進而增進圖形處理的整體效能。
在各種基本型態(tài)的頂點列表中,三角列表基本型態(tài)是最具有彈性的一種,在記錄多個三角平面時,三角列表基本型態(tài)的頂點列表只是單純地記錄下各個三角平面的頂點,不要求這些三角平面是否要具有特殊的排列模式;即使兩個完全不相連的三角平面,都能記錄于同一個三角列表的頂點列表中。而本發(fā)明就是利用此特性來整合不同裁切平面的頂點,減少所需的頂點列表數(shù)目,連帶地減少設(shè)定程序重復進行的次數(shù)。
請繼續(xù)參考圖6;圖6為本發(fā)明在進行物體裁切時的泛用性(general)原則。在對一物體進行裁切時,可先針對該物體的各個三角平面進行計算,依據(jù)各三角平面的頂點坐標計算該三角平面是否完全在視野范圍內(nèi);完全在視野范圍內(nèi)的三角平面不必進行裁切,完全在視野范圍外的三角平面可予以舍棄,與視野范圍邊界有交集的三角平面就是待裁切的三角平面,要予以裁切,只留下位于視野范圍內(nèi)的部分。在將待裁切三角平面裁切為各個多邊形的裁切平面并劃分為三角平面后,本發(fā)明就可依據(jù)三角列表基本型態(tài)的頂點列表,將不同裁切平面的頂點整合記錄于同一頂點列表中。物體中不需裁切的部分(也就是完全在視野范圍內(nèi)的各個三角平面)則可沿用物體本來(也就是裁切前的)的基本型態(tài)來記錄其頂點列表。譬如說,原本未裁切的物體是以三角條基本型態(tài)的頂點列表來記錄各頂點的,在裁切后,不需裁切的部分仍可用三角條基本型態(tài)的頂點列表來記錄各頂點。集合裁切后平面的頂點列表以及不需裁切部分的頂點列表,就代表了對該物體進行裁切的結(jié)果。
請參考圖7;圖7為本發(fā)明進行圖形處理的過程。要實現(xiàn)三維空間圖形呈現(xiàn)技術(shù)的圖形處理,本發(fā)明于圖7中的流程包括有下列步驟步驟202頂點處理階段。此階段可整理各個物體的頂點坐標,進行必要的轉(zhuǎn)換,決定各個物體在同一三維空間中的相互位置。另外,也可處理/計算/轉(zhuǎn)換各個頂點的相關(guān)信息,像是各頂點對應(yīng)的法向量,對光線的反射性質(zhì)等等。
步驟204幾何處理/裁切/設(shè)定階段。此一階段中包含有下列步驟步驟302進行幾何轉(zhuǎn)換。設(shè)定虛擬照相機的位置及視野范圍,并以虛擬照相機的上下/前后/左右為基準,計算各物體頂點的位置(及各頂點相關(guān)的信息)。
步驟304裁切程序。針對每一物體的每個三角平面來計算各個三角平面是否完全落在視野范圍內(nèi)。若某一三角平面與視野范圍的邊界有交集,就對其進行裁切,并計算裁切所得的多邊形平面的各個頂點(及各頂點的相關(guān)信息)。
步驟306進行本發(fā)明的整合程序,也就是依據(jù)三角列表基本型態(tài)而將不同裁切平面的頂點整合記錄于同一頂點列表中。若某物體在裁切時有N個待裁切三角平面,本發(fā)明就可整合以M個三角列表基本型態(tài)的頂點列表來記錄對應(yīng)的N個裁切平面。在本發(fā)明的較佳實施例中,M可以等于1,也就是將某物體所有N個裁切平面的頂點都記錄于同一個頂點列表中。另外,本發(fā)明也可利用多個(但不大于N)個頂點列表來記錄裁切平面的頂點。舉例來說,在N個裁切平面中,將其中N1個裁切平面的頂點記錄于同一頂點列表,將另外N2個裁切平面(N1+N2=N)的頂點記錄于另一頂點列表。集合一物體裁切平面的整合頂點列表以及該物體不需裁切部分的頂點列表,就是該物體裁切后的結(jié)果。
步驟308在將各物體進行裁切后,就可針對各個頂點列表進行設(shè)定程序,以便進行至后續(xù)的像素級處理。在進行設(shè)定程序時,先接收一頂點列表。
步驟310根據(jù)頂點列表的型態(tài)設(shè)定對應(yīng)地進行至步驟312A、312B以及312C等等,以設(shè)定對應(yīng)的頂點連接順序。
步驟314若有另一頂點列表要設(shè)定,就回到步驟308;由于本發(fā)明整合步驟可減少頂點列表的個數(shù),設(shè)定程序(步驟308/310/312A-C)重復進行的次數(shù)也就能大幅減少。
步驟206設(shè)定并解讀各個頂點列表后,就可進行至像素級處理階段,以像素為單位來將物體的各個三角平面呈現(xiàn)于二維屏幕上,實現(xiàn)三維空間圖形呈現(xiàn)技術(shù)。
為了進一步說明本發(fā)明更具體的實施方式,請繼續(xù)參考圖8;延續(xù)圖7的說明,圖8中的流程400更具體了示意了本發(fā)明步驟304至306中的實施情形。流程400中有下列步驟步驟402接收數(shù)據(jù)。譬如說,可由頂點描影器(vertex shader)中接收物體的數(shù)據(jù)。
步驟404判斷該物體是否需要裁切。若是,則繼續(xù)進行至次一步驟406;若否,則繼續(xù)進行至步驟416;步驟406執(zhí)行裁切。計算物體中各多邊形(三角平面)與視野邊界的交集,并計算裁切后的各頂點。裁切后的頂點列表可先用三角扇的基本型態(tài)來表示。
步驟408進一步將裁切后的頂點列表由三角扇整合轉(zhuǎn)換為三角列表,以實現(xiàn)本發(fā)明的技術(shù)精神,也就是將以三角列表的基本型態(tài)來記錄裁切后的頂點列表。
步驟410輸出數(shù)據(jù)。譬如說,將三角列表基本型態(tài)的裁切處頂點列表輸出至頂點描影器。
步驟412結(jié)束流程400。
步驟416若物體不需裁切,則判斷該物體是否在視野范圍內(nèi)。若否,就不需對該物體進行圖形處理,可回到步驟402繼續(xù)處理次一物體。若該物體在視野范圍內(nèi)又不需裁切,就可直接進行至步驟410。
本發(fā)明的優(yōu)點可用圖9來說明。請參考圖9;圖9示意的是本發(fā)明與已知/典型技術(shù)在進行圖形處理時的效能差異。在已知(像是圖4)的技術(shù)中,裁切處是以多個三角扇基本型態(tài)的頂點列表來記錄;然而,由于在處理每一個三角扇基本型態(tài)的頂點列表前都要重新進行一次設(shè)定,故已知技術(shù)會耗費許多時間在設(shè)定上。就如圖9中所示,要先為第1個三角扇頂點列表進行設(shè)定,才能處理第1個三角扇。接下來,要為第2個三角扇頂點列表進行設(shè)定,才能繼續(xù)處理第2個三角扇。然后,又要為第3個三角扇頂點列表進行設(shè)定,才能處理第3個三角扇,以此類推。由于已知技術(shù)中要處理多個三角扇頂點列表,故需重復進行許多次的設(shè)定,耗費較多時間,影響其圖形處理的效能。
相較之下,本發(fā)明的技術(shù)就可將裁切處的多個三角扇整合以一個(或較少個)三角表列基本型態(tài)的頂點列表來記錄,故在進行圖形處理時能大幅減少設(shè)定程序所需進行的次數(shù),進而增進圖形處理的效能。就如圖9所示,本發(fā)明可將裁切處的各相關(guān)頂點列表整合為一三角表列基本型態(tài)的頂點列表,故僅需為此三角表列進行一次設(shè)定,就能在此三角表列中直接處理裁切處的所有頂點。由于重設(shè)程序進行的次數(shù)能夠大幅減少,本發(fā)明的圖形處理效能也就能有效提升。
請參考圖10(并一并參考圖7);本發(fā)明于圖7、8中的圖形處理流程可用圖10中的電子系統(tǒng)10來實現(xiàn)。電子系統(tǒng)10中設(shè)有頂點處理模塊12、視野模塊14、幾何轉(zhuǎn)換模塊16、裁切模塊18、用來實現(xiàn)本發(fā)明技術(shù)的整合模塊20、設(shè)定模塊22以及像素處理模塊24。其中,頂點處理模塊12用來實現(xiàn)步驟202(圖7)中的頂點處理階段。視野模塊14可依據(jù)虛擬照相機的設(shè)定來設(shè)定視野范圍及包圍視野范圍的邊界;而幾何轉(zhuǎn)換模塊16就能依據(jù)視野范圍的相關(guān)設(shè)定來進行步驟302。裁切(clipping)模塊18則可實現(xiàn)步驟304而對物體進行裁切,也就是針對該三維空間中的每一物體,檢查該物體中的每一三角平面是否相交于該邊界;若有某一平面相交于該邊界,則裁切模塊18可計算該平面與該視野范圍的交集,算出裁切后平面。
為實現(xiàn)本發(fā)明的精神,整合模塊20能實現(xiàn)步驟306,對同一物體的裁切平面進行整合;若裁切模塊18針對物體進行裁切后計算出多個裁切平面,整合模塊20就能將多個裁切平面的各個頂點依據(jù)一三角列表(triangle-list)的基本型態(tài)(primitive)統(tǒng)一記錄于同一頂點列表,以利用該頂點列表來代表各裁切平面的頂點。設(shè)定模塊22則能進行步驟308-310-312A/312B/312C-314的設(shè)定程序,也就是接收各頂點列表,并根據(jù)該頂點列表對應(yīng)的基本型態(tài)來設(shè)定要如何將該頂點列表中的頂點連接為對應(yīng)的平面。然后,像素處理模塊24就能進行步驟205的像素級處理,以根據(jù)該設(shè)定程序的設(shè)定,計算頂點列表中各平面于該二維屏幕上所占用的像素,以及各像素所應(yīng)呈現(xiàn)的色彩。譬如說,在虛擬實境的三維空間圖形呈現(xiàn)技術(shù)中,各物體可用貼圖的方式來表示其紋理(texture),紋理的呈現(xiàn)就可在像素處理模塊24中處理、實現(xiàn)。
請參考圖11(并一并參考圖10)。圖10中的電子系統(tǒng)10可用圖9中的計算機系統(tǒng)30來實現(xiàn)。計算機系統(tǒng)30中設(shè)有中央處理器32、橋接電路34、存儲器36(像是隨機存取存儲器)、圖形處理電路40及顯示器42。中央處理器32用來主控計算機系統(tǒng)30的運作,執(zhí)行程序、處理信息及數(shù)據(jù)的運算。中央處理器32在運作期間所需的程序代碼、信息及數(shù)據(jù),即可暫存于存儲器36。橋接電路34用來管理中央處理器32與其它電路間的相互訊號傳輸。圖形處理電路40可以是和橋接電路34整合于同一芯片組中的計算電路。顯示器42則可是液晶或陰極射線管(CRT,cathode-ray tube)顯示器。
當要實現(xiàn)圖10中的電子系統(tǒng)時,中央處理器32可執(zhí)行圖形處理的相關(guān)驅(qū)動程序38以實現(xiàn)頂點處理模塊12、視野模塊14、幾何轉(zhuǎn)換模塊16、裁切模塊18以及整合模塊20,設(shè)定模塊22及像素處理模塊24的功能則由圖形處理電路40來實現(xiàn);而像素處理模塊24計算出來的二維屏幕成像就能顯示于顯示器42上。換句話說,頂點處理模塊12、視野模塊14、幾何轉(zhuǎn)換模塊16、裁切模塊18以及整合模塊20的功能可用軟件來實現(xiàn),設(shè)定模塊22及像素處理模塊24的功能則可由硬件(圖形處理電路)來實現(xiàn)。
另外,在計算機系統(tǒng)30中,圖形處理電路40也可以是獨立于橋接電路34的顯示卡;圖形處理電路40也可擁有自己的存儲器以執(zhí)行較強的計算功能。在此種情形下,圖形處理電路40就可實現(xiàn)電子系統(tǒng)10中的更多模塊,而不僅限于設(shè)定模塊與像素處理模塊。
總結(jié)來說,本發(fā)明在進行三維空間圖形呈現(xiàn)技術(shù)的圖形處理時,系依據(jù)更具有應(yīng)用彈性的三角列表基本型態(tài),以將物體裁切后的多個裁切平面記錄于同一頂點列表中。相較于已知技術(shù),本發(fā)明可有效減少頂點列表的個數(shù),在解讀頂點列表時就不必多次重復進行設(shè)定程序,減少設(shè)定程序反復進行所耗費的時間與系統(tǒng)資源,進而增加圖形處理的整體效能。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明權(quán)利要求范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種進行圖形處理的方法,以將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該方法包含有設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;進行裁切程序針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;進行整合程序若針對物體進行該裁切程序后計算出至少一裁切平面,則將所有裁切平面的各個頂點依據(jù)三角列表的基本型態(tài)統(tǒng)一記錄于同一頂點列表,以利用該頂點列表來代表各裁切平面的頂點。
2.根據(jù)權(quán)利要求1所述的方法,其中,當進行該整合程序時,該三角列表基本型態(tài)的頂點列表是由一或多個三角扇基本型態(tài)的頂點列表轉(zhuǎn)換整合而得。
3.根據(jù)權(quán)利要求1所述的方法,其中各物體是由至少一三角形的平面所形成。
4.根據(jù)權(quán)利要求1所述的方法,其還包含有在對物體進行該裁切程序后,對該物體的裁切平面進行設(shè)定程序,以接收各裁切平面的頂點列表,并根據(jù)該頂點列表對應(yīng)的基本型態(tài)來設(shè)定要如何將該頂點列表中的頂點連接為對應(yīng)的平面;其中,當在進行該設(shè)定程序時,是以該整合程序所產(chǎn)生的頂點列表來進行該設(shè)定程序,使得在同一設(shè)定程序中可以設(shè)定不同裁切平面的連接。
5.根據(jù)權(quán)利要求4所述的方法,其還包含有進行該設(shè)定程序后,根據(jù)該設(shè)定程序所連接出的平面,計算各平面于該二維屏幕上所占用的像素,以及各像素所應(yīng)呈現(xiàn)的色彩。
6.根據(jù)權(quán)利要求1所述的方法,其中,在進行該整合程序時,是將各裁切平面劃分為三角形的平面,再依據(jù)所有裁切平面所劃分出的三角形的頂點而將各裁切平面的各個頂點以三角列表的基本型態(tài)記錄于同一頂點列表。
7.一種進行圖形處理的方法,以將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該方法包含有設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;進行裁切程序針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;進行整合程序若針對物體進行該裁切程序后計算出多個裁切平面,則將此多個裁切平面中至少兩個裁切平面的各個頂點統(tǒng)一記錄于同一頂點列表,以利用同一頂點列表來代表至少兩個裁切平面的各個頂點。
8.根據(jù)權(quán)利要求7所述的方法,其中,當進行該整合程序時,是依據(jù)三角列表的基本型態(tài)來將至少兩個裁切平面的各個頂點記錄于同一頂點列表。
9.一種可進行圖形處理的電子系統(tǒng),其可將一個三維空間投影顯示于二維屏幕;該三維空間中至少有一個物體,各個物體是由至少一平面所形成;而該電子系統(tǒng)包含有視野模塊,其可設(shè)定視野范圍及其邊界,使該邊界可包圍該視野范圍;裁切模塊,其可針對該三維空間中的每一物體,檢查該物體中的每一平面是否相交于該邊界;若有某一平面相交于該邊界,則該裁切模塊可計算該平面與該視野范圍的交集,以將交集出的平面當作該平面所對應(yīng)的裁切平面,各裁切平面具有多個頂點;整合模塊若該裁切模塊針對物體進行裁切后計算出至少一裁切平面,則該整合模塊可將所有裁切平面的各個頂點依據(jù)三角列表的基本型態(tài)統(tǒng)一記錄于同一頂點列表,以利用該頂點列表來代表各裁切平面的頂點。
10.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其中各物體是由至少一三角形的平面所形成。
11.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其還包含有設(shè)定模塊;在該裁切模塊對物體進行裁切后,該設(shè)定模塊可對該物體的裁切平面進行設(shè)定程序,以接收各裁切平面的頂點列表,并根據(jù)該頂點列表對應(yīng)的基本型態(tài)來設(shè)定要如何將該頂點列表中的頂點連接為對應(yīng)的平面;其中,當該設(shè)定模塊運作時,是以該整合模塊所產(chǎn)生的頂點列表來進行該設(shè)定程序,使得該設(shè)定模塊可針對同一頂點列表設(shè)定不同裁切平面的連接。
12.根據(jù)權(quán)利要求11所述的電子系統(tǒng),其還包含有像素處理模塊,其可根據(jù)該設(shè)定程序的設(shè)定,計算各平面于該二維屏幕上所占用的像素,以及各像素所應(yīng)呈現(xiàn)的色彩。
13.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其中,該整合模塊是將各裁切平面劃分為三角形的平面,再依據(jù)所有裁切平面所劃分出的三角形的頂點而將各裁切平面的各個頂點以三角列表的基本型態(tài)記錄于同一頂點列表。
全文摘要
本發(fā)明是提供一種進行圖形處理的方法及相關(guān)裝置。在將三維空間的多邊形物體依據(jù)視野范圍而投影顯示于二維屏幕時,該物體交界于視野范圍內(nèi)外的平面要經(jīng)過裁切。在已知技術(shù)中,不同裁切平面的頂點會依據(jù)三角扇的基本型態(tài)而分別記錄于不同的頂點列表。而在本發(fā)明的一實施例中,物體經(jīng)裁切后所有裁切平面的所有頂點可統(tǒng)一以三角列表的基本型態(tài)記錄于同一頂點列表中,以增進圖形處理的效能。
文檔編號G06T15/10GK1818976SQ200610067609
公開日2006年8月16日 申請日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者陳亦鵬 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1