專利名稱:圖像處理裝置、圖像處理方法、信息記錄介質(zhì)、以及程序的制作方法
技術(shù)領域:
本發(fā)明涉及一種圖像處理裝置、圖像處理方法、以及用計算機來實現(xiàn)它們的程序及記錄有該程序的計算機可讀的信息記錄介質(zhì),它們適合減少應處理的多邊形的數(shù)目來繪制由配置在虛擬三維空間內(nèi)的多邊形形成的對象。
背景技術(shù):
以往,在計算機圖形領域或各種游戲裝置的處理中,利用了三維圖形技術(shù)。在這種三維圖形技術(shù)中,在虛擬的三維空間中配置待繪制的對象。對象的表面用多面體來表現(xiàn),多面體的各面為多邊形。這種三維圖形技術(shù)在以下的文獻中有公開。
專利文獻1(日本)特許第3490983號。
一般,在用三維圖形來顯示從配置在該三維空間中的視點沿所給的視線方向看到的配置在該三維空間中的對象的樣子的情況下,進行以下處理。即,對于各多邊形,分別比較其外向法線和表示視線方向的視線矢量所成的角度。然后,按離視點從遠到近的順序?qū)υ摻嵌葹?0度~180度的多邊形進行排序。進而,按從遠到近的順序?qū)⒍噙呅瓮队白儞Q到圖像緩沖器中(一般采用從視點沿視線方向看的情況下的透視變換。),將分配給該多邊形的紋理粘貼到被投影變換的區(qū)域。將這種處理稱為Z緩沖法。
發(fā)明內(nèi)容
然而,由于三維圖形的處理需要龐大的計算,所以強烈希望簡易地(根據(jù)用途而近似地)減少作為處理對象的多邊形的數(shù)目,縮短處理所需的時間。
本發(fā)明就是為了解決上述課題而提出的,其目的在于提供一種圖像處理裝置、圖像處理方法、以及用計算機來實現(xiàn)它們的程序及記錄著該程序的計算機可讀的信息記錄介質(zhì),它們適合減少應處理的多邊形的數(shù)目來繪制由配置在虛擬三維空間內(nèi)的多邊形形成的對象。
為了實現(xiàn)以上目的,根據(jù)本發(fā)明的原理,公開下述發(fā)明。
本發(fā)明第1觀點的圖像處理裝置包括存儲部、判斷部、生成部,如下構(gòu)成。
首先,存儲部將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲。
例如,在虛擬三維空間中配置了樓房或塔等建筑物對象的情況下,該建筑物的表面的混凝土面、窗玻璃面、鋼筋面等各面被分割為多邊形來表現(xiàn)。
作為這種建筑物的近似多面體,例如可以采用長方體或四棱錐。這是因為,樓房的大體形狀多是長方體,塔的大體形狀多是四棱錐。
然后,將各多邊形與該長方體或該四棱錐的某一個面對應起來存儲。
另一方面,判斷部在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,判斷是否能看到上述存儲的近似多面體的各個面。
即,在本發(fā)明中,不是對各多邊形計算并對比外向法線矢量與視線方向矢量所成的角度,而是對近似多面體的各面計算并對比外向法線矢量與視線方向矢量所成的角度。如上所述,近似多面體表示對象的大體形狀,所以如果比較構(gòu)成對象的外形的多邊形的數(shù)目、和近似多面體的面的數(shù)目,則一般前者比后者多得多。
進而,生成部對于上述對應起來存儲的多個多邊形中的、與由上述判斷部判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
即,只對與近似多面體的各面中的、從當前的視點沿當前的視線方向看的情況下能看到的面相對應的多邊形進行三維圖形處理,而對于與近似多面體的各面中的看不到的面相對應的多邊形,則省略各種處理。
根據(jù)本發(fā)明,能夠減少應處理的多邊形的數(shù)目來繪制由配置在虛擬三維空間內(nèi)的多邊形形成的對象,能夠縮短繪制所需的計算時間。
此外,本發(fā)明的圖像處理裝置可以如下構(gòu)成將該多個多邊形中的各個該多邊形,與其外向法線矢量和該近似多面體的面的外向法線矢量所成的角度最小的近似多面體的面對應起來存儲。
本發(fā)明決定上述發(fā)明中的近似多面體的各面和對象表面的各多面體之間的對應關(guān)系。
最簡單地,可以將對象表面的各多面體與最接近該多面體的近似多面體的面對應起來。根據(jù)這種對應,在對象的形狀或三維圖形的應用領域中,也往往能得到足夠質(zhì)量的視頻。
另一方面,在本發(fā)明中,預先與近似多面體的面中的、多面體的外向法線矢量和其外向法線矢量所成的角度最小的面對應起來。在本發(fā)明中,采用各種近似來判定是否能看到多邊形,而通過采用本發(fā)明這種對應關(guān)系,來盡量正確地進行該判定。
根據(jù)本發(fā)明,提供決定多邊形和近似多面體的各面之間的對應的準則之一,并且一旦建立了這種對應,則三維圖形處理所需的時間與上述發(fā)明相同,所以能夠進行高速的處理。
此外,在本發(fā)明的圖像處理裝置中,能夠構(gòu)成為該近似多面體是外接該對象的棱柱,其一個面接觸該虛擬三維空間的地面;將該多個多邊形與接觸該地面的面以外的面對應起來存儲;上述判斷部判斷是否能看到接觸該地面的面以外的面。
像上述例子那樣,對配置在三維空間內(nèi)的建筑物進行繪制處理的情況下,明顯不將接觸地面的面作為繪制的對象。因此在本發(fā)明中,省略這種處理。
根據(jù)本發(fā)明,不將多邊形與近似多面體的接觸地面的面對應起來,能夠省略對接觸地面的面的判斷處理,來減少三維圖形處理所需的計算量,進行高速的處理。
此外,在本發(fā)明的圖像處理裝置中,能夠構(gòu)成為該近似多面體是外接該對象的棱錐,其底面接觸該虛擬三維空間的地面;將該多個多邊形與該底面以外的面對應起來存儲;上述判斷部判斷是否能看到該底面以外的面。
在上述發(fā)明中,作為近似多面體,采用了棱柱(典型地是長方體),而在本發(fā)明中,作為近似多面體,采用棱錐,將其底面作為接觸地面的面。
根據(jù)本發(fā)明,與上述發(fā)明同樣,不將多邊形與近似多面體的接觸地面的面對應起來,能夠省略對接觸地面的面的判斷處理,來減少三維圖形處理所需的計算量,進行高速的處理。
本發(fā)明第2觀點的圖像處理方法由包括存儲部、判斷部、生成部的圖像處理裝置來執(zhí)行,存儲部將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;包括判斷步驟、生成步驟,如下構(gòu)成。
即,在判斷步驟中,判斷部判斷在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,是否能看到上述存儲的近似多面體的各個面。
另一方面,在生成步驟中,生成部對于上述對應起來存儲的多個多邊形中的、與由上述判斷部判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
本發(fā)明另一觀點的程序使計算機作為上述圖像處理裝置來工作,或者使計算機執(zhí)行上述圖像處理方法來構(gòu)成。
此外,本發(fā)明的程序可以記錄到光盤、軟盤、硬盤、磁光盤、數(shù)字視盤、磁帶、半導體存儲器等計算機可讀的信息記錄介質(zhì)上。
上述程序可以與執(zhí)行程序的計算機獨立,經(jīng)計算機通信網(wǎng)來分發(fā)/銷售。此外,上述信息記錄介質(zhì)可以與計算機獨立來分發(fā)/銷售。
發(fā)明效果根據(jù)本發(fā)明,能夠提供一種圖像處理裝置、圖像處理方法、以及用計算機來實現(xiàn)它們的程序及記錄著該程序的計算機可讀的信息記錄介質(zhì),它們適合減少應處理的多邊形的數(shù)目來繪制由配置在虛擬三維空間內(nèi)的多邊形形成的對象。
圖1是實現(xiàn)本發(fā)明實施方式之一的圖像處理裝置的典型的游戲裝置的概要結(jié)構(gòu)的說明圖。
圖2是本發(fā)明實施方式之一的圖像處理裝置的概要結(jié)構(gòu)的示意圖。
圖3是表示對象和虛擬多面體的關(guān)系的說明圖。
圖4是視點、視線的方向、虛擬多面體的面、多邊形的關(guān)系的說明圖。
圖5是本實施方式的圖像處理裝置執(zhí)行的圖像處理的控制流程的流程圖。
標號說明100 游戲裝置101 CPU102 ROM103 RAM104 接口105 控制器106 外部存儲器107 圖像處理部108 DVD-ROM驅(qū)動器109 NIC110 聲音處理部
201 圖像處理裝置202 存儲部203 判斷部204 生成部301 對象302 虛擬多面體401 多邊形402 視點403 視線404 虛擬多面體的面411 多邊形的位置矢量412 視線方向矢量413 多邊形的外向法線矢量421 虛擬多面體的面的位置矢量423 虛擬多面體的面的外向法線矢量具體實施方式
以下說明本發(fā)明的實施方式。以下,為了容易理解,說明將本發(fā)明應用于進行三維圖形顯示的游戲裝置中的實施方式,在各種計算機、PDA(個人數(shù)字助理)、便攜式電話機等信息處理裝置中也同樣能夠應用本發(fā)明。即,以下說明的實施方式是用于說明,并非限制本申請發(fā)明的范圍。因此,只要是本領域的技術(shù)人員,就能夠采用將它們的各構(gòu)件或所有構(gòu)件置換為與其均等的構(gòu)件的實施方式,而這些實施方式也包含在本發(fā)明的范圍內(nèi)。
實施例1圖1是實現(xiàn)本發(fā)明的圖像處理裝置的典型的游戲裝置的概要結(jié)構(gòu)的說明圖。以下,參照該圖來進行說明。
游戲裝置100包括CPU(Central Processing Unit,中央處理單元)101、ROM 102、RAM 103、接口104、控制器105、外部存儲器106、圖像處理部107、DVD-ROM驅(qū)動器108、NIC(Network Interface Card,網(wǎng)絡接口卡)109、以及聲音處理部110。
通過將存儲有圖像處理用的程序及數(shù)據(jù)的DVD-ROM插入到DVD-ROM驅(qū)動器108中,并接通游戲裝置100的電源,來執(zhí)行該程序,實現(xiàn)本實施方式的圖像處理裝置。
CPU 101控制整個游戲裝置100的動作,與各構(gòu)件相連,交換控制信號和數(shù)據(jù)。此外,CPU 101能夠用ALU(Arithmetic Logic Unit,算術(shù)邏輯單元)(未圖示)對寄存器(未圖示)這一能夠高速存取的存儲區(qū)進行加減乘除等算術(shù)運算、或邏輯“或”、邏輯“與”、邏輯“非”等邏輯運算、位“或”、位“與”、位轉(zhuǎn)換、移位、位旋轉(zhuǎn)(ビツト回転)等位運算等。再者,為了能高速地進行用于支持多媒體處理的加減乘除等的飽和運算、或三角函數(shù)等、矢量運算等,有的包括CPU 101自身構(gòu)成的構(gòu)件、和協(xié)處理器來實現(xiàn)。
在ROM 102中,記錄有接通電源后立即執(zhí)行的IPL(Initial ProgramLoader,初始程序加載程序),通過執(zhí)行它,將DVD-ROM上記錄著的程序讀出到RAM 103中并由CPU 101開始執(zhí)行。此外,在ROM 102中,記錄著控制整個游戲裝置100的動作所需的操作系統(tǒng)的程序和各種數(shù)據(jù)。
RAM 103用于臨時存儲數(shù)據(jù)或程序,保持從DVD-ROM讀出的程序或數(shù)據(jù)、以及其他游戲的進行或聊天(チヤツト)通信所需的數(shù)據(jù)。此外,CPU 101在RAM 103中設有變量區(qū)域,進行下述處理對該變量中保存的值直接作用ALU來進行運算;或者將RAM 103中保存的值暫時保存到寄存器中后對寄存器進行運算,將運算結(jié)果寫回到存儲器中,等等。
經(jīng)接口104連接的控制器105接受在用戶執(zhí)行賽車游戲等游戲時進行的操作輸入。
在經(jīng)接口104可拆卸地連接的外部存儲器106中,可改寫地存儲表示賽車游戲等的游戲狀況(過去的成績等)的數(shù)據(jù)、表示游戲的進行狀態(tài)的數(shù)據(jù)、聊天通信的日志(ログ)的數(shù)據(jù)等。用戶通過經(jīng)控制器105進行指示輸入,能夠?qū)⑦@些數(shù)據(jù)適當記錄到外部存儲器106中。
在DVD-ROM驅(qū)動器108中安裝的DVD-ROM上,記錄有用于實現(xiàn)游戲的程序和游戲附帶的圖像數(shù)據(jù)和聲音數(shù)據(jù)。DVD-ROM驅(qū)動器108根據(jù)CPU 101的控制,對其中安裝的DVD-ROM進行讀出處理,讀出所需的程序和數(shù)據(jù),將它們臨時存儲到RAM 103等中。
圖像處理部107用CPU 101或圖像處理部107具備的圖像運算處理器(未圖示)對從DVD-ROM讀出的數(shù)據(jù)進行加工處理后,將其記錄到圖像處理部107具備的幀存儲器(未圖示)中。幀存儲器中記錄的圖像信息按規(guī)定的同步定時被變換為視頻信號,輸出到圖像處理部107上連接的監(jiān)視器(未圖示)。由此,能夠顯示各種圖像。
圖像運算處理器能夠高速執(zhí)行二維圖像的疊加運算或α混合等透視運算、各種飽和運算。
此外,也能夠用Z緩沖法繪制配置在虛擬三維空間上、附加了各種紋理信息的多邊形信息,來高速執(zhí)行用于得到從規(guī)定的視點位置向規(guī)定的視線的方向俯瞰配置在虛擬三維空間上的多邊形所得的繪制圖像。
再者,通過CPU 101和圖像運算處理器的協(xié)調(diào)動作,能夠根據(jù)定義字符的形狀的字體信息,將字符串作為二維圖像而繪制到幀存儲器中,或者繪制到各多邊形表面上。
此外,圖像運算處理器一般具有將三角形或四邊形的位像(紋理圖像)適當變形并投影到其他三角形或四邊形的區(qū)域上的繪制功能。
NIC 109用于將游戲裝置100連接到因特網(wǎng)等計算機通信網(wǎng)(未圖示)上,由下述部分構(gòu)成符合構(gòu)成LAN(Local Area Networ,局域網(wǎng))時所用的10BASE-T/100BASE-T標準的部件、用于用電話線路連接到因特網(wǎng)上的模擬調(diào)制解調(diào)器、ISDN(Integrated Services Digital Network,綜合業(yè)務數(shù)字網(wǎng))調(diào)制解調(diào)器、ADSL(Asymmetric Digital Subscriber Line,非對稱數(shù)字用戶線路)調(diào)制解調(diào)器、用于用有線電視線路連接到因特網(wǎng)上的線纜調(diào)制解調(diào)器等、以及它們和CPU 101之間的接口(未圖示)。
聲音處理部110將從DVD-ROM上讀出的聲音數(shù)據(jù)變換為模擬聲音信號,并從其上連接著的揚聲器(未圖示)輸出。此外,在CPU 101的控制下,生成游戲進行中應產(chǎn)生的效果音或樂曲數(shù)據(jù),從揚聲器輸出與其對應的聲音。
在聲音處理部110中,在DVD-ROM上記錄的聲音數(shù)據(jù)是MIDI數(shù)據(jù)的情況下,參照其具有的音源數(shù)據(jù),將MIDI數(shù)據(jù)變換為PCM數(shù)據(jù)。此外,在是ADPCM格式或Ogg Vorbis格式等已壓縮聲音數(shù)據(jù)的情況下,將其展開并變換為PCM數(shù)據(jù)。PCM數(shù)據(jù)通過按與其采樣頻率相應的定時來進行D/A(Digital/Analog,數(shù)字/模擬)變換,并輸出到揚聲器,能夠輸出聲音。
此外,游戲裝置100也可以用硬盤等大容量外部存儲裝置構(gòu)成,使得具有與ROM 102、RAM 103、外部存儲器106、DVD-ROM驅(qū)動器108中安裝的DVD-ROM等相同的功能。
圖2是本發(fā)明實施方式之一的圖像處理裝置的概要結(jié)構(gòu)的示意圖。以下,參照該圖來進行說明。本實施方式的圖像處理裝置201包括存儲部202、判斷部203、生成部204。
這里,存儲部202將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來進行存儲。
圖3是配置在虛擬三維空間中的對象的形狀的例子、和與其對應的近似多面體的例子的說明圖。以下,參照該圖來進行說明。其中,在該圖中,對象的輪廓用實線來表示,近似多面體的輪廓用虛線表示。
圖3(a)示出配置在虛擬三維空間內(nèi)的樓房對象301和其虛擬多面體302之間的關(guān)系。
樓房的大體形狀典型地往往是長方體,也有時采用棱柱那樣的形狀;本例的對象301的形狀大致為長方體。在構(gòu)成對象301的多邊形上,粘貼著混凝土面或窗玻璃面等的紋理,表現(xiàn)了虛擬三維空間內(nèi)的樓房。
因此,作為虛擬多面體302,采用了將該樓房對象301的主要構(gòu)造物(墻面及天花板)作為面的長方體(四棱柱)。
圖3(b)示出配置在虛擬三維空間內(nèi)的塔對象301和其虛擬多面體302之間的關(guān)系。
塔的大體形狀典型地往往采用棱柱或棱錐、棱臺(切斷棱錐的頂點附近后的剩余部分),本例的對象301的形狀大致為四棱錐。在構(gòu)成對象301的多邊形上,除了粘貼表示鋼筋的網(wǎng)眼狀紋理之外,還與上述對象301同樣,粘貼著混凝土面或窗玻璃面等紋理,表現(xiàn)了虛擬三維空間內(nèi)的塔。
因此,作為虛擬多面體302,采用了將該塔對象301的主要構(gòu)造物(墻面)作為面、將頂作為頂點的四棱錐。
作為虛擬多面體302,典型地,最好采用外接該對象301(內(nèi)包對象301的多邊形或與對象301的多邊形重疊。)、或表示對象301的大體形狀(因此也可能存在與對象301的多邊形交叉的面。)的多面體,特別是棱柱或棱錐。這是因為,與構(gòu)成對象301的多邊形數(shù)相比,這些多面體的面的數(shù)目極小。如后所述,用該虛擬多面體301的面來進行多邊形處理的削減,能減少計算量。
存儲部202將這種虛擬多面體的某一個面與對象的各多邊形對應起來存儲。以下,說明如何決定這種對應。
圖4是視點、視線的方向、虛擬多面體的1個面、1個多邊形的位置關(guān)系的說明圖。以下,參照該圖來進行說明。
在三維圖形中,繪制從配置在虛擬三維空間空間內(nèi)的視點402沿視線403的方向看到的、配置在該虛擬三維空間內(nèi)的多邊形401的樣子??紤]以視點402為原點的多邊形401的位置矢量r 411、以視點402為出發(fā)點的視線403的方向矢量s 412、以及多邊形401的外向法線矢量n 413。
多邊形401的位置矢量r 411指向多邊形401內(nèi)的某一個代表點,典型地,是多邊形401的某一個頂點、或多邊形401的重心。
為了判斷是否應繪制該多邊形401的紋理,嚴格來說,要根據(jù)位置矢量r 411和外向法線矢量n 413所成的角度的范圍來進行判定,在為離開規(guī)定的距離以上的對象的情況下,也可以用視線方向矢量s 412取代位置矢量r 411,來進行近似計算。即,嚴格來說,在
-1≤(r·n)/(|r‖n|)≤0近似地,在-1≤(s·n)/(|s‖n|)≤0成立時(兩個矢量所成的角度在90度以上、180度以下時),從該視點402能看到該多邊形401的表面。當然也可以用arccos(·)得到角度本身,來進行判斷。
因此,本來需要為每個多邊形401計算上述內(nèi)積(求出矢量之間所成的角度的計算)。
在本實施方式中,用與多邊形401對應起來的虛擬多面體302的面404來判斷它。將多個多邊形401與面404相對應起來,通過是否能看到面404的判斷,來集中(近似地)判斷是否能看到與對應起來的多個多邊形。
如該圖所示,考慮以視點402為原點的面404的位置矢量r’421、和面404的外向法線矢量n’423。位置矢量r’421指向面404內(nèi)的代表點,典型地是面404的重心或某一個頂點。
是否能看到虛擬多面體302的面404,與多邊形401的情況下的判斷同樣,可以根據(jù)-1≤(r’·n’)/(|r’‖n’|)≤0或-1≤(s·n’)/(s‖n’|)≤0來判斷。
因此,為了按是否能看到面404的判斷來近似判斷是否能看到多邊形401,需要多邊形401的外向法線矢量n 413、和面404的外向法線矢量n’423所成的角度接近。對于多個多邊形401中的各個多邊形401,對該多邊形401和虛擬多面體302的各個面404求出(n·n’)/(|n‖n’|)的值,只要與其成為最大(越接近1,兩者所成的角度越小。)的面404對應起來即可。
在存儲部202中,這樣存儲多邊形401和面404之間的對應。
其中,在樓房或塔等建筑物的情況下,不能看到其底面(建筑物接觸地面的面)。因此,在本實施方式中,作為虛擬多面體302的面404,不采用接觸地面的面。各多邊形401與配置在虛擬多面體302的側(cè)面或頂面上的某一個面404相對應起來。
此外,根據(jù)是否能看到虛擬多面體302的面404來判斷是否能看到多邊形401是近似的手法,在本實施方式的有些適用領域中,往往這樣就能得到足夠的視覺效果。當然,在計算量不增加(盡量省略看不到的多邊形401的處理)的范圍內(nèi),也可以盡量正確地進行該近似。
即,在上述說明中,如果2個矢量所成的角度在90度以上、小于180度,則判斷為能看到,但是可略微減小該下限。例如,將余量角度設為10度,如果2個矢量所成的角度在80度以上、小于180,則判斷為能看到。具體地說,在將該余量角度設為θ(0°≤θ≤90°,即0≤θ≤π/2)時,可以根據(jù)-1≤(r’·n’)/(|r’‖n’|)≤cosθ或-1≤(s·n’)/(s‖n’|)≤cosθ來判斷。
如果用矢量之間所成的角度的關(guān)系來寫這些,則可以變?yōu)棣小輆rccos((r’·n’)/(|r’‖n’|))≤π/2-θ或π≥arccos((s·n’)/(|s‖n’|))≥π/2-θ來判斷??梢愿鶕?jù)在計算機中包括哪種硬件或基本庫,來適當選擇采用哪一種判斷。
其中,方向矢量或視線方向矢量一般將長度設為1。即,|n|=|n’|=|s|=1在此情況下,上述判斷基準分別可以簡化為-1≤(r’·n’)/|r’|≤cosθ;
-1≤(s·n’)≤cosθ;π≥arccos((r’·n’)/|r’|)≥π/2-θ;π≥arccos(s·n’)≥π/2-θ由此可知,與利用位置矢量r’421相比,利用視線方向矢量s 412來進行判斷時計算時間較短。
此外,在將θ設為0°(=0)時,一點沒有余量;而在將θ設為90°(=π/2)時,認為能看到所有多邊形401來進行處理。因此,按照應用領域和計算機資源的能力來適當決定θ的值即可。
圖5是該圖像處理裝置執(zhí)行的圖像處理的控制流程的流程圖。以下,參照該圖來進行說明。
如上所述,在存儲部202中,將對象301的多邊形401分別與虛擬多面體302的某一個面404對應起來存儲。
因此,首先,判斷部203對虛擬多面體302的各個面404進行循環(huán)處理。首先,判斷是否對所有面404進行了處理(步驟S501),如果有尚未處理的面404(步驟S501;“否”),則取得1個未處理的面404(步驟S502),判斷在從配置在虛擬三維空間內(nèi)的視點402向視線方向矢量s 412的方向看該面404時,是否能看到該面404的外表面(步驟S503)。此時,如上所述,采用分配給該面404的外向法線矢量n’423,必要時采用從視點402到該面404的位置矢量r’421。
在能看到面404的外表面的情況下(步驟S503;“是”),將與該面404對應起來存儲在存儲部202中的多邊形401全部登記到Z緩沖器中(步驟S504),并返回到步驟S501。這里,Z緩沖器是被準備在RAM 103內(nèi)等、如后所述為了判斷多邊形之間離視點的遠近關(guān)系而使用的數(shù)組狀的存儲區(qū)域。
另一方面,在看不到面404的外表面的情況下(步驟S503;“否”),返回到步驟S501。
這樣,在游戲裝置100上實現(xiàn)圖像處理裝置201的情況下,CPU 101與RAM 103協(xié)作而作為判斷部203來工作。此外,在能夠利用圖像處理處理器所具有的多媒體指令或矢量運算指令、并行運算指令等的情況下,也可以并行處理上述循環(huán),或者利用矢量運算指令,來實現(xiàn)判斷部203的功能。
接著,對所有面404結(jié)束處理后(步驟S501;“是”),生成部204按離視點從遠到近的順序?qū)緩沖器中登記的多邊形401進行排序(步驟S505)。然后,從最遠的多邊形401到最近的多邊形401,循環(huán)進行以下的處理。
即,判斷是否對已排序Z緩沖器內(nèi)登記的所有多邊形401進行了處理(步驟S506),如果有未處理的多邊形401(步驟S506;“否”),則取得未處理的多邊形401中的、離視點402最遠的多邊形401(步驟S507),并根據(jù)虛擬三維空間中的該多邊形401的位置信息、姿態(tài)信息、以及視點的位置或視線方向來實施規(guī)定的透視變換(步驟S508),取得該多邊形401投影到畫面緩沖器內(nèi)的區(qū)域(步驟S509),進而,在該區(qū)域內(nèi)粘貼分配給該多邊形401的紋理(步驟S510),并返回到步驟S506。
這樣,CPU 101與RAM 103或圖像處理部107的圖像處理處理器協(xié)作,而作為生成部204來工作。
通過步驟S501~步驟S504的循環(huán)處理,只有(推測為)從視點402能看到其紋理面的多邊形401被登記到Z緩沖器內(nèi)。
因此,與將所有多邊形401登記到Z緩沖器中的情況相比,當然計算量很少即可。與對所有多邊形401進行是否能看到的預處理相比,采用本實施方式的近似法明顯能夠減少計算量。
其中,即使實際上應該看不到的多邊形401被登記到Z緩沖器中,在對象301是閉多面體時,實際上應該看不到的多邊形401處于被比其更接近視點402的場所的多邊形401覆蓋(這大致是可靠的),所以具有足夠的性能來適用于像賽車游戲那樣實時生成(玩家未必關(guān)注)背景圖像的情況。
在通過上述循環(huán)步驟S506~步驟S510在畫面緩沖器中進行了繪制后(步驟S506;“是”),通過將該畫面緩沖器的內(nèi)容按垂直同步信號周期傳送到顯示裝置,來顯示所生成的圖像(步驟S511),并結(jié)束本處理。
這樣,根據(jù)本實施方式,通過減少作為計算處理對象的多邊形的數(shù)目,能夠盡量高速生成三維圖形。
其中,在本申請中,主張以日本國專利申請?zhí)卦?004-275722號為基礎的優(yōu)先權(quán),取入該基礎申請的所有內(nèi)容作為本申請的內(nèi)容。
產(chǎn)業(yè)上的可利用性如上所述,能夠提供一種圖像處理裝置、圖像處理方法、以及用計算機來實現(xiàn)它們的程序及記錄有該程序的計算機可讀的信息記錄介質(zhì),它們適合減少應處理的多邊形的數(shù)目來繪制由配置在虛擬三維空間內(nèi)的多邊形形成的對象;除了能夠適用于需要高速三維圖形處理的賽車游戲或動作游戲等的情況之外,還能夠適用于提供各種虛擬體驗的虛擬現(xiàn)實技術(shù)等。
權(quán)利要求
1.一種圖像處理裝置,其特征在于,包括存儲部,將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;判斷部,在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,判斷是否能看到上述存儲的近似多面體的各個面;生成部,對于上述對應起來存儲的多個多邊形中的、與由上述判斷部判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
2.如權(quán)利要求1所述的圖像處理裝置,其特征在于,將該多個多邊形中的各個該多邊形,與其外向法線矢量和該近似多面體的面的外向法線矢量所成的角度最小的近似多面體的面對應起來存儲。
3.如權(quán)利要求1所述的圖像處理裝置,其特征在于,在表現(xiàn)該視線方向的矢量和該近似多面體的面的外向法線矢量所成的角度處于規(guī)定的下限角和規(guī)定的上限角之間的情況下,上述判斷部判定為能看到該近似多面體的面;該規(guī)定的下限角是90度以下的角度,該規(guī)定的上限角是180度。
4.如權(quán)利要求1所述的圖像處理裝置,其特征在于,在將該視點作為原點時的該近似多面體中包含的代表點的位置矢量和該近似多面體的面的外向法線矢量所成的角度處于規(guī)定的下限角和規(guī)定的上限角之間的情況下,上述判斷部判定為能看到該近似多面體的面;該規(guī)定的下限角是90度以下的角度,該規(guī)定的上限角是180度。
5.如權(quán)利要求1所述的圖像處理裝置,其特征在于,該近似多面體是外接該對象的棱柱,其一個面接觸該虛擬三維空間的地面;將該多個多邊形與接觸該地面的面以外的面對應起來存儲;上述判斷部判斷是否能看到接觸該地面的面以外的面。
6.如權(quán)利要求1所述的圖像處理裝置,其特征在于,該近似多面體是外接該對象的棱錐,其底面接觸該虛擬三維空間的地面;將該多個多邊形與該底面以外的面對應起來存儲;上述判斷部判斷是否能看到該底面以外的面。
7.一種圖像處理方法,由包括存儲部、判斷部、生成部的圖像處理裝置執(zhí)行,其特征在于,上述存儲部將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;包括判斷步驟,在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,上述判斷部判斷是否能看到上述存儲著的近似多面體的各個面;生成步驟,對于上述對應起來存儲的多個多邊形中的、與由上述判斷步驟判斷為能看到的近似多面體的面相對應的多邊形,上述生成部生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
8.一種記錄著程序的計算機可讀的信息記錄介質(zhì),其特征在于,該程序使計算機作為下述各部來工作存儲部,將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;判斷部,在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,判斷是否能看到上述存儲的近似多面體的各個面;生成部,對于上述對應起來存儲的多個多邊形中的、與由上述判斷部判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
9.一種程序,其特征在于,使計算機作為下述各部來工作存儲部,將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;判斷部,在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,判斷是否能看到上述存儲的近似多面體的各個面;生成部,對于上述對應起來存儲的多個多邊形中的、與由上述判斷部判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
全文摘要
本發(fā)明為了減少應處理的多邊形數(shù)來進行三維圖形處理,圖像處理裝置(201)的存儲部(202)將與配置于虛擬三維空間中的對象的形狀近似的近似多面體的某個面,與形成該對象的表面的多個多邊形的各個對應起來存儲;判斷部(203)在從規(guī)定的視點沿規(guī)定的視線方向看該虛擬三維空間內(nèi)的情況下,判斷是否能看到上述存儲的近似多面體的各個面;生成部(204)對于上述對應起來存儲的多個多邊形中的、與由上述判斷步驟判斷為能看到的近似多面體的面相對應的多邊形,生成從該規(guī)定的視點沿該規(guī)定的視線方向看到的圖像。
文檔編號A63F13/00GK101027695SQ20058003191
公開日2007年8月29日 申請日期2005年9月12日 優(yōu)先權(quán)日2004年9月22日
發(fā)明者柳原秀紀 申請人:科樂美數(shù)碼娛樂株式會社