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

用于記錄和信息處理的改進(jìn)方法和裝置及其記錄介質(zhì)的制作方法

文檔序號(hào):6412106閱讀:316來(lái)源:國(guó)知局
專利名稱:用于記錄和信息處理的改進(jìn)方法和裝置及其記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及到在記錄和信息處理方法和裝置及其記錄介質(zhì)方面的改進(jìn),特別是,涉及到一種新的和經(jīng)過(guò)改進(jìn)的記錄介質(zhì),和在減少成本的情況下有利于高效和高速處理的記錄和信息處理系統(tǒng)。
最近,以高速執(zhí)行繪圖處理從而使用戶欣賞一個(gè)游戲等的家庭電視游戲機(jī)或個(gè)人計(jì)算機(jī)變得比較便宜并且已經(jīng)普及到很多的家庭之中。
為了產(chǎn)生一個(gè)計(jì)算機(jī)圖形(CG)或開發(fā)使用計(jì)算機(jī)圖形的軟件,采用了以較高速度執(zhí)行繪圖處理的圖形計(jì)算機(jī)。
上述的這種家庭電視游戲機(jī)、個(gè)人計(jì)算機(jī)和圖形計(jì)算機(jī)通常包括由存儲(chǔ)器、CPU(中央處理器)和其它操作電路構(gòu)成的繪圖裝置。在該繪圖裝置中,利用CPU產(chǎn)生將在電視接收機(jī)的顯示部分或?qū)S蔑@示單元上顯示的圖像數(shù)據(jù),即顯示數(shù)據(jù),且如此產(chǎn)生的數(shù)據(jù)被提供給用于保持顯示部分像素值的一個(gè)幀緩沖器,以便利用一個(gè)專用繪圖電路來(lái)執(zhí)行高速繪圖處理。
繪圖裝置的CPU執(zhí)行諸如坐標(biāo)轉(zhuǎn)換、剪裁和光源計(jì)算等的幾何處理,以便產(chǎn)生某些命令,這些命令用于以具有諸如三角形或四邊形的基本平面圖案(多邊形)相互結(jié)合的形式來(lái)繪制三維實(shí)物的幾何圖形,并將繪圖命令提供給繪圖電路。
繪圖電路根據(jù)從CPU接收的繪圖命令并根據(jù)多邊形頂點(diǎn)的顏色數(shù)據(jù)計(jì)算構(gòu)成所述多邊形的像素值并計(jì)算表示在預(yù)定顯示部分上以兩維方式顯示的三維空間中在縱深方向上所述多邊形位置的Z值,以及將所述值寫入幀緩沖器(繪制處理(rendering processing))并繪制所述多邊形的圖形。
如上所述的這種繪圖電路通過(guò)一個(gè)專用總線直接耦合到CPU上,以避免可能使負(fù)載(通過(guò)一個(gè)總線的數(shù)據(jù)發(fā)射和接收)集中于與不同電路(例如,記錄裝置或用于保持?jǐn)?shù)據(jù)的存儲(chǔ)器)共用的總線上。還應(yīng)當(dāng)說(shuō)明,當(dāng)要例如以近似于15兆個(gè)多邊形/秒(每秒執(zhí)行15×106個(gè)多邊形的繪制處理)的速度執(zhí)行繪圖處理且利用于與不同電路共用的總線時(shí),沿著與不同電路共用的總線通信的數(shù)據(jù)量達(dá)到100MB/sec到200MB/sec(每秒100到200兆字節(jié))。因此,對(duì)于共用總線來(lái)講需要大容量的總線。
從CPU輸出的數(shù)據(jù)被一次存儲(chǔ)在插入在CPU和繪圖電路之間的FIFO(先入先出)緩沖器中,并以記錄順序提供給繪圖電路。FIFO緩沖器連續(xù)地存儲(chǔ)和提供所存儲(chǔ)的數(shù)據(jù)給繪圖電路,結(jié)果,當(dāng)CPU提供數(shù)據(jù)的速度暫時(shí)高于繪圖電路的處理速度時(shí),它的存儲(chǔ)數(shù)據(jù)量通常要增加,但是,當(dāng)CPU提供數(shù)據(jù)的速度低于繪圖電路的處理速度時(shí),數(shù)據(jù)的存儲(chǔ)量通常要減少。在這種方式下,F(xiàn)IFO緩沖器緩解了在CPU數(shù)據(jù)提供速率和繪圖電路處理速度之間的不平衡。
但是,當(dāng)CPU的數(shù)據(jù)提供速率超過(guò)繪圖電路處理速度很多或當(dāng)由于向CPU和繪圖電路的加載狀態(tài)而使CPU提供數(shù)據(jù)的速率高于繪圖電路處理速度的狀態(tài)持續(xù)較長(zhǎng)時(shí)間時(shí),則未處理的數(shù)據(jù)將會(huì)累積在所述FIFO緩沖器中。這樣,當(dāng)這種未處理數(shù)據(jù)的量超過(guò)所述FIFO緩沖器的容量時(shí),數(shù)據(jù)匹配就失調(diào),并且,隨后CPU和繪圖電路的操作就停止。因此,這種繪圖電路的缺點(diǎn)在于它很難有效地執(zhí)行處理。
這種繪圖電路的另一個(gè)缺點(diǎn)是為了以高速度執(zhí)行繪圖處理,當(dāng)用于繪圖的將被處理的數(shù)據(jù)量增加時(shí),所需存儲(chǔ)器的容量和記錄介質(zhì)的容量也將增加,因此,很難實(shí)現(xiàn)低成本。
另外,前述的繪圖裝置還具有如下的缺點(diǎn),即當(dāng)需要被處理的數(shù)據(jù)量增加時(shí),從記錄介質(zhì)上或從存儲(chǔ)器上讀出數(shù)據(jù)所需要的時(shí)間也增加,并因此很難實(shí)現(xiàn)高處理速度。
因此,很長(zhǎng)時(shí)間以來(lái)都需要一種新的、經(jīng)過(guò)改進(jìn)的記錄介質(zhì)以及記錄和信息處理系統(tǒng),以便于在低成本的情況下進(jìn)行有效和高速的處理。本發(fā)明完全滿足了這些需要。
簡(jiǎn)單而概括地說(shuō),本發(fā)明提供了一種記錄介質(zhì)、記錄裝置和方法以及信息處理裝置和方法,利用這些方法和裝置,能夠?qū)崿F(xiàn)有效地?cái)?shù)據(jù)處理和高的處理速度,并且,能夠容易地實(shí)現(xiàn)低成本。
特別是,借助于不構(gòu)成限制的實(shí)例,本發(fā)明提供了一個(gè)記錄介質(zhì),在該介質(zhì)上保持有作為在三維空間中預(yù)定目標(biāo)的數(shù)據(jù)的基本目標(biāo)的識(shí)別信息,所述基本目標(biāo)制定一個(gè)基準(zhǔn)和在基本目標(biāo)頂點(diǎn)座標(biāo)值和預(yù)定目標(biāo)頂點(diǎn)座標(biāo)值之間的差值。
對(duì)所述記錄介質(zhì)來(lái)說(shuō),由于它保持了作為三維空間的預(yù)定目標(biāo)數(shù)據(jù)且設(shè)置了一基準(zhǔn)和在基本目標(biāo)的頂點(diǎn)的坐標(biāo)值和預(yù)定目標(biāo)頂點(diǎn)坐標(biāo)值之間的差值的基本目標(biāo)的識(shí)別信息,所以,用于每個(gè)單獨(dú)目標(biāo)的數(shù)據(jù)量相對(duì)較少。因此,所述記錄介質(zhì)能夠保持較大數(shù)量目標(biāo)的數(shù)據(jù)。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種記錄裝置,用于將在三維空間中預(yù)定目標(biāo)的數(shù)據(jù)記錄到一個(gè)記錄介質(zhì)內(nèi)。該記錄裝置包括一個(gè)計(jì)算裝置,用于根據(jù)三維空間中的目標(biāo)計(jì)算基本目標(biāo)的識(shí)別信息,所述基本目標(biāo)設(shè)置了一基準(zhǔn)和在基本目標(biāo)頂點(diǎn)的坐標(biāo)值和預(yù)定目標(biāo)頂點(diǎn)坐標(biāo)值之間的差值;記錄裝置,用于記錄由所述計(jì)算裝置計(jì)算的識(shí)別信息和差值以作為預(yù)定目標(biāo)的數(shù)據(jù)。
本發(fā)明還提供了一種記錄方法,用于將三維空間預(yù)定目標(biāo)的數(shù)據(jù)記錄到一個(gè)記錄介質(zhì)上,所述方法包括下述步驟根據(jù)三維空間的預(yù)定目標(biāo)計(jì)算一個(gè)基本目標(biāo)的識(shí)別信息,所述基本目標(biāo)設(shè)置一基準(zhǔn)和在基本目標(biāo)頂點(diǎn)的坐標(biāo)值和預(yù)定目標(biāo)頂點(diǎn)坐標(biāo)值之間差值,并記錄在計(jì)算步驟中作為預(yù)定目標(biāo)數(shù)據(jù)而計(jì)算的識(shí)別信息和差值。
利用上述的記錄裝置和記錄方法,由于根據(jù)三維空間中的預(yù)定目標(biāo)計(jì)算了一個(gè)基本目標(biāo)的識(shí)別信息,其中所述基本目標(biāo)設(shè)置一個(gè)基準(zhǔn)和在基本目標(biāo)頂點(diǎn)坐標(biāo)值和預(yù)定目標(biāo)頂點(diǎn)坐標(biāo)值之間的差值,并且,如此計(jì)算的基準(zhǔn)和差值被作為預(yù)定目標(biāo)的數(shù)據(jù)進(jìn)行存儲(chǔ),所以,可以實(shí)現(xiàn)其上記錄有較大數(shù)量目標(biāo)的數(shù)據(jù)的介質(zhì)。
本發(fā)明還提供了一個(gè)信息處理裝置,包括一個(gè)讀出裝置,用于從其上記錄有由多個(gè)在三維空間中的平面圖形組成的三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù);第一轉(zhuǎn)換裝置,用于將所述平面圖形轉(zhuǎn)換成由一定數(shù)量的與在預(yù)定顯示部分上的顯示尺寸對(duì)應(yīng)的平面圖形所組成的曲面;第二轉(zhuǎn)換裝置,用于將通過(guò)第一轉(zhuǎn)換裝置轉(zhuǎn)換所獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維顯示數(shù)據(jù)。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種信息處理方法,包括如下步驟從其上記錄有由多個(gè)在三維空間中的平面圖形所組成的三維目標(biāo)數(shù)據(jù)的一個(gè)記錄介質(zhì)中讀出數(shù)據(jù);將所述平面圖形轉(zhuǎn)換成由與在預(yù)定顯示部分的顯示尺寸對(duì)應(yīng)的一定數(shù)量平面圖形所組成的曲面;和將通過(guò)第一轉(zhuǎn)換裝置轉(zhuǎn)換所獲得的曲面數(shù)據(jù)轉(zhuǎn)換成兩維顯示數(shù)據(jù)。
利用這種信息處理裝置和信息處理方法,由于平面圖形被轉(zhuǎn)換成由一定數(shù)量的和預(yù)定顯示部分的顯示尺寸對(duì)應(yīng)的平面圖形所組成的曲面,所以需要被處理數(shù)據(jù)的數(shù)量減少,并且總線的負(fù)擔(dān)也被減少。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一信息處理裝置,包括用于從其上記錄有由多個(gè)在三維空間中的平面圖形組成的三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù)的讀出裝置;用于根據(jù)在預(yù)定顯示部分上的顯示尺寸分解平面圖形的分解裝置;用于根據(jù)原始平面圖形的亮度值計(jì)算通過(guò)進(jìn)行分解獲得的平面圖形的亮度值的計(jì)算裝置;和用于從通過(guò)分解獲得的平面圖形的亮度值中產(chǎn)生兩維顯示數(shù)據(jù)的產(chǎn)生裝置。
另外,本發(fā)明還提供了一種信息處理方法,包括下述步驟從其上記錄有由多個(gè)在三維空間中的平面圖形組成的一個(gè)三維空間目標(biāo)數(shù)據(jù)的記錄介質(zhì)上讀出數(shù)據(jù);根據(jù)預(yù)定顯示部分的顯示尺寸分解平面圖形;根據(jù)原始平面圖形的亮度值計(jì)算通過(guò)進(jìn)行分解獲得的平面圖形的亮度值;和從通過(guò)分解獲得的平面圖形的亮度值中產(chǎn)生兩維顯示數(shù)據(jù)。
因此,利用本發(fā)明的信息處理裝置和方法,由于平面圖形是根據(jù)預(yù)定顯示部分上的顯示尺寸來(lái)進(jìn)行分解,并且通過(guò)分解獲得的平面圖形的亮度值是根據(jù)原始平面圖形的亮度值來(lái)進(jìn)行計(jì)算,所以,需要被處理數(shù)據(jù)的數(shù)量減少且總線的負(fù)擔(dān)減少。
所以,本發(fā)明滿足了長(zhǎng)期以來(lái)對(duì)一種新的改進(jìn)的記錄介質(zhì)和在減少成本的情況下能夠有效和高速執(zhí)行處理的記錄和信息處理系統(tǒng)的需要。
通過(guò)下面結(jié)合附圖的詳細(xì)描述和所附權(quán)利要求,本發(fā)明的上述和其他目的、特性和優(yōu)點(diǎn)將變的更加明顯,附圖中,類似的部分或元件使用相同的字符表示。


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