專利名稱:用于記錄和信息處理的改進(jìn)方法和裝置及其記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及到在記錄和信息處理方法和裝置及其記錄介質(zhì)方面的改進(jìn),特別是,涉及到一種新的和經(jīng)過改進(jìn)的記錄介質(zhì),和在減少成本的情況下有利于高效和高速處理的記錄和信息處理系統(tǒng)。
最近,以高速執(zhí)行繪圖處理從而使用戶欣賞一個游戲等的家庭電視游戲機或個人計算機變得比較便宜并且已經(jīng)普及到很多的家庭之中。
為了產(chǎn)生一個計算機圖形(CG)或開發(fā)使用計算機圖形的軟件,采用了以較高速度執(zhí)行繪圖處理的圖形計算機。
上述的這種家庭電視游戲機、個人計算機和圖形計算機通常包括由存儲器、CPU(中央處理器)和其它操作電路構(gòu)成的繪圖裝置。在該繪圖裝置中,利用CPU產(chǎn)生將在電視接收機的顯示部分或?qū)S蔑@示單元上顯示的圖像數(shù)據(jù),即顯示數(shù)據(jù),且如此產(chǎn)生的數(shù)據(jù)被提供給用于保持顯示部分像素值的一個幀緩沖器,以便利用一個專用繪圖電路來執(zhí)行高速繪圖處理。
繪圖裝置的CPU執(zhí)行諸如坐標(biāo)轉(zhuǎn)換、剪裁和光源計算等的幾何處理,以便產(chǎn)生某些命令,這些命令用于以具有諸如三角形或四邊形的基本平面圖案(多邊形)相互結(jié)合的形式來繪制三維實物的幾何圖形,并將繪圖命令提供給繪圖電路。
繪圖電路根據(jù)從CPU接收的繪圖命令并根據(jù)多邊形頂點的顏色數(shù)據(jù)計算構(gòu)成所述多邊形的像素值并計算表示在預(yù)定顯示部分上以兩維方式顯示的三維空間中在縱深方向上所述多邊形位置的Z值,以及將所述值寫入幀緩沖器(繪制處理(rendering processing))并繪制所述多邊形的圖形。
如上所述的這種繪圖電路通過一個專用總線直接耦合到CPU上,以避免可能使負(fù)載(通過一個總線的數(shù)據(jù)發(fā)射和接收)集中于與不同電路(例如,記錄裝置或用于保持?jǐn)?shù)據(jù)的存儲器)共用的總線上。還應(yīng)當(dāng)說明,當(dāng)要例如以近似于15兆個多邊形/秒(每秒執(zhí)行15×106個多邊形的繪制處理)的速度執(zhí)行繪圖處理且利用于與不同電路共用的總線時,沿著與不同電路共用的總線通信的數(shù)據(jù)量達(dá)到100MB/sec到200MB/sec(每秒100到200兆字節(jié))。因此,對于共用總線來講需要大容量的總線。
從CPU輸出的數(shù)據(jù)被一次存儲在插入在CPU和繪圖電路之間的FIFO(先入先出)緩沖器中,并以記錄順序提供給繪圖電路。FIFO緩沖器連續(xù)地存儲和提供所存儲的數(shù)據(jù)給繪圖電路,結(jié)果,當(dāng)CPU提供數(shù)據(jù)的速度暫時高于繪圖電路的處理速度時,它的存儲數(shù)據(jù)量通常要增加,但是,當(dāng)CPU提供數(shù)據(jù)的速度低于繪圖電路的處理速度時,數(shù)據(jù)的存儲量通常要減少。在這種方式下,F(xiàn)IFO緩沖器緩解了在CPU數(shù)據(jù)提供速率和繪圖電路處理速度之間的不平衡。
但是,當(dāng)CPU的數(shù)據(jù)提供速率超過繪圖電路處理速度很多或當(dāng)由于向CPU和繪圖電路的加載狀態(tài)而使CPU提供數(shù)據(jù)的速率高于繪圖電路處理速度的狀態(tài)持續(xù)較長時間時,則未處理的數(shù)據(jù)將會累積在所述FIFO緩沖器中。這樣,當(dāng)這種未處理數(shù)據(jù)的量超過所述FIFO緩沖器的容量時,數(shù)據(jù)匹配就失調(diào),并且,隨后CPU和繪圖電路的操作就停止。因此,這種繪圖電路的缺點在于它很難有效地執(zhí)行處理。
這種繪圖電路的另一個缺點是為了以高速度執(zhí)行繪圖處理,當(dāng)用于繪圖的將被處理的數(shù)據(jù)量增加時,所需存儲器的容量和記錄介質(zhì)的容量也將增加,因此,很難實現(xiàn)低成本。
另外,前述的繪圖裝置還具有如下的缺點,即當(dāng)需要被處理的數(shù)據(jù)量增加時,從記錄介質(zhì)上或從存儲器上讀出數(shù)據(jù)所需要的時間也增加,并因此很難實現(xiàn)高處理速度。
因此,很長時間以來都需要一種新的、經(jīng)過改進(jìn)的記錄介質(zhì)以及記錄和信息處理系統(tǒng),以便于在低成本的情況下進(jìn)行有效和高速的處理。本發(fā)明完全滿足了這些需要。
簡單而概括地說,本發(fā)明提供了一種記錄介質(zhì)、記錄裝置和方法以及信息處理裝置和方法,利用這些方法和裝置,能夠?qū)崿F(xiàn)有效地數(shù)據(jù)處理和高的處理速度,并且,能夠容易地實現(xiàn)低成本。
特別是,借助于不構(gòu)成限制的實例,本發(fā)明提供了一個記錄介質(zhì),在該介質(zhì)上保持有作為在三維空間中預(yù)定目標(biāo)的數(shù)據(jù)的基本目標(biāo)的識別信息,所述基本目標(biāo)制定一個基準(zhǔn)和在基本目標(biāo)頂點座標(biāo)值和預(yù)定目標(biāo)頂點座標(biāo)值之間的差值。
對所述記錄介質(zhì)來說,由于它保持了作為三維空間的預(yù)定目標(biāo)數(shù)據(jù)且設(shè)置了一基準(zhǔn)和在基本目標(biāo)的頂點的坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間的差值的基本目標(biāo)的識別信息,所以,用于每個單獨目標(biāo)的數(shù)據(jù)量相對較少。因此,所述記錄介質(zhì)能夠保持較大數(shù)量目標(biāo)的數(shù)據(jù)。
根據(jù)本發(fā)明的再一個方面,提供了一種記錄裝置,用于將在三維空間中預(yù)定目標(biāo)的數(shù)據(jù)記錄到一個記錄介質(zhì)內(nèi)。該記錄裝置包括一個計算裝置,用于根據(jù)三維空間中的目標(biāo)計算基本目標(biāo)的識別信息,所述基本目標(biāo)設(shè)置了一基準(zhǔn)和在基本目標(biāo)頂點的坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間的差值;記錄裝置,用于記錄由所述計算裝置計算的識別信息和差值以作為預(yù)定目標(biāo)的數(shù)據(jù)。
本發(fā)明還提供了一種記錄方法,用于將三維空間預(yù)定目標(biāo)的數(shù)據(jù)記錄到一個記錄介質(zhì)上,所述方法包括下述步驟根據(jù)三維空間的預(yù)定目標(biāo)計算一個基本目標(biāo)的識別信息,所述基本目標(biāo)設(shè)置一基準(zhǔn)和在基本目標(biāo)頂點的坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間差值,并記錄在計算步驟中作為預(yù)定目標(biāo)數(shù)據(jù)而計算的識別信息和差值。
利用上述的記錄裝置和記錄方法,由于根據(jù)三維空間中的預(yù)定目標(biāo)計算了一個基本目標(biāo)的識別信息,其中所述基本目標(biāo)設(shè)置一個基準(zhǔn)和在基本目標(biāo)頂點坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間的差值,并且,如此計算的基準(zhǔn)和差值被作為預(yù)定目標(biāo)的數(shù)據(jù)進(jìn)行存儲,所以,可以實現(xiàn)其上記錄有較大數(shù)量目標(biāo)的數(shù)據(jù)的介質(zhì)。
本發(fā)明還提供了一個信息處理裝置,包括一個讀出裝置,用于從其上記錄有由多個在三維空間中的平面圖形組成的三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù);第一轉(zhuǎn)換裝置,用于將所述平面圖形轉(zhuǎn)換成由一定數(shù)量的與在預(yù)定顯示部分上的顯示尺寸對應(yīng)的平面圖形所組成的曲面;第二轉(zhuǎn)換裝置,用于將通過第一轉(zhuǎn)換裝置轉(zhuǎn)換所獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維顯示數(shù)據(jù)。
根據(jù)本發(fā)明的再一個方面,提供了一種信息處理方法,包括如下步驟從其上記錄有由多個在三維空間中的平面圖形所組成的三維目標(biāo)數(shù)據(jù)的一個記錄介質(zhì)中讀出數(shù)據(jù);將所述平面圖形轉(zhuǎn)換成由與在預(yù)定顯示部分的顯示尺寸對應(yīng)的一定數(shù)量平面圖形所組成的曲面;和將通過第一轉(zhuǎn)換裝置轉(zhuǎn)換所獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維顯示數(shù)據(jù)。
利用這種信息處理裝置和信息處理方法,由于平面圖形被轉(zhuǎn)換成由一定數(shù)量的和預(yù)定顯示部分的顯示尺寸對應(yīng)的平面圖形所組成的曲面,所以需要被處理數(shù)據(jù)的數(shù)量減少,并且總線的負(fù)擔(dān)也被減少。
根據(jù)本發(fā)明的再一個方面,提供了一信息處理裝置,包括用于從其上記錄有由多個在三維空間中的平面圖形組成的三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù)的讀出裝置;用于根據(jù)在預(yù)定顯示部分上的顯示尺寸分解平面圖形的分解裝置;用于根據(jù)原始平面圖形的亮度值計算通過進(jìn)行分解獲得的平面圖形的亮度值的計算裝置;和用于從通過分解獲得的平面圖形的亮度值中產(chǎn)生兩維顯示數(shù)據(jù)的產(chǎn)生裝置。
另外,本發(fā)明還提供了一種信息處理方法,包括下述步驟從其上記錄有由多個在三維空間中的平面圖形組成的一個三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù);根據(jù)預(yù)定顯示部分的顯示尺寸分解平面圖形;根據(jù)原始平面圖形的亮度值計算通過進(jìn)行分解獲得的平面圖形的亮度值;和從通過分解獲得的平面圖形的亮度值中產(chǎn)生兩維顯示數(shù)據(jù)。
因此,利用本發(fā)明的信息處理裝置和方法,由于平面圖形是根據(jù)預(yù)定顯示部分上的顯示尺寸來進(jìn)行分解,并且通過分解獲得的平面圖形的亮度值是根據(jù)原始平面圖形的亮度值來進(jìn)行計算,所以,需要被處理數(shù)據(jù)的數(shù)量減少且總線的負(fù)擔(dān)減少。
所以,本發(fā)明滿足了長期以來對一種新的改進(jìn)的記錄介質(zhì)和在減少成本的情況下能夠有效和高速執(zhí)行處理的記錄和信息處理系統(tǒng)的需要。
通過下面結(jié)合附圖的詳細(xì)描述和所附權(quán)利要求,本發(fā)明的上述和其他目的、特性和優(yōu)點將變的更加明顯,附圖中,類似的部分或元件使用相同的字符表示。
圖1的平面視圖示出了一個家庭游戲機,其上提供有本發(fā)明的信息處理裝置;圖2是圖1所示游戲機的前視立體圖;圖3是圖1所示游戲機的側(cè)視圖;圖4是平面視圖,示出了能夠由圖1所示游戲機再現(xiàn)的CD-ROM;圖5是圖1所示游戲機的系統(tǒng)方框圖;圖6是圖5所示可編程包引擎(Packet engine)的方框圖;圖7的流程圖示出了在圖1所示游戲機中多邊形圖形的繪制處理;圖8A的輪廓圖示出了由圖1所示游戲機處理的多邊形;圖8B的表給出了所述多邊形的數(shù)據(jù)格式;
圖9A和9B分別示出了多邊形分解的不同階段;圖10的輪廓圖示出了多邊形的不同分解;圖11A到圖11D簡圖分別示出了根據(jù)多種Z值所顯示的三維目標(biāo);圖12的流程圖詳細(xì)示出了在圖5所示流程的多邊形分解步驟中的處理;圖13的表給出了由圖1所示游戲機處理的多邊形的數(shù)據(jù)格式;圖14A到14C分別示出了圖13所示多邊形的不同類型的分解;圖15A的簡圖示出了通過分解圖13所示多邊形所獲得的多邊形;圖15B示出了圖15A所示多邊形的數(shù)據(jù);圖16的表給出了由圖5所示的由可編程包引擎所處理的不同數(shù)據(jù)量;圖17A的簡圖示出了由圖1所示游戲機處理的另一個多邊形;圖17B的表給出了圖17A所示多邊形的數(shù)據(jù)格式;圖18A到18C示出了對通過圖17A和17B的多邊形進(jìn)行分解獲得的一個多邊形的亮度值的計算;圖19A的簡圖示出了通過分解圖17的多邊形獲得的另一個多邊形;圖19B的表給出了圖19A的多邊形的數(shù)據(jù)格式;圖20A和20B的透視圖示出了三維目標(biāo)和相應(yīng)的模板;圖21的表給出了表示利用所述模板的三維目標(biāo)的數(shù)據(jù)格式;和圖22A和22B的方框圖示出了作為應(yīng)用了本發(fā)明的記錄裝置的一個產(chǎn)生裝置。
下面參考附圖,圖1到圖3示出了一個應(yīng)用了本發(fā)明的家庭TV游戲機的例子。這個家庭游戲機1包括游戲機殼體2、和可以連接到游戲機殼體2上的操作單元17和記錄單元38。
游戲機的殼體2是以圖1到3所示的基本呈四邊形的形狀形成的,并且,在該殼體2的中心位置處具有一個盤裝載臺3,圖4所示的光盤CD-ROM40(高密度盤ROM(只讀存儲器))用做被裝載游戲的介質(zhì)可以裝入該盤裝載臺3中,并且,在游戲機殼體的適當(dāng)位置處還具有一個用于任意復(fù)位游戲的復(fù)位開關(guān)4、用于使電源接通/關(guān)斷的電源開關(guān)5、用于裝載所述盤的盤操作開關(guān)6、和用于連接操作單元17和記錄單元38的連接部分7A和7B,所述操作單元17用于執(zhí)行游戲等的操作,所述記錄單元38將記錄該游戲的設(shè)置。
連接部分7A和7B中的每一個是由圖2和圖3所示的兩段形成的。在連接部分7A和7B中每一個的上段處設(shè)置了一個用于連接記錄單元38的記錄插入部分8,在下段處提供了一個用于連接操作單元17的連接端插入部分12。
記錄插入部分8具有一個在水平方向延伸的矩形插入開口,并且,在所述插入開口的內(nèi)部具有一個用于連接記錄單元38的存儲器連接端構(gòu)件(未示出)。另外,如圖2所示,記錄插入部分8中設(shè)置有一個用于防止所述存儲器連接端構(gòu)件進(jìn)入灰塵等的擋板9。還應(yīng)當(dāng)說明,記錄單元38還具有一個可電重寫的ROM,以便使與游戲相關(guān)的數(shù)據(jù)能夠被記錄。
為了安裝記錄單元38,用戶在記錄單元38的一端朝向里面的方向推擋板9,并進(jìn)一步將記錄單元38推進(jìn)插入開口,直到它與存儲器連接端構(gòu)件相連為止。
如圖2所示,連接端插入部分12具有一個在水平方向延伸的矩形插入開口和一個用于連接操作單元17的連接端構(gòu)件26的連接端12A。
操作單元17的結(jié)構(gòu)如圖1所示,它可以利用兩手握住,并且五個手指能夠隨意移動以便手動操作控制器17,同時,它還具有左右對稱的操作部分18和19;在操作部分18和19中間部分處的選擇開關(guān)22和始動開關(guān)23;設(shè)置在操作部分18和19前表面?zhèn)鹊牟僮鳂?gòu)件24和25;以及用于連接到游戲機殼體2上的連接端構(gòu)件26和電纜27。
圖5示出了上述游戲機殼體2電結(jié)構(gòu)的例子。
游戲機殼體2具有主總線41和輔助總線42的兩個總線。總線41和42通過總線控制器43彼此相互連接。
連接到主總線41上的裝置包括由微處理器或類似裝置構(gòu)成并用做讀出裝置和坐標(biāo)轉(zhuǎn)換裝置的主CPU44、由RAM(只讀存儲器)形成的主存儲器45、主直接存儲器存取控制器(主DMAC)46、MPEG譯碼器(MDEC)47、用做第一轉(zhuǎn)換裝置、分解裝置和計算裝置的可編程包引擎(PPP)48、和用做第二轉(zhuǎn)換裝置和產(chǎn)生裝置的圖形處理單元(GPU)49。
同時,連接到輔助總線42上的裝置包括由微處理器或類似裝置形成的輔助CPU、由RAM形成的輔助存儲器51、輔助直接存儲器存取控制器(輔助DMAC)52、其中存儲有諸如操作系統(tǒng)的ROM53、聲音處理單元(SPU)54、通信控制部分(ATM)55、也用做盤裝載臺3的CD-ROM驅(qū)動器56、輸入部分57和圖形處理單元49。
總線控制器43使主總線41和輔助總線42彼此相互連接,并使數(shù)據(jù)從主總線41輸出到輔助總線42、從輔助總線42輸出到主總線41。
一旦啟動游戲機殼體2,主CPU44就經(jīng)過總線控制器43從連接到輔助總線42的ROM53中讀入并執(zhí)行一個開始程序,以便使所述操作系統(tǒng)可以運行。
主CPU44控制CD-ROM驅(qū)動器56從裝在CD-ROM驅(qū)動器56中適當(dāng)位置處的CD-ROM40中讀出一個應(yīng)用程序或數(shù)據(jù),并將讀出的應(yīng)用程序或數(shù)據(jù)存儲到主存儲器45中。
主CPU44包括一個幾何計算引擎或圖形傳輸引擎(GTE)71,用于執(zhí)行諸如對由多個基本圖形(即多個多邊形)形成的三維目標(biāo)數(shù)據(jù)(頂點坐標(biāo)值(表示點)和多邊形的坐標(biāo)值)的坐標(biāo)轉(zhuǎn)換的幾何計算;還包括一個包引擎(PKE)72,用于通過主總線41將作為一個信息包的由圖形傳輸引擎71計算的數(shù)據(jù)傳輸給可編程包引擎48。
圖形傳輸引擎71包括多個運算元件,用于計算浮點的實數(shù)和并形執(zhí)行浮點運算。包引擎72將由圖形傳輸引擎71計算的一個多邊形數(shù)據(jù)作為一個包經(jīng)過主總線41提供給可編程包引擎48。
可編程包引擎48根據(jù)包括在從主CPU44的包引擎72提供給它的信息包中的一個多邊形信息將所述多邊形轉(zhuǎn)換成由多個小多邊形組成的曲面并將該曲面數(shù)據(jù)傳輸給圖形處理單元49。
圖6示出了可編程包引擎48的一個結(jié)構(gòu)例。包引擎91接收從主CPU44的包引擎72傳輸?shù)囊粋€信息包并將該信息包暫存在RAM92中。然后包引擎91在包括在所述信息包中的數(shù)據(jù)當(dāng)中將用于指定與一個多邊形處理相關(guān)的程序的數(shù)據(jù)(這種數(shù)據(jù)將在后面描述)存儲到指令RAM93中,并將其它數(shù)據(jù)(多邊形頂點的坐標(biāo)數(shù)據(jù))存儲到源數(shù)據(jù)RAM94中。
輔助CPU95根據(jù)存儲在ROM96中的程序運行,并且,當(dāng)數(shù)據(jù)被存儲到指令RAM93中時,讀出數(shù)據(jù),并根據(jù)由所述數(shù)據(jù)指定的程序(該程序總是駐留在輔助CPU95中)從存儲在源數(shù)據(jù)RAM94中一個多邊形的數(shù)據(jù)中(所述多邊形頂點的坐標(biāo)數(shù)據(jù)等)將所述多邊形分成一定數(shù)量的與在三維空間縱深方向上的所述多邊形的位置(Z值)相對應(yīng)的多個多邊形(子多邊形)(特別是,當(dāng)所述多邊形將被顯示在預(yù)定顯示部分上時,該數(shù)量對應(yīng)于顯示尺寸)。
在這個例子中,輔助CPU95沿著由包括在從包引擎72提供的信息包中的曲面參數(shù)所表示的基準(zhǔn)曲面產(chǎn)生子多邊形(即產(chǎn)生由多個子多邊形組成的一個曲面)。
然后,輔助CPU95將如此產(chǎn)生的多個多邊形的頂點坐標(biāo)值存儲到目標(biāo)數(shù)據(jù)RAM97中,以便使它們可以被提供給圖形處理單元49。
回過來參看圖5,圖形處理單元49從可編程包引擎48的目標(biāo)數(shù)據(jù)RAM97中讀出分隔處理等之后的多個多邊形坐標(biāo)值(三維)的數(shù)據(jù)。然后,圖形處理單元49將所述三維坐標(biāo)值轉(zhuǎn)換成用于預(yù)定顯示部分的兩維坐標(biāo)值;根據(jù)所述數(shù)據(jù)產(chǎn)生與所述多邊形對應(yīng)的像素數(shù)據(jù);將所述像素數(shù)據(jù)寫入幀緩沖存儲器58并執(zhí)行繪制處理。應(yīng)當(dāng)注意,在這個例子中,圖形處理單元49利用下述表示式根據(jù)三維坐標(biāo)值(X,Y,Z)計算兩維坐標(biāo)值(X,Y)(透視轉(zhuǎn)換)X=x/Z,Y=y(tǒng)/Z主直接存儲器存取控制器46執(zhí)行諸如用于連接到所述主總線41上的各個電路的DMA傳輸?shù)目刂?。另外,主直接存儲器存取控制?6還能夠響應(yīng)總線控制器43的狀態(tài),執(zhí)行諸如用于連接到輔助總線42上的各個電路的DMA傳輸?shù)目刂啤M瑫r,MPEG譯碼器47與主CPU44并行工作,并對由MPEG系統(tǒng)或JPEG系統(tǒng)壓縮的數(shù)據(jù)進(jìn)行解壓縮。
輔助CPU50根據(jù)存儲在ROM53中的程序執(zhí)行各種操作。輔助直接存儲器存取控制器52只在總線控制器43使主總線41和輔助總線42彼此脫離連接的情況下時才執(zhí)行諸如用于連接到輔助總線42上的各種電路的DMA傳輸?shù)目刂啤?br>
聲音處理單元54響應(yīng)由輔助CPU50或輔助直接存儲器存取控制器52提供的聲音命令從聲音存儲器59中讀出聲音數(shù)據(jù),并將所述聲音數(shù)據(jù)作為音頻數(shù)據(jù)輸出。
通信控制部分55(圖5中的ATM)被連接到一個公共網(wǎng)絡(luò)并經(jīng)過該公共網(wǎng)絡(luò)執(zhí)行數(shù)據(jù)的發(fā)送和接收。
輸入部分57包括用于與操作單元17連接的連接端12A、用于從不同裝置(未示出)接收視頻數(shù)據(jù)的視頻輸入電路82、和用于從所述不同裝置接收音頻數(shù)據(jù)的音頻輸入電路83。
下面結(jié)合圖7的流程描述家庭電視游戲機的繪圖處理。
首先,在步驟S1,主CPU44接收與用戶經(jīng)過輸入部分57來手動操作操作單元17相對應(yīng)的一個信號。
其次,主CPU44從主存儲器45中讀出一個多邊形的數(shù)據(jù)(頂點的坐標(biāo)值、法線矢量、基準(zhǔn)曲面(曲面參數(shù)))(預(yù)先從CD-ROM 40中讀出),并響應(yīng)用戶的操作由圖形傳輸引擎71對多邊形的坐標(biāo)進(jìn)行轉(zhuǎn)換。
然后,在步驟S2,主CPU44的包引擎72將多邊形頂點的坐標(biāo)值、所述多邊形的法線矢量、將由可編程包引擎48使用的曲面參數(shù)、和一個識別符(該識別符指定一個用于產(chǎn)生通過可編程包引擎48來構(gòu)成多個多邊形的曲面的一個程序)作為單一信息包經(jīng)主總線41傳送到可編程包引擎48的包引擎91。
應(yīng)當(dāng)注意,所述信息包否則可以利用主直接存儲器存取控制器46被傳送給可編程包引擎48。
例如,如果利用圖形傳輸引擎71的坐標(biāo)轉(zhuǎn)換來產(chǎn)生圖8A所示具有頂點P0到P3的四邊多邊形,那么,包引擎72傳輸一個信息包到可編程包引擎48的包引擎91,該信息包如圖8所示包括用于指定一個程序的識別符(圖8B中的代碼)、一法線矢量(Nx,Ny,Nz如圖8B所示)、表示基準(zhǔn)曲面的曲面參數(shù)、與頂點P0到P3對應(yīng)的坐標(biāo)值(Xi,Yi,Zi)(i=0,…,3)、與坐標(biāo)值對應(yīng)的基準(zhǔn)曲面參數(shù)(后述)值(ui,vi)(i=0,…3)和顏色數(shù)據(jù)值RGBi(i=0,……3)。
應(yīng)當(dāng)注意,根據(jù)所述識別碼設(shè)置包格式,以便可以對利用所述識別碼指定的程序進(jìn)行處理。
還應(yīng)當(dāng)注意,例如,在利用所述識別符代碼指定用于對正方形表面的基準(zhǔn)表面進(jìn)行處理的程序的情況下,利用下述表示式的參數(shù)u和v表示基準(zhǔn)曲面(X,Y,Z)x=fx(u,v)=a01u2+a01v2+a02uv+a03u+a03v+a04y=fy(u,v)=a11u2+a11v2+a12uv+a13u+a13v+a14z=fz(u,v)=a21u2+a21v2+a22uv+a23u+a23v+a24然后,在上述表示式中的常數(shù)a01到a24中,預(yù)定數(shù)量的非零常數(shù)aij被作為曲面參數(shù)傳送給可編程包引擎48。
另外,在利用識別符代碼指定用于對作為球面的基準(zhǔn)曲面進(jìn)行處理的一個程序情況下,利用半徑為R和由利用參數(shù)u和v并由下述表示式表示的中心坐標(biāo)(xc,yc zc)的球面來作為基準(zhǔn)曲面(x,y,z)x=Rcosvcosu+xc
y=Rsinv+ycz=Rcosvsinu+zc然后,球面的半徑R和圓點坐標(biāo)(xc,yc zc)被作為曲面參數(shù)傳送給可編程包引擎48。
再參看圖7,在步驟S3,可編程包引擎48的包引擎91將從主CPU44的包引擎72提供給它的信息包一次存儲在RAM92中,并從包括在所述信息包的數(shù)據(jù)中存儲用于指定一個程序的識別符給指令RAM93、以及將多邊形頂點的坐標(biāo)數(shù)據(jù)、參數(shù)值、多邊形的法線矢量和曲面參數(shù)存儲到源數(shù)據(jù)RAM94中。
在步驟S4,可編程包引擎48的輔助CPU95從指令RAM93中讀出識別碼。然后,輔助CPU95使用與所述識別碼的值對應(yīng)的一個程序來執(zhí)行處理。另外,輔助CPU95讀出諸如所述多邊形頂點的坐標(biāo)值的數(shù)據(jù)并計算在深度方向上表示該多邊形位置的Z值。
然后在步驟S5,輔助CPU95從源數(shù)據(jù)RAM94中讀出參數(shù)u和v以及曲面參數(shù)的值;計算在由參數(shù)u和v定義的空間((u,v)空間)內(nèi)所述多邊形頂點中的中點;根據(jù)所述中點和多邊形的頂點產(chǎn)生子多邊形,換言之,對所述多邊形進(jìn)行分割。
還應(yīng)當(dāng)注意,由于通過使用由曲面參數(shù)表示的基準(zhǔn)曲面來表示把在所述(u,v)空間中產(chǎn)生的中點映象到(x,y,z)空間中從而使它被設(shè)置在所述基準(zhǔn)曲面上,因此,由所述多邊形的中點和頂點形成沿基準(zhǔn)曲面的多個子多邊形,即產(chǎn)生由多個子多邊形組成的曲面。
然后,輔助CPU95遞歸分割該子多邊形,直到該子多邊形的顯示尺寸(顯示區(qū)域A)變的小于預(yù)定基準(zhǔn)值D為止。
輔助CPU95將以這種方式產(chǎn)生的子多邊形的頂點坐標(biāo)值存儲到目標(biāo)數(shù)據(jù)RAM97中。
例如,如果圖8A和8B所示多邊形被提供給可編程包引擎48,則輔助CPU95首先將四方形ABCD分割成三角形ABC和另一個三角形ACD,并計算三角形ABC的顯示A區(qū)域。然后,如果辯別出所述顯示區(qū)域A小于基準(zhǔn)值D,則如圖9A所示產(chǎn)生中點E以便產(chǎn)生子多邊形ABE和另一個子多邊形BCE。類似的,計算三角形ACD的顯示區(qū)域A,且如果辯別出該顯示區(qū)域A小于基準(zhǔn)值D,則如圖9B所示產(chǎn)生中點E,以便產(chǎn)生子多邊形ECD和另一個子多邊形AED。
然后,如果這些子多邊形(子多邊形BCE、子多邊形ECD和子多邊形AED)被進(jìn)一步分割,那么,如圖10所示,可以產(chǎn)生8個子多邊形。利用這種方式,當(dāng)重復(fù)進(jìn)行分割時,由所述子多邊形組成的曲面就達(dá)到為基準(zhǔn)曲面的球面。
類似的。當(dāng)需要表示如圖11A所示的球狀目標(biāo)時,如果該目標(biāo)所顯示的小于預(yù)定顯示區(qū)域,那么,例如利用如圖11B所示的8個頂點(12個多邊形)顯示一個平行六面體(正方體)。另一方面,如果所述目標(biāo)被顯示的比較大,那么,利用圖11C所示的14個頂點(24個多邊形)顯示比圖11B所示目標(biāo)更接近于球形的目標(biāo),但是,如果該目標(biāo)被顯示的更大,那么,例如利用圖11D所示的26個頂點(48個多邊形)顯示比圖11C所示目標(biāo)更接近于球形的一個目標(biāo)。
反過來看圖7,在步驟S6,圖形處理單元49從可編程包引擎48的目的數(shù)據(jù)RAM97中讀出子多邊形頂點的坐標(biāo)數(shù)據(jù)等。然后,圖形處理單元49產(chǎn)生所述子多邊形的像素數(shù)據(jù)、并將該像素數(shù)據(jù)存儲到幀緩沖器58中和執(zhí)行繪制處理。
在這種方式下,根據(jù)Z值來分割所述多邊形,并繪制經(jīng)過分割獲得的多邊形的圖形(沿基準(zhǔn)曲面的子多邊形)。通過繪制預(yù)定數(shù)量的多邊形圖形,來顯示由這些多邊形組成的三維目標(biāo)。如上所述,由于諸如坐標(biāo)轉(zhuǎn)換的幾何計算是由主CPU44的圖形傳輸引擎71執(zhí)行的且可編程包引擎48僅執(zhí)行與多邊形相關(guān)的局部計算,所以可以減小電路規(guī)模,并允許并行配置。
下面結(jié)合圖12的流程詳細(xì)描述在步驟5執(zhí)行的對所述多邊形的分割處理。
首先,在步驟S21,將提供給它的四邊形分割成兩個三角形,并計算所述三角形的區(qū)域A(當(dāng)所述三角形被顯示在預(yù)定顯示部分上時的區(qū)域)。
然后,在步驟S22,輔助CPU95分辯所述多邊形的區(qū)域A是否大于預(yù)定基準(zhǔn)值D。如果它確定該區(qū)域A大于預(yù)定基準(zhǔn)值D,那么,控制順序進(jìn)到步驟S23。另一方面,當(dāng)它確定區(qū)域A小于基準(zhǔn)值D時,輔助CPU95結(jié)束對所述多邊形的分割。
在步驟S23,輔助CPU95產(chǎn)生位于由參數(shù)u和v定義的空間(u,v空間)中的多邊形的兩個頂點中間的中點,并將所述多邊形分割成具有三個多邊形頂點和一個中點的兩個子多邊形(子多邊形A和B)。例如,在圖9A中,產(chǎn)生中點E,多邊形ABC被分割成子多邊形ABE和子多邊形BCE。
當(dāng)在由參數(shù)u和v定義的空間(u,v空間)中的多邊形ABC的頂點例如是A=(π/4,π/4),B=((3/4)π,π/4)和C=((5/4)π,π/4)時,通過頂點A和B的平均分量,頂點A和B之間的中點F被計算成F=(π/2,π/4)。但是,在求取預(yù)定兩個頂點((u1,v1),(u2,v2))的u分量平均值((u1+u2)/2)的情況下,由于這個點的u分量不是由上述給定的表示式規(guī)定的,所以,所述中點被確定成(0,π/2)。由于頂點A和C的u分量的平均值是((5/4)π-π/4),所以,在頂點A和C之間的中點E的坐標(biāo)值為(0,π/2)。
應(yīng)當(dāng)注意,如果所述基準(zhǔn)曲面是例如一個半徑R=1、圓心坐標(biāo)是(xc,yc,zc)=(0,-2,2)的球形表面,那么,根據(jù)上面給出的表示式(球面表示式),在三維空間中頂點A的坐標(biāo)值(x,y,z)是(1/2,1/(21/2)-2,5/2)。類似的,頂點B的坐標(biāo)值是(x,y,z)=(-1/2,1/(21/2)-2,5/2)。另外,頂點C的坐標(biāo)值是(x,y,z)=(-1/2,1/(21/2)-2,3/2)中點E的坐標(biāo)值(x,y,z)=(0,-1,2)。
另外,如果對頂點的坐標(biāo)進(jìn)行透視轉(zhuǎn)換以獲得用于顯示的兩維坐標(biāo)值,那么,根據(jù)上面給出的表示式,頂點A的坐標(biāo)值(X,Y)是(X,Y)=(1/5,((21/2)-4)/5)。類似的,頂點B的坐標(biāo)值是(-1/5,((21/2)-4)/5)。頂點C的坐標(biāo)值(XY)是(X,Y)=(-1/3,((21/2)-4)/3)。中點E的坐標(biāo)值是E=(0,-1/2)。
利用這種方式,當(dāng)在(u,v)空間中產(chǎn)生一個中點時,所述中點不被設(shè)置在用于顯示的三維空間或兩維空間中點上,而是被設(shè)置在基準(zhǔn)曲面上(圖9A)。
然后在步驟S24,輔助CPU95執(zhí)行子多邊形A的子多邊形產(chǎn)生處理。特別是,對子多邊形A執(zhí)行上述的多邊形分割處理。例如,從步驟S21開始對在步驟S23產(chǎn)生的子多邊形ABE的多邊形分割處理。
另外,在步驟S25,輔助CPU95執(zhí)行與子多邊形B相關(guān)的子多邊形產(chǎn)生處理。特別是,執(zhí)行對子多邊形B的上述多邊形分割處理。
通過利用這種方式在步驟S24和S25以遞歸方式執(zhí)行這種處理,通過分割獲得的每個多邊形被進(jìn)一步分割,并重復(fù)上述處理,直到通過所述分割獲得的尺寸小于所述基準(zhǔn)值的子多邊形為止。在這個例子中,由于每個中點都是在由參數(shù)u和v定義的(u,v)空間中產(chǎn)生的,所以,利用上述分割獲得的多邊形形成沿基準(zhǔn)曲面的曲面。
應(yīng)當(dāng)注意,在上述處理過程中,雖然所述基準(zhǔn)曲面是一個球面,然該基準(zhǔn)曲面可以是任何一種曲面。例如,由下述表示式給出的參數(shù)u和v的多項式可以被用做基準(zhǔn)曲面(x,y,z)x=(1-v)((1-u)x0+ux1)+v((1-u)x3+ux2)+Nxf(u,v)y=(1-v)((1-u)y0+uy1)+v((1-u)y3+uy2)+Nyf(u,v)z=(1-v)((1-u)z0+uz1)+v((1-u)z3+uz2)+Nzf(u,v)在這個例子中,在參數(shù)u和v在由所述識別碼指定的程序中預(yù)先被保持固定成四個點(u,v)=(o,o),(1,0),(1,1)和(0,1)的同時,常數(shù)xi,yi,zi(i=0,…,3)被作為數(shù)據(jù)提供給可編程包引擎48,以便計算在三維空間中該四個點的坐標(biāo)值。
上述表示式的f(u,v)是參數(shù)u和v的二次表示式。所述項的系數(shù)被作為曲面參數(shù)提供給可編程包引擎48。例如,f(u,v)由下述表示式表示f(u,v)=au2+bu+cv2+dv+e系數(shù)a到e將被作為曲面參數(shù)提供給可編程包引擎48。
因此,在這個例子中,包括與圖13的四點對應(yīng)的識別碼、法線矢量Nx,Ny,Nz、曲面參數(shù)、常數(shù)xi,yi,zi(i=0,…,3)和顏色數(shù)據(jù)(RGBi)(i=o,…,3)的包被提供給可編程包引擎48。應(yīng)當(dāng)注意,通過提供用于可編程包引擎48的數(shù)字微分分析器(DDA),可以簡單的使用一個遞歸公式來計算所述基準(zhǔn)曲面。
以圖13所示數(shù)據(jù)包的形式所提供的多邊形以類似于在基準(zhǔn)曲面是球面的情況中的方式根據(jù)Z值由可編程包引擎48進(jìn)行分割。例如,在Z值較高和所述多邊形在深度方向上被設(shè)置在較遠(yuǎn)的位置的情況下,即在所述多邊形被較小地顯示在預(yù)定顯示部分上的情況下,可編程包引擎48的輔助CPU95不分割所述多邊形,或換言之,如圖14A所述,分割數(shù)被設(shè)置成1,且將所述多邊形的頂點坐標(biāo)值存儲到目的RAM97中。
另一方面,在所述Z值較低且所述多邊形在深度方向上被設(shè)置得較近的情況下,即,在所述多邊形在預(yù)定顯示部分上被顯示的比較大時,輔助CPU95將所述多邊形分割成四個多邊形,即,如圖14B所示,分割數(shù)設(shè)為四,以便根據(jù)基準(zhǔn)曲面產(chǎn)生四個子多邊形并將該四個子多邊形的頂點坐標(biāo)值存儲到目的數(shù)據(jù)RAM97中。
但是,在所述Z值很低且多邊形被設(shè)置得在深度方向上很近的情況下,即,在多邊形被很大地顯示在預(yù)定顯示部分上時,輔助CPU95半所述多邊形分割成16個多邊形,即,分割數(shù)量為16,如圖14C所示,以便根據(jù)基準(zhǔn)曲面產(chǎn)生16個子多邊形,并將該16個子多邊形的頂點坐標(biāo)存儲到所述目的數(shù)據(jù)RAM97中。
例如,在多邊形被分割成如圖14A所示的16個多邊形時,如圖15A所示,該16個多邊形具有25個頂點P0到P24。由此,輔助CPU95以圖15B所示的方式排列頂點的坐標(biāo)值和顏色數(shù)據(jù)值(Xi,Yi,Zi,RGBi)并將這些值存儲到目的數(shù)據(jù)RAM97中。
應(yīng)當(dāng)注意,該分割利用四邊形(子多邊形)。
利用這種方式,當(dāng)一個目標(biāo)的形狀被顯示在所述預(yù)定顯示部分時,該目標(biāo)的形狀根據(jù)尺寸(顯示尺寸)改變,并且,當(dāng)顯示尺寸很小時,具有少量頂點的目標(biāo)被顯示成預(yù)定目標(biāo)且顯示所需操作的數(shù)量被減少。另一方面,在顯示尺寸很大的情況下,具有相對較大數(shù)量頂點的目標(biāo)被顯示成一個預(yù)定目標(biāo),以便使用戶在原來目標(biāo)和顯示目標(biāo)之間不感到形狀的差別。
另外,通過將相對粗略尺寸的多邊形的數(shù)據(jù)傳輸給可編程包引擎48和利用可編程包引擎48根據(jù)顯示區(qū)域?qū)λ@多邊形進(jìn)行分割,可以減少經(jīng)過主總線41從主CPU44提供給可編程包引擎48的數(shù)據(jù)量,進(jìn)而減少對主總線41的負(fù)荷。
從可編程包引擎48輸出給圖形處理單元49的數(shù)據(jù)量(輸出數(shù)據(jù)量)根據(jù)圖16所示多邊形的分割量而增加,同時由主CPU44經(jīng)過主總線41提供給可編程包引擎48的數(shù)據(jù)量(輸入數(shù)據(jù)量)是固定的(在圖13的包中,每一個多邊形為6個字),與多邊形的分割量無關(guān)。這樣,對主總線41的負(fù)荷是固定的,另外,利用這種方式,數(shù)據(jù)以圖16所示的數(shù)據(jù)壓縮比被進(jìn)行壓縮,且需要處理的數(shù)據(jù)量(沿主總線41進(jìn)行通信的數(shù)據(jù)量)減少。
應(yīng)當(dāng)注意,由于在保持每個多邊形4個頂點數(shù)據(jù)的同時,圖形處理單元49執(zhí)行單個多邊形的處理,所以,當(dāng)圖形處理單元49再次使用前面4個或多個提供的頂點數(shù)據(jù)時,可編程包引擎48再次提供頂點的數(shù)據(jù)。因此,從可編程包引擎48輸出的數(shù)據(jù)量(字?jǐn)?shù))大于通過分割獲得的多邊形的頂點的數(shù)量。
例如,以如圖15所示被分成具有總數(shù)為25個頂點P0到P24的16個子多邊形的數(shù)據(jù)需要被提供給圖形處理單元49為例。首先,可編程包引擎48將頂點P0到P3的數(shù)據(jù)提供給圖形處理單元49,且圖形處理單元49執(zhí)行對具有頂點P0到P3的多邊形的處理。然后,可編程包引擎48提供頂點P4到P5的數(shù)據(jù),且圖形處理單元49執(zhí)行對具有頂點P1、P3、P4和P5的多邊形的處理。類似的,可編程包引擎48按序提供頂點P6到P9的數(shù)據(jù),且圖形處理單元49連續(xù)執(zhí)行對具有頂點P4到P7的多邊形的處理和具有頂點P6到P9的多邊形的處理。
然后,可編程包引擎48向圖形處理單元49提供頂點P2、P3、P10和P11的數(shù)據(jù),圖形處理單元49執(zhí)行對具有頂點P2、P3、P10和P11的多邊形的處理。另外,可編程包引擎48提供頂點P5和P12的數(shù)據(jù),并且,圖形處理單元49執(zhí)行具有頂點P3、P5、P11和P12的多邊形的處理。類似地,可編程百單元48提供頂點P7、P9、P13和P14的數(shù)據(jù),圖形處理單元49連續(xù)執(zhí)行對具有頂點P5、P7、P12和P13的多邊形和具有頂點P7、P9、P13和P14的多邊形的處理。
此后,可編程包引擎48向圖形處理單元49提供頂點P10到P24的數(shù)據(jù),圖形處理單元49以類似方式連續(xù)處理各個多邊形。
由于可編程包引擎48以如上所述方式向圖形處理單元49提供各個多邊形頂點的數(shù)據(jù),所以包括頂點P2、P3、P7和P9以及頂點P10到P19在內(nèi)的15個頂點數(shù)據(jù)被兩次地提供給圖形處理單元49。因此,由于總數(shù)為40(=25+15)的頂點數(shù)據(jù)被提供給圖形處理單元49,所以,當(dāng)所述多邊形被分割成16時從可編程包引擎48輸出的數(shù)據(jù)量是40個字,如圖16所示。以這種方式提供的數(shù)據(jù)被稱作為條狀格網(wǎng)(stripe mesh)。
在上述的實施例中,在表示基準(zhǔn)曲面的曲面參數(shù)被提供給可編程包引擎48的同時,表示光源位置的參數(shù)可以與多邊形頂點坐標(biāo)值一起被提供給可編程包48,這樣,在所述多邊形被根據(jù)Z值進(jìn)行分割以后,可以根據(jù)表示光源位置的參數(shù)計算通過分割獲得的多邊形(子多邊形)的亮度值。
例如,包括表示光源位置的光源參數(shù)與圖17所示的多邊形頂點P0到P3的坐標(biāo)值(Xi,Yi,Zi)(i=0,…,3)以及法線矢量(Nx,Ny,Nz)和用于指定對所述多邊形進(jìn)行分割處理的一個程序的識別符(圖17中的代碼)被預(yù)先記錄在CD-ROM40上,且數(shù)據(jù)被讀出和存儲在主存儲器45內(nèi)。然后,在利用圖形傳輸引擎71執(zhí)行多邊形的坐標(biāo)轉(zhuǎn)換之后,這些數(shù)據(jù)被作為一個信息包由包引擎72提供給圖17B所示的可編程包引擎48。然后,在對多邊形進(jìn)行分割之后,可編程包引擎48根據(jù)光源參數(shù)計算各個子多邊形的亮度值。應(yīng)當(dāng)注意,在使用點光源的情況下,點光源的坐標(biāo)(Lx,Ly,Lz)和該光源的顏色信息(Lr,Lg,Lb)被作為光源參數(shù)提供給可編程包引擎48。
可編程包引擎48根據(jù)提供給它的光源參數(shù)計算在來自所述光源的一個法線(normal)和包括圖18A所示多邊形的兩維平面(p,g)之間的交點坐標(biāo)(P0,q0),并計算離所述兩維平面(p,g)的光源的高度h,還根據(jù)各子多邊形的頂點坐標(biāo)值利用下述表示式計算所述子多邊形頂點處的亮度值L(該值反比于到光源的距離的平方)L=h2/(h2+(p-p0)2+(q-q0)2)例如,在一個多邊形被分割成8個子多邊形的情況下,可編程包引擎48計算每個子多邊形頂點的亮度值。然后,圖形處理單元49根據(jù)所述子多邊形頂點的亮度值計算所述子多邊形的亮度值,并執(zhí)行圖18B所示的多邊形顯示。類似的,在所述多邊形被分割成32個子多邊形的情況下,可編程包引擎48計算所述子多邊形各頂點的亮度值。然后,圖形處理單元49根據(jù)子多邊形頂點的亮度值計算所述子多邊形的亮度值,并執(zhí)行圖18C所示多邊形的顯示。通過以這種方式計算預(yù)定多邊形的各單個多邊形的亮度值,一個目標(biāo)表面的亮度值可以很精細(xì)地變化。
然后,以這種方式對例如通過如圖19A所示分割成16個部分所產(chǎn)生的子多邊形各頂點(在這個例子中是25個頂點)計算的亮度值與來自可編程包引擎48的各頂點的坐標(biāo)值一起被輸出給圖18B所示的圖形處理單元49(圖形處理單元49從可編程包引擎48的目的數(shù)據(jù)RAM97中讀出所述亮度值)。
通過以上述方式分割所述多邊形并計算各子多邊形的亮度值,亮度值變化的密度(density)可以根據(jù)該多邊形的顯示尺寸進(jìn)行調(diào)節(jié)。另外,利用這種方式,由于圖形處理單元49僅需要執(zhí)行諸如發(fā)光遮蔽(glow shading)的線性計算,或者,換言之,由于圖形處理單元49不需要執(zhí)行復(fù)雜的光源計算,所以可以減少對圖形處理單元49的負(fù)載。
應(yīng)當(dāng)注意,在這個例子中,所述多邊形是在圖19A所示的三維空間中被進(jìn)行線形分割的。
另外,在上述的實施例中,在形成三維目標(biāo)的一個多邊形的頂點坐標(biāo)被從CD-ROM40中讀出的同時,還可以將具有三維基本形狀(諸如球形、圓柱形、立方體形或平面形)的基本目標(biāo)(模板(模塊))預(yù)先存儲到可編程包引擎48中以與所述模板和在所述模板相應(yīng)點處的差值(模板相應(yīng)點和與相應(yīng)點對應(yīng)的三維目標(biāo)的點之間的偏移)相對應(yīng)的識別號(模板模式ID)來表示一預(yù)定三維目標(biāo),以及將它們記錄到CD-ROM40中。
例如,利用指定圖20B所示圓柱形模板和在所述圓柱形模板相應(yīng)點pij(i=0,…9)處離所述模板的偏移(差值)nij的模板模式ID來表示如圖20A所示的旋轉(zhuǎn)體,即,相對于預(yù)定旋轉(zhuǎn)軸對稱的一個旋轉(zhuǎn)體的形狀。
當(dāng)利用上述這樣一種模板時,主CPU44從CD-ROM40讀出模板模式ID、目標(biāo)的坐標(biāo)值和模板偏移nij,并將所述數(shù)字值與用于指定對圖21所示多邊形進(jìn)行處理的程序的一個識別碼一起作為一個信息包傳送給可編程包引擎48。
然后,在接收該信息包的基礎(chǔ)上,可編程包引擎48使用由包括在所述信息包中的識別碼所指定的程序?qū)Πㄔ谠撔畔械娜S目標(biāo)的數(shù)據(jù)進(jìn)行處理,并引用模板模式ID從ROM96中讀出與所述模板模式ID對應(yīng)的模板數(shù)據(jù)。然后,可編程包引擎48根據(jù)來自所述模板的數(shù)據(jù)和偏移確定三維目標(biāo)的形狀。
通過以這種方式以用于指定一個模板和來自所述模板偏移nij的模板模式ID來表示三維目標(biāo),在模板形狀對稱的基礎(chǔ)上,可以減少將被記錄在CD-ROM上的數(shù)據(jù)量或用于坐標(biāo)轉(zhuǎn)換操作的次數(shù)。例如,在如圖20B所示的圓柱形模板中,圖20A所示的形狀可以僅由在半徑方向上的偏移(一維)來表示。
圖22示出了用于生產(chǎn)CD-ROM40的不同生產(chǎn)裝置。圖22A所示的生產(chǎn)裝置以圖13所示多邊形為單位的數(shù)據(jù)格式記錄一個預(yù)定三維目標(biāo)。但圖22B所示的生產(chǎn)裝置是一個應(yīng)用了本發(fā)明的記錄裝置,該裝置的構(gòu)成使它能夠以利用圖21所示模板的數(shù)據(jù)格式記錄一個預(yù)定三維目標(biāo)。
在圖22A所示的生產(chǎn)裝置中,一個模型制造器112從輸入裝置111接收與一個設(shè)計者,即產(chǎn)生一個圖像的個人的手動操作相對應(yīng)的信號,并響應(yīng)該設(shè)計者的手動操作產(chǎn)生三維目標(biāo)。
模型制造器112將與產(chǎn)生的三維目標(biāo)的曲面相關(guān)的信息提供給運算電路113并將形成所產(chǎn)生三維目標(biāo)的多邊形的頂點坐標(biāo)值提供給記錄裝置114。
運算電路113根據(jù)由模型制造器112提供的曲面信息計算與各個多邊形相對應(yīng)的曲面參數(shù),并將這些曲面參數(shù)提供給記錄裝置114。
記錄裝置114將一個激光束照射到母盤上以便記錄數(shù)據(jù),即,從模型制造器112和運算電路113提供給它的記錄數(shù)據(jù)。應(yīng)當(dāng)注意,所述母盤的表面上具有感光保護(hù)膜,記錄裝置114照射該表面以便以和所述記錄數(shù)據(jù)相對應(yīng)的坑的形狀來產(chǎn)生光感應(yīng)。此后,母盤被顯影。然后,在所述母盤表面上形成多個凹坑和突起,并產(chǎn)生一個模子。接著,根據(jù)這個模子生產(chǎn)大量的CD-ROM復(fù)制品。
在產(chǎn)生CD-ROM模子的基礎(chǔ)上,通過利用激光束以這種方式根據(jù)記錄數(shù)據(jù)來照射主盤,包括曲面參數(shù)和頂點坐標(biāo)值的記錄數(shù)據(jù)被記錄在相應(yīng)磁道上。然后,通過進(jìn)一步傳送母盤已經(jīng)被傳送了的模子,產(chǎn)生具有與記錄數(shù)據(jù)對應(yīng)的坑形狀的CD-ROM。
然后,在圖22B所示的產(chǎn)生裝置中,模型制造器112從輸入裝置111接收與設(shè)計者手動操作相對應(yīng)的信號,并產(chǎn)生與設(shè)計者的手動操作相對應(yīng)的三維目標(biāo)。
然后,模型制造器112將所產(chǎn)生的三維目標(biāo)的信息提供給運算電路115并將所產(chǎn)生三維目標(biāo)的各個點的坐標(biāo)值提供給記錄裝置114。
用做計算裝置的運算電路115從由模型制造器112提供的三維目標(biāo)信息中選擇與所述三維目標(biāo)相應(yīng)的一個模板、計算所述模板的識別號和在所述模板各個點和由模型制造器112產(chǎn)生的三維目標(biāo)的各個點之間的差值,并將所述識別號和差值提供給記錄裝置114。
用做記錄裝置的記錄裝置114將激光束照射到母盤上,以便將從模型制造器112和運算電路115提供給它的記錄數(shù)據(jù)(模板模式ID和在相應(yīng)點處的差值)記錄到母盤上。然后,以類似于在圖22A所示產(chǎn)生裝置中的方式由母盤產(chǎn)生大量CD-ROM。
以如上方式產(chǎn)生保持作為記錄數(shù)據(jù)的在相應(yīng)點差值和模板模式ID的CD-ROM。
因此,本發(fā)明滿足了對一種新的和經(jīng)過改進(jìn)的記錄介質(zhì)和有利于在減低成本的前提下執(zhí)行有效和高速處理的記錄和信息處理系統(tǒng)的需要。
應(yīng)當(dāng)注意,在上述的實施例中,CD-ROM被用做一種記錄介質(zhì),也可以使用任何一種其它適當(dāng)?shù)挠涗浗橘|(zhì)。
很明顯通過前面的描述,在示出和描述了本發(fā)明特殊形式的同時,可以在不脫離本發(fā)明精神和范圍的情況下作出多種修改。因此,除了所附權(quán)利要求以外,上述說明不作為對本發(fā)明的限制。
權(quán)利要求
1.一種記錄介質(zhì),包括一個記錄元件和在所述記錄元件上記錄的三維空間中預(yù)定目標(biāo)的數(shù)據(jù)和形成基準(zhǔn)以及在基本目標(biāo)頂點坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間差值的一個基本目標(biāo)的識別信息,借此以利于執(zhí)行數(shù)據(jù)處理。
2.一種用于將三維空間中預(yù)定目標(biāo)的數(shù)據(jù)記錄到一個記錄介質(zhì)上的記錄裝置,包括計算裝置,用于根據(jù)三維空間中的目標(biāo)計算一個基本目標(biāo)的識別信息,該信息形成一個基準(zhǔn)以及在所述基本目標(biāo)頂點坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間的差值;和記錄裝置,用于記錄由所述計算裝置計算的并作為預(yù)定目標(biāo)數(shù)據(jù)的識別信息和差值。
3.一種用于將在三維空間中的預(yù)定目標(biāo)數(shù)據(jù)記錄到一個記錄介質(zhì)上的記錄方法,包括如下步驟根據(jù)三維空間中的預(yù)定目標(biāo)計算一個基本目標(biāo)的識別信息,該信息形成一個基準(zhǔn)以及在所述基本目標(biāo)頂點坐標(biāo)值和預(yù)定目標(biāo)頂點坐標(biāo)值之間的差值;和記錄在計算步驟中計算的并用做預(yù)定目標(biāo)數(shù)據(jù)的識別信息和差值。
4.一種信息處理裝置,包括讀出裝置,用于從一個記錄介質(zhì)上讀出數(shù)據(jù),在所述記錄介質(zhì)上記錄有由在三維空間中的多個平面圖形組成的三維目標(biāo)的數(shù)據(jù);第一轉(zhuǎn)換裝置,用于將所述平面圖形轉(zhuǎn)換成由與在預(yù)定顯示部分上的一個顯示尺寸相對應(yīng)的一定數(shù)量的平面圖形所組成的曲面;和第二轉(zhuǎn)換裝置,用于將利用所述第一轉(zhuǎn)換裝置轉(zhuǎn)換所獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維顯示數(shù)據(jù),借此以利于執(zhí)行數(shù)據(jù)處理。
5.如權(quán)利要求4所述的信息處理裝置,還包括坐標(biāo)轉(zhuǎn)換裝置,用于轉(zhuǎn)換由所述讀出裝置讀出的平面圖形頂點的坐標(biāo)。
6.一種信息處理方法,包括如下步驟;從一個記錄介質(zhì)中讀出數(shù)據(jù),在所述記錄介質(zhì)上記錄有由在三維空間中的多個平面圖形所組成的三維目標(biāo)的數(shù)據(jù);將所述平面圖形轉(zhuǎn)換成由一定數(shù)量與預(yù)定顯示部分的顯示尺寸相對應(yīng)的平面圖形所組成的曲面;和將通過第一轉(zhuǎn)換裝置轉(zhuǎn)換獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維平面數(shù)據(jù),借此以利于執(zhí)行數(shù)據(jù)處理。
7.一種信息處理裝置,包括;讀出裝置,用于從一個記錄介質(zhì)中讀出數(shù)據(jù),在所述記錄介質(zhì)上記錄有由三維空間中的多個平面圖形構(gòu)成的三維目標(biāo)數(shù)據(jù);分割裝置,用于根據(jù)預(yù)定顯示部分上的顯示尺寸分割所述平面圖形;計算裝置,用于根據(jù)原始平面圖形的亮度值計算通過分割所獲得的平面圖形的亮度值;和產(chǎn)生裝置,用于根據(jù)通過分割所獲得的所述平面圖形的亮度值產(chǎn)生兩維顯示數(shù)據(jù),借此以利于執(zhí)行數(shù)據(jù)處理。
8.一種信息處理方法,包括如下步驟;從一個記錄介質(zhì)中讀出數(shù)據(jù),在所述記錄介質(zhì)上記錄有由在三維空間中的多個平面圖形組成的三維目標(biāo)的數(shù)據(jù);根據(jù)在預(yù)定顯示部分上的顯示尺寸分割所述平面圖形;根據(jù)原始平面圖形的亮度值計算通過分割所獲得的平面圖形的亮度值;和根據(jù)利用分割所獲得的平面圖形的亮度值產(chǎn)生兩維顯示數(shù)據(jù),借此以利于執(zhí)行數(shù)據(jù)處理。
9.一種記錄介質(zhì),包括;一個記錄元件;和在所述的記錄介質(zhì)上記錄的數(shù)據(jù),所述數(shù)據(jù)定義了形成一個三維空間中的三維目標(biāo)的曲面,并定義了形成所述三維目標(biāo)的一個多邊形,所述數(shù)據(jù)被作為一個信息包記錄在所述記錄元件上。
10.如權(quán)利要求9所述的記錄介質(zhì),其中,所述用于定義曲面的數(shù)據(jù)包括一個識別符,用于指定與所述信息相關(guān)的處理程序。
11.一種用于記錄三維圖像信息的記錄裝置,包括;用于提供定義了形成三維目標(biāo)的曲面的信息的裝置;用于提供定義了形成三維目標(biāo)的一個多邊形的信息的裝置;和用于在一個信息包中存儲定義了所述曲面的信息和定義了所述多邊形的信息的裝置。
12.如權(quán)利要求11所述的記錄裝置,還包括一個可編程包引擎。
13.如權(quán)利要求11所述的記錄裝置,其中,所述定義曲面的信息包括一個識別符,用于指定與所述信息相關(guān)的一個處理程序。
14.一種用于記錄三維圖像信息的記錄方法,包括如下步驟提供定義了形成三維目標(biāo)的一個曲面的信息;提供定義了形成三維目標(biāo)的一個多邊形的信息;和將定義所述曲面的信息和定義所述多邊形的信息存儲到一個信息包中。
15.如權(quán)利要求14所述的記錄方法,其中,所述定義曲面的信息包括一個識別符,用于指定與所述信息相關(guān)的處理程序。
16.一種用于記錄三維圖像信息的記錄裝置,包括用于輸入定義形成在三維空間中的三維目標(biāo)的曲面的信息和定義形成三維目標(biāo)的一個多邊形的信息的裝置;用于根據(jù)定義由所述輸入裝置輸入的曲面的信息將所述多邊形分割成多個子多邊形的裝置;和用于產(chǎn)生定義由所述分割裝置獲得的子多邊形的信息的裝置。
17.如權(quán)利要求16所述的記錄裝置,其中,所述的子多邊形是四邊形。
18.如權(quán)利要求15或16中任一個所述的記錄裝置,其中,所述定義曲面的信息包括一個識別符,用于指定與所述信息相關(guān)的一個處理程序。
19.一種用于記錄三維圖像信息的記錄方法,包括如下步驟;輸入定義形成在三維空間中三維目標(biāo)的曲面的信息和定義形成三維目標(biāo)的一個多邊形的信息;根據(jù)由所述輸入裝置輸入的定義了所述曲面的信息將所述多邊形分割成多個子多邊形;和產(chǎn)生定義由所述分割裝置獲得的子多邊形的信息。
20.如權(quán)利要求19所述的記錄方法,其中所述的子多邊形是四邊形。
21.如權(quán)利要求19所述的記錄方法,其中,所述定義曲面的信息包括一個識別符,用于指定與所述信息相關(guān)的處理程序。
22.一種圖形系統(tǒng),其中系統(tǒng)組合包括;用于將一個多邊形分割成多個子多邊形的裝置;用于計算各子多邊形的亮度值的裝置;和用于根據(jù)所述多邊形的顯示尺寸調(diào)節(jié)一個圖像的亮度密度的裝置。
23.一種圖形方法,包括如下步驟將一個多邊形分割成多個子多邊形;計算各子多邊形的亮度值;和根據(jù)所述多邊形的顯示尺寸調(diào)節(jié)所述圖像的亮度密度。
全文摘要
一種記錄介質(zhì)、記錄和信息處理裝置和方法,可以在減少成本的情況下實現(xiàn)數(shù)據(jù)的有效和高速處理。主CPU響應(yīng)用戶的操作來轉(zhuǎn)換一個多邊形的坐標(biāo),并將該多邊形的數(shù)據(jù)經(jīng)過主總線傳送給可編程包引擎。該包引擎計算表示在深度方向上該多邊形位置的Z值、將所述多邊形分割成一定數(shù)量的子多邊形、根據(jù)法線矢量和曲面參數(shù)轉(zhuǎn)換所述子多邊形頂點的坐標(biāo)值并產(chǎn)生由所述子多邊形組成的曲面。圖形處理單元將子多邊形的數(shù)據(jù)寫入幀緩沖器并執(zhí)行繪制處理。
文檔編號G06T19/00GK1173000SQ97113240
公開日1998年2月11日 申請日期1997年5月10日 優(yōu)先權(quán)日1996年5月10日
發(fā)明者鈴置雅一 申請人:索尼計算機娛樂公司