專利名稱:圖像生成裝置以及圖像生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖像技術(shù),尤其涉及生成計(jì)算機(jī)圖形圖像的圖 像生成裝置及圖像生成方法。
背景技術(shù):
生成計(jì)算機(jī)圖形(CG:Computer Graphics)圖像的處理,因?yàn)橛?jì)算 負(fù)載大,在實(shí)時(shí)進(jìn)行圖像生成處理的信息處理裝置中,除了中央處理 單元(CPU: Central Processing Unit)之外,另有專門進(jìn)行圖像生成 處理的圖像生成裝置(圖形處理單元)。
圖1是表示以往的圖像生成裝置進(jìn)行的圖像生成方法的一般的處 理的流程圖。
以往的一般的圖像生成裝置,首先從信息存儲(chǔ)裝置(存儲(chǔ)器)加載輸 入多邊形造型(input polygon model)的頂點(diǎn)數(shù)據(jù)(S101)。另外,頂點(diǎn) 數(shù)據(jù)由表示頂點(diǎn)位置的坐標(biāo)數(shù)據(jù)和坐標(biāo)數(shù)據(jù)以外的數(shù)據(jù)即形態(tài)數(shù)據(jù)構(gòu) 成。其次,對(duì)頂點(diǎn)數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)進(jìn)行坐標(biāo)變換處理,變換為世界 坐標(biāo)(S102)。進(jìn)而,進(jìn)行從世界坐標(biāo)向顯示器坐標(biāo)變換的坐標(biāo)變換處 理(S103)。并且,利用變換坐標(biāo)數(shù)據(jù),對(duì)由加載的頂點(diǎn)數(shù)據(jù)構(gòu)成的多 邊形的每一個(gè)進(jìn)行以下判斷裁剪(clipping)判斷,即判斷多邊形是
否進(jìn)入了可視空間;或者剔除(culling)判斷,即判斷從視點(diǎn)上看是 否朝向了需要顯示的面,通過上述判斷來進(jìn)行多邊形繪制是否為有效 (S104)。只有對(duì)被判斷為有效的多邊形,才利用加載的頂點(diǎn)數(shù)據(jù)進(jìn)行 多邊形繪制處理(S105)。判斷是否對(duì)所有多邊形結(jié)束了上述處理 (S106),上述處理沒有終束的情況下(S106的"繼續(xù)"),反復(fù)各處理(S101 S105)。對(duì)所有多邊形結(jié)束了上述處理的情況下(S106的"結(jié) 束"),圖像生成裝置輸出被繪制的圖像。
作為上述的圖像生成裝置的例子,有專利文獻(xiàn)1及專利文獻(xiàn)2公 開的技術(shù)。
專利文獻(xiàn)1所示的技術(shù)是適合場(chǎng)面的切割等預(yù)先決定好的非交互 式用途的技術(shù)。專利文獻(xiàn)1所示的技術(shù)中,對(duì)不需要繪制的數(shù)據(jù)預(yù)先 進(jìn)行刪除。由此,能夠減少為了加載數(shù)據(jù)的存儲(chǔ)器訪問量。
專利文獻(xiàn)2示出了包括輸入多邊形數(shù)據(jù)的加載專用數(shù)據(jù)高速緩沖 存儲(chǔ)器的技術(shù)。專利文獻(xiàn)2所示的技術(shù),將加載過一次的頂點(diǎn)數(shù)據(jù)存 儲(chǔ)到專用的數(shù)據(jù)高速緩沖存儲(chǔ)器中,從而,參照相同的頂點(diǎn)數(shù)據(jù)時(shí), 不再進(jìn)行加載。從而,能夠減少存儲(chǔ)器訪問量。
專利文獻(xiàn)l:日本特開2001 — 209369號(hào)公報(bào)
專利文獻(xiàn)2:日本特開2001 — 195603號(hào)公報(bào)
非專利文獻(xiàn)l:計(jì)算機(jī)圖形(〕乂匕°二一夕夕、',7 、乂夕7) CG— ARTS協(xié)會(huì)出版(第34頁,第100頁)
然而,在所述以往的圖像生成裝置中,保存輸入多邊形造型的頂 點(diǎn)數(shù)據(jù)的存儲(chǔ)器對(duì)圖形處理單元的存儲(chǔ)器訪問量增大,存在壓迫存儲(chǔ) 器帶寬的問題,存儲(chǔ)器帶寬是每單位時(shí)間的最大存儲(chǔ)器訪問數(shù)據(jù)量。
具體而言,在所述以往的圖像生成裝置中,針對(duì)輸入多邊形造型 的頂點(diǎn),將坐標(biāo)數(shù)據(jù)及形態(tài)數(shù)據(jù)從存儲(chǔ)器加載到圖形處理單元。因?yàn)?在此之后進(jìn)行裁剪判斷及剔除判斷,所以不管多邊形的繪制是否為有 效,需要對(duì)輸入多邊形造型的所有頂點(diǎn)數(shù)據(jù)進(jìn)行加載。由此,存儲(chǔ)器 對(duì)圖形處理單元的存儲(chǔ)器訪問量增大,壓迫存儲(chǔ)器帶寬。
另外,在專利文獻(xiàn)1所示的技術(shù)中,為了減少加載的頂點(diǎn)數(shù)據(jù)的 數(shù)據(jù)量,只要限定為非交互式用途,就能夠解決課題。然而,專利文 獻(xiàn)1存在以下課題,該技術(shù)不能用于加入用戶操作的交互式用途的CG 處理。
而且,在專利文獻(xiàn)2所示的技術(shù)中,因?yàn)閰⒄障嗤捻旤c(diǎn)數(shù)據(jù)時(shí)不用再加載,所以能降低存儲(chǔ)器訪問量。然而,不管多邊形繪制是否 有效,至少要加載一次頂點(diǎn)數(shù)據(jù),作為所述課題的解決方法還不完全。 基于上述,解決所述課題的方法尚未存在,例如,以存儲(chǔ)器帶寬 窄的信息處理裝置,來實(shí)時(shí)地進(jìn)行輸入多邊形數(shù)量多的高清晰多邊形 繪制處理是非常困難的。
發(fā)明內(nèi)容
于是,本發(fā)明的目的在于,提供一種圖像生成裝置及圖像生成方
法,該圖像生成裝置及圖像生成方法不僅適用于交互式用途的CG處 理,且還能減少與輸入多邊形造型的頂點(diǎn)數(shù)據(jù)的加載有關(guān)的存儲(chǔ)器訪
為了解決所述課題,本發(fā)明的圖像生成裝置,通過繪制多邊形來
生成計(jì)算機(jī)圖形圖像,所述圖像生成裝置包括坐標(biāo)數(shù)據(jù)加載單元, 加載頂點(diǎn)數(shù)據(jù)中的表示頂點(diǎn)的位置的坐標(biāo)數(shù)據(jù),所述頂點(diǎn)數(shù)據(jù)表示構(gòu) 成多邊形的所述頂點(diǎn)的信息;坐標(biāo)變換單元,將由所述坐標(biāo)數(shù)據(jù)加載 單元加載的所述坐標(biāo)數(shù)據(jù)變換為不同的坐標(biāo)系;判斷單元,通過利用 由所述坐標(biāo)變換單元進(jìn)行變換而得到的已變換坐標(biāo)數(shù)據(jù),判斷所述多 邊形是否為繪制的對(duì)象,從而判斷構(gòu)成所述多邊形的頂點(diǎn)是否有效; 形態(tài)數(shù)據(jù)加載單元,加載形態(tài)數(shù)據(jù),該形態(tài)數(shù)據(jù)是僅對(duì)應(yīng)于由所述判 斷單元判斷為有效的頂點(diǎn)的所述頂點(diǎn)數(shù)據(jù)之中的、表示所述坐標(biāo)數(shù)據(jù) 以外的信息的數(shù)據(jù);以及多邊形繪制單元,利用由所述形態(tài)數(shù)據(jù)加載 單元加載的形態(tài)數(shù)據(jù)和所述已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
由此,以往是加載了頂點(diǎn)數(shù)據(jù)中的所有的形態(tài)數(shù)據(jù),而本發(fā)明能 夠只對(duì)多邊形繪制時(shí)必要的形態(tài)數(shù)據(jù)進(jìn)行加載。而且,能夠從加載的 坐標(biāo)數(shù)據(jù)檢測(cè)出多邊形繪制是否被執(zhí)行。因而,不僅僅是非交互式用 途,還適用于交互式用途的CG處理,且能夠減少與輸入多邊形造型 的頂點(diǎn)數(shù)據(jù)的加載有關(guān)的存儲(chǔ)器訪問量。
而且,也可以在每加載一個(gè)所述坐標(biāo)數(shù)據(jù)時(shí),在流水線上執(zhí)行由所述坐標(biāo)變換單元進(jìn)行的坐標(biāo)變換和由所述判斷單元進(jìn)行的多邊形判 斷及頂點(diǎn)判斷。
由此,能夠以存儲(chǔ)器帶寬窄的信息處理裝置,實(shí)時(shí)地進(jìn)行輸入多 邊形數(shù)量多的高清晰多邊形繪制處理。
而且,也可以是所述判斷單元具有多邊形判斷部,利用所述已 變換坐標(biāo)數(shù)據(jù)來判斷所述多邊形是否為繪制的對(duì)象,并輸出表示所述 多邊形是否為繪制的對(duì)象的多邊形有效標(biāo)志;以及頂點(diǎn)判斷部,通過
進(jìn)行包含共享的頂點(diǎn)的多個(gè)多邊形的多邊形有效標(biāo)志的或運(yùn)算,從而 判斷所述頂點(diǎn)是否有效。
而且,也可以是所述圖像生成裝置進(jìn)一步包括第一緩沖器,保
存預(yù)先被設(shè)定為表示頂點(diǎn)無效的中間結(jié)果標(biāo)志;所述判斷單元具有
多邊形判斷部,利用所述已變換坐標(biāo)數(shù)據(jù)來判斷所述多邊形是否為繪 制的對(duì)象,并輸出表示所述多邊形是否為繪制的對(duì)象的多邊形有效標(biāo)
志;以及頂點(diǎn)判斷部,通過對(duì)所述多邊形有效標(biāo)志和構(gòu)成與所述多邊 形有效標(biāo)志對(duì)應(yīng)的多邊形的頂點(diǎn)的所述中間結(jié)果標(biāo)志進(jìn)行或運(yùn)算,更 新保存在所述第一緩沖器中的中間結(jié)果標(biāo)志,從而判斷所述頂點(diǎn)是否 有效。
由此,僅執(zhí)行或運(yùn)算,就能夠判斷頂點(diǎn)是否有效,所以能夠降低 與頂點(diǎn)判斷有關(guān)的處理量。
而且,也可以是所述頂點(diǎn)判斷部,通過對(duì)所述中間結(jié)果標(biāo)志和所 述多邊形有效標(biāo)志進(jìn)行或運(yùn)算,從而在所述中間結(jié)果標(biāo)志的值有了變 更的情況下,輸出表示頂點(diǎn)有效的頂點(diǎn)有效標(biāo)志,所述形態(tài)數(shù)據(jù)加載 單元,在接收了所述頂點(diǎn)有效標(biāo)志時(shí),加載與所述頂點(diǎn)有效標(biāo)志對(duì)應(yīng) 的所述形態(tài)數(shù)據(jù)。
由此,在每次判斷為頂點(diǎn)有效時(shí),能夠加載對(duì)應(yīng)于該頂點(diǎn)的形態(tài) 數(shù)據(jù),所以能夠降低對(duì)存儲(chǔ)器帶寬的壓迫。
而且,也可以是所述頂點(diǎn)判定部還在所述中間結(jié)果標(biāo)志的值有了 變更的情況下,停止利用該中間結(jié)果標(biāo)志進(jìn)行的或運(yùn)算。由此,能夠避免對(duì)有一次判斷為有效的頂點(diǎn)再次進(jìn)行頂點(diǎn)判斷, 從而能夠降低處理量。
而且,也可以是所述坐標(biāo)數(shù)據(jù)加載單元,從只存儲(chǔ)多個(gè)所述坐標(biāo) 數(shù)據(jù)的區(qū)域加載所述坐標(biāo)數(shù)據(jù),所述形態(tài)數(shù)據(jù)加載單元,從只存儲(chǔ)多 個(gè)所述形態(tài)數(shù)據(jù)的區(qū)域加載所述形態(tài)數(shù)據(jù)。
由此,通過必須加載全部的坐標(biāo)數(shù)據(jù)和根據(jù)需要加載的形態(tài)數(shù)據(jù)
區(qū)分開來后進(jìn)行存儲(chǔ),從而由突發(fā)存儲(chǔ)器訪問(burst memory access) 來加載頂點(diǎn)數(shù)據(jù)時(shí),避免將被判斷為不需要的形態(tài)數(shù)據(jù)同坐標(biāo)數(shù)據(jù)一 起加載,從而能夠提高存儲(chǔ)器訪問效率,突發(fā)存儲(chǔ)器訪問是指以一次 的存儲(chǔ)器訪問來概括存儲(chǔ)器地址連續(xù)的區(qū)域的數(shù)據(jù)全部進(jìn)行加載的方 式。
而且,具體而言也可以是,所述坐標(biāo)變換單元,將所述坐標(biāo)數(shù)據(jù) 變換為世界坐標(biāo)系以及顯示器坐標(biāo)系,所述判斷單元,至少進(jìn)行下列 判斷中的一個(gè),即利用被變換為所述世界坐標(biāo)系的已變換坐標(biāo)數(shù)據(jù)所 執(zhí)行的裁剪判斷、以及利用被變換為所述顯示器坐標(biāo)系的已變換坐標(biāo) 數(shù)據(jù)所執(zhí)行的剔除判斷之中的一個(gè)判斷,從而判斷所述多邊形是否有 效,將構(gòu)成被判斷為有效的多邊形的頂點(diǎn)判斷為有效。
而且,本發(fā)明不僅可作為圖像生成裝置來實(shí)現(xiàn),而且可作為將構(gòu) 成圖像生成裝置的各處理單元為步驟的圖像生成方法來實(shí)現(xiàn)。
而且,本發(fā)明也可以作為集成電路來實(shí)現(xiàn),該集成電路通過繪制 多邊形來生成計(jì)算機(jī)圖形圖像,包括坐標(biāo)數(shù)據(jù)加載單元,加載頂點(diǎn) 數(shù)據(jù)中的表示頂點(diǎn)的位置的坐標(biāo)數(shù)據(jù),所述頂點(diǎn)數(shù)據(jù)表示構(gòu)成多邊形 的所述頂點(diǎn)的信息;坐標(biāo)變換單元,將由所述坐標(biāo)數(shù)據(jù)加載單元加載 的所述坐標(biāo)數(shù)據(jù)變換為不同的坐標(biāo)系;判斷單元,通過利用由所述坐
標(biāo)變換單元進(jìn)行變換而得到的己變換坐標(biāo)數(shù)據(jù),判斷所述多邊形是否 為繪制的對(duì)象,從而判斷構(gòu)成所述多邊形的頂點(diǎn)是否有效;形態(tài)數(shù)據(jù) 加載單元,加載形態(tài)數(shù)據(jù),該形態(tài)數(shù)據(jù)是僅對(duì)應(yīng)于由所述判斷單元判 斷為有效的頂點(diǎn)的所述頂點(diǎn)數(shù)據(jù)之中的、表示所述坐標(biāo)數(shù)據(jù)以外的信息的數(shù)據(jù);以及多邊形繪制單元,利用由所述形態(tài)數(shù)據(jù)加載單元加載 的形態(tài)數(shù)據(jù)和所述已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
根據(jù)本發(fā)明能夠大幅度減少存儲(chǔ)器對(duì)圖形處理單元的存儲(chǔ)器訪問 量,該存儲(chǔ)器訪問量是與輸入多邊形造型的頂點(diǎn)數(shù)據(jù)的加載有關(guān)的存 儲(chǔ)器訪問量。由此,例如能夠以存儲(chǔ)器帶寬窄的信息處理裝置,實(shí)時(shí) 地進(jìn)行輸入多邊形數(shù)量多的高清晰多邊形繪制處理。
圖l是以往的圖像生成裝置的工作的流程圖。 圖2是表示本發(fā)明的實(shí)施例的圖像生成裝置的結(jié)構(gòu)的方框圖。 圖3是表示向本實(shí)施例的圖像生成裝置輸入的輸入數(shù)據(jù)的圖。 圖4是表示多邊形消除判斷的圖。 圖5是表示本實(shí)施例的圖像生成裝置的工作的流程圖。 圖6是表示多邊形帶(polygon strip)形式的處理的流程的圖。 圖7是表示適應(yīng)多邊形帶形式的圖像生成裝置的各處理部中的數(shù) 據(jù)流程的圖。
圖8是表示多邊形扇(polygon fan)形式的處理流程的圖。 圖9是表示適應(yīng)多邊形扇形式的圖像生成裝置的各處理部中的數(shù) 據(jù)流程的圖。
圖10是表示多邊形網(wǎng)格(polygon mesh)形式的處理流程的圖。 圖11是表示適應(yīng)多邊形網(wǎng)格形式的圖像生成裝置的各處理部中的 數(shù)據(jù)流程的圖。
圖12是表示本實(shí)施例的包括圖像生成裝置的信息處理裝置的結(jié)構(gòu) 的方框圖。
符號(hào)說明
100圖像生成裝置 101主機(jī)接口102控制部
103坐標(biāo)數(shù)據(jù)加載部
104坐標(biāo)變換部
105多邊形消除判斷部
106頂點(diǎn)消除判斷部
107形態(tài)數(shù)據(jù)加載部
108多邊形繪制處理部
109存儲(chǔ)器接口
110變換坐標(biāo)緩沖器
111頂點(diǎn)消除判斷緩沖器
200, 1008存儲(chǔ)器
201輸入數(shù)據(jù)
202繪制命令列表
203頂點(diǎn)數(shù)據(jù)列表
204繪制命令
205, 501, 701, 901坐標(biāo)數(shù)據(jù)列表
206, 502, 702, 902形態(tài)數(shù)據(jù)列表
207, 504, 704, 904坐標(biāo)數(shù)據(jù)
208形態(tài)數(shù)據(jù)
301視點(diǎn)
302視見空間
303顯示器表面
304, 305, 306多邊形
401多邊形帶
402, 602, 802時(shí)間圖
503, 703, 903輸出圖像
505, 506, 510, 705, 706, 707, 712, 905, 906, 910已變
換坐標(biāo)數(shù)據(jù)507, 508, 708, 710, 907多邊形繪制有效標(biāo)志
509, 711, 909頂點(diǎn)有效標(biāo)志
511, 713, 911頂點(diǎn)數(shù)據(jù)
601多邊形扇
709, 908中間結(jié)果標(biāo)志
801多邊形網(wǎng)格
1000信息處理裝置
1001集成電路
1002 CPU
1003圖形處理單元
1004存儲(chǔ)器控制器
1005顯示器控制器
1006 CPU總線
1007存儲(chǔ)器總線
1009顯示器
具體實(shí)施例方式
下面,參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行說明。
本實(shí)施例的圖像生成裝置,通過判斷頂點(diǎn)是否為多邊形繪制中必 要的頂點(diǎn),加載只與被判斷為必要的頂點(diǎn)相對(duì)應(yīng)的形態(tài)數(shù)據(jù),并且利 用加載的數(shù)據(jù)繪制多邊形,從而生成計(jì)算機(jī)圖形圖像。
圖2是表示本發(fā)明實(shí)施例的圖像生成裝置的結(jié)構(gòu)的方框圖。圖2 的圖像生成裝置100,從保存與多邊形繪制有關(guān)的輸入數(shù)據(jù)201的存 儲(chǔ)器200讀出必要的數(shù)據(jù),從而執(zhí)行多邊形繪制。首先,說明存儲(chǔ)器 200所存儲(chǔ)的輸入數(shù)據(jù)201。
圖3是表示向本實(shí)施例的圖像生成裝置輸入的輸入數(shù)據(jù)的圖。如 圖3所示,輸入數(shù)據(jù)201由繪制命令列表202和輸入多邊形造型的頂 點(diǎn)數(shù)據(jù)列表203構(gòu)成。繪制命令列表202包括繪制命令204,該繪制命令204表示有關(guān) 多邊形繪制命令的各種信息。如圖3所示,繪制命令204表示以下 輸入多邊形的表現(xiàn)形式(多邊形帶、多邊形扇、以及多邊形網(wǎng)格等);各 參數(shù)的加載設(shè)定(各種數(shù)據(jù)的地址設(shè)定);以及繪制可選項(xiàng)等。
頂點(diǎn)數(shù)據(jù)列表203是輸入多邊形造型的頂點(diǎn)數(shù)據(jù)的列表,由坐標(biāo) 數(shù)據(jù)列表205和形態(tài)數(shù)據(jù)列表206構(gòu)成。另外,頂點(diǎn)數(shù)據(jù)是表示構(gòu)成 多邊形的頂點(diǎn)的信息的數(shù)據(jù),由坐標(biāo)數(shù)據(jù)和形態(tài)數(shù)據(jù)構(gòu)成。
如圖3所示,頂點(diǎn)數(shù)據(jù)列表203可分為坐標(biāo)數(shù)據(jù)列表205和形態(tài) 數(shù)據(jù)列表206分別存儲(chǔ)到不同的存儲(chǔ)器區(qū)域。由此,根據(jù)突發(fā)存儲(chǔ)器 訪問來加載頂點(diǎn)數(shù)據(jù)列表203時(shí),避免將被判斷為沒有必要加載的形 態(tài)數(shù)據(jù)同坐標(biāo)數(shù)據(jù)一起加載,從而能夠提高存儲(chǔ)器訪問效率,突發(fā)存 儲(chǔ)器訪問是以一次的存儲(chǔ)器訪問來對(duì)存儲(chǔ)器地址連續(xù)的區(qū)域的數(shù)據(jù)進(jìn) 行概括并全部進(jìn)行加載。
坐標(biāo)數(shù)據(jù)列表205是表示輸入多邊形造型的各頂點(diǎn)的位置的坐標(biāo) 數(shù)據(jù)207的列表。
形態(tài)數(shù)據(jù)列表206是表示各頂點(diǎn)的坐標(biāo)數(shù)據(jù)以外的信息的形態(tài)數(shù) 據(jù)208的列表。圖3作為一個(gè)例子示出了各頂點(diǎn)的法線數(shù)據(jù)、顏色數(shù) 據(jù)、紋理(texture)坐標(biāo)數(shù)據(jù)。
圖2的圖像生成裝置100包括主機(jī)接口(hostinterface)101、控 制部102、坐標(biāo)數(shù)據(jù)加載部103、坐標(biāo)變換部104、多邊形消除判斷部 105、頂點(diǎn)消除判斷部106、形態(tài)數(shù)據(jù)加載部107、多邊形繪制處理部 108、存儲(chǔ)器接口 109、變換坐標(biāo)緩沖器110、頂點(diǎn)消除判斷緩沖器111。
主機(jī)接口 101,把從CPU被輸入的繪制開始的指示傳達(dá)給控制部 102。
控制部102,在接收繪制開始的指示時(shí),經(jīng)由存儲(chǔ)器總線從存儲(chǔ)器 接口 109加載繪制命令列表202,將繪制命令204傳達(dá)給坐標(biāo)數(shù)據(jù)加 載部103及形態(tài)數(shù)據(jù)加載部107。
坐標(biāo)數(shù)據(jù)加載部103,按照繪制命令204訪問頂點(diǎn)數(shù)據(jù)列表203中的坐標(biāo)數(shù)據(jù)列表205,加載每個(gè)頂點(diǎn)的坐標(biāo)數(shù)據(jù)207,輸出到坐標(biāo)變換部104。
坐標(biāo)變換部104對(duì)所輸入的坐標(biāo)數(shù)據(jù)207進(jìn)行坐標(biāo)變換處理,將已變換坐標(biāo)數(shù)據(jù)輸出到多邊形消除判斷部105。坐標(biāo)變換處理是指將坐標(biāo)數(shù)據(jù)207變換為世界坐標(biāo)及顯示器坐標(biāo)。
多邊形消除判斷部105,利用已變換坐標(biāo)數(shù)據(jù),生成表示多邊形是否為繪制的對(duì)象,S卩,多邊形繪制是否有效的標(biāo)志(以下稱為,多邊形繪制有效標(biāo)志)。具體而言,首先,多邊形消除判斷部105將已變換坐標(biāo)數(shù)據(jù)存儲(chǔ)到變換坐標(biāo)緩沖器110。這是因?yàn)?,判斷多邊形繪制是否有效時(shí)(以下稱為,多邊形消除判斷),需要多個(gè)已變換坐標(biāo)數(shù)據(jù)。并且,從變換坐標(biāo)緩沖器110取出構(gòu)成判斷對(duì)象的多邊形的頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù),進(jìn)行多邊形消除判斷。并且,根據(jù)判斷結(jié)果生成多邊形繪制有效標(biāo)志,輸出到頂點(diǎn)消除判斷部106。在對(duì)應(yīng)的多邊形為有效時(shí),多邊形繪制有效標(biāo)志表示真,在對(duì)應(yīng)的多邊形為無效時(shí),多邊形繪制有效標(biāo)志表示假。關(guān)于多邊形消除判斷的具體例,針對(duì)每個(gè)多邊形的表現(xiàn)形式后述。
頂點(diǎn)消除判斷部106利用多邊形繪制有效標(biāo)志生成表示頂點(diǎn)是否有效的標(biāo)志(以下稱為,頂點(diǎn)有效標(biāo)志)。具體而言,首先,頂點(diǎn)消除判斷部106,將從多邊形消除判斷部105所輸出的多邊形繪制有效標(biāo)志、或者利用該多邊形繪制有效標(biāo)志所生成的表示中間頂點(diǎn)消除判斷結(jié)果的標(biāo)志(以下稱為,中間結(jié)果標(biāo)志)存儲(chǔ)到頂點(diǎn)消除判斷緩沖器lll。這是因?yàn)?,頂點(diǎn)消除判斷時(shí),需要多個(gè)多邊形繪制有效標(biāo)志或者中間結(jié)果標(biāo)志。并且,從頂點(diǎn)消除判斷緩沖器111取出包含判斷對(duì)象的頂點(diǎn)的多邊形的多邊形繪制有效標(biāo)志、或者判斷對(duì)象的頂點(diǎn)的中間結(jié)果標(biāo)志,判斷頂點(diǎn)是否有效。并且,根據(jù)判斷結(jié)果生成頂點(diǎn)有效標(biāo)志,輸出到形態(tài)數(shù)據(jù)加載部107。對(duì)應(yīng)的頂點(diǎn)有效時(shí),頂點(diǎn)有效標(biāo)志及中間結(jié)果標(biāo)志表示真,對(duì)應(yīng)的頂點(diǎn)無效時(shí),頂點(diǎn)有效標(biāo)志及中間結(jié)果標(biāo)志表示假。形態(tài)數(shù)據(jù)加載部107,按照繪制命令204訪問頂點(diǎn)數(shù)據(jù)列表203中的頂點(diǎn)數(shù)據(jù)列表206,加載形態(tài)數(shù)據(jù)208。具體而言,形態(tài)數(shù)據(jù)加載部107,通過參照從頂點(diǎn)消除判斷部106所輸出的頂點(diǎn)有效標(biāo)志,僅對(duì)有效的頂點(diǎn)數(shù)據(jù)進(jìn)行形態(tài)數(shù)據(jù)的加載,結(jié)合已變換坐標(biāo)數(shù)據(jù)輸出到多邊形繪制處理部108。
多邊形繪制處理部108,利用被輸入的頂點(diǎn)數(shù)據(jù)(已變換坐標(biāo)數(shù)據(jù)及形態(tài)數(shù)據(jù))進(jìn)行多邊形繪制處理,生成多邊形圖像。多邊形繪制處理通過計(jì)算機(jī)圖形處理中使用的一般的處理被執(zhí)行。多邊形繪制處理部108將經(jīng)由存儲(chǔ)器接口 109生成的多邊形圖像輸出到存儲(chǔ)器。
存儲(chǔ)器接口 109,在圖像生成裝置100所包括的各處理部和存儲(chǔ)器200之間進(jìn)行數(shù)據(jù)的交換。
變換坐標(biāo)緩沖器IIO對(duì)在坐標(biāo)變換部104已進(jìn)行變換的已變換坐標(biāo)數(shù)據(jù)進(jìn)行保存。變換坐標(biāo)緩沖器110是成為多邊形消除判斷部105的判斷處理對(duì)象的多邊形以多個(gè)頂點(diǎn)(本實(shí)施例中是三個(gè)頂點(diǎn))來構(gòu)成,所以暫時(shí)保存已變換坐標(biāo)數(shù)據(jù)的緩沖器。而且,在多邊形繪制處理部108的繪制處理中,其也是為了使用已變換坐標(biāo)數(shù)據(jù),而保存已變換坐標(biāo)數(shù)據(jù)的緩沖器。
頂點(diǎn)消除判斷緩沖器111,保存多邊形繪制有效標(biāo)志或者中間結(jié)果
標(biāo)志o
接著說明多邊形消除判斷部105進(jìn)行的多邊形消除判斷。圖4是用來說明多邊形消除判斷的圖。多邊形消除判斷是判斷由多個(gè)頂點(diǎn)構(gòu)成的多邊形是否在圖像生成時(shí)被使用的處理。
多邊形消除判斷中使用這樣的坐標(biāo)數(shù)據(jù),即變換成以視點(diǎn)301為原點(diǎn)的坐標(biāo)系(顯示器坐標(biāo)系)的坐標(biāo)數(shù)據(jù)。多邊形消除判斷根據(jù)裁剪判斷及剔除判斷來進(jìn)行。
如非專利文獻(xiàn)1所記載的方法一樣,裁剪判斷是判斷多邊形是否位于表示可見空間的六面體即視見空間302內(nèi)部的處理。當(dāng)構(gòu)成多邊形的頂點(diǎn)中所有頂點(diǎn)的坐標(biāo)位于視見空間302外部時(shí),多邊形繪制成為無效。例如,如多邊形305 —樣完全位于視見空間302外部的多邊形,根據(jù)裁剪判斷繪制成為無效。
另一方面,在剔除判斷中,針對(duì)從視點(diǎn)上看位于視見空間302內(nèi)部的多邊形的時(shí)候,多邊形的表面是否為正面進(jìn)行判斷。如非專利文獻(xiàn)1所記載的方法一樣,在剔除判斷中從構(gòu)成多邊形的頂點(diǎn)的坐標(biāo)求出表面法線矢量,確認(rèn)與視點(diǎn)方向矢量的內(nèi)積的符號(hào),從而能夠判斷多邊形的正反面。從視點(diǎn)301來看是背面時(shí),多邊形繪制成為無效。例如,如多邊形306—樣多邊形表面從視點(diǎn)301來看是背面的多邊形,根據(jù)剔除判斷繪制成為無效。
如多邊形304 —樣,只有通過裁剪判斷及剔除判斷沒有被判斷為無效的多邊形,才能判斷為有效的多邊形,即能夠投影到顯示器表面303上進(jìn)行繪制。
接著說明本實(shí)施例的圖像生成裝置的工作。
圖5是表示本實(shí)施例涉及的圖像生成裝置的工作的流程圖。本實(shí)施例的圖像生成處理,首先是控制部102經(jīng)由主機(jī)接口 101從CPU接收繪制命令來開始。
按照來自控制部102的指示,坐標(biāo)數(shù)據(jù)加載部103對(duì)輸入多邊形造型的頂點(diǎn)數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)進(jìn)行加載(S201)。坐標(biāo)變換部104將被加載的坐標(biāo)數(shù)據(jù),變換為世界坐標(biāo)及顯示器坐標(biāo)(S202)。多邊形消除判斷部105,利用構(gòu)成判斷對(duì)象的多邊形的頂點(diǎn)的變換結(jié)束坐標(biāo)數(shù)據(jù),進(jìn)行多邊形消除判斷(S203)。頂點(diǎn)消除判斷部106,利用包含判斷對(duì)象的頂點(diǎn)的多邊形的多邊形消除判斷結(jié)果來進(jìn)行頂點(diǎn)消除判斷(S204)。包含判斷對(duì)象的頂點(diǎn)的所有多邊形的多邊形消除判斷結(jié)果中,一個(gè)以上的多邊形繪制為有效的情況下,判斷對(duì)象的頂點(diǎn)被判斷為有效的頂點(diǎn)數(shù)據(jù)(S204中的"頂點(diǎn)有效")。所有多邊形繪制為無效的情況下,判斷為無效的頂點(diǎn)數(shù)據(jù)(S204中的"頂點(diǎn)無效")。形態(tài)數(shù)據(jù)加載部107,參照根據(jù)頂點(diǎn)消除判斷部106所生成的頂點(diǎn)消除判斷結(jié)果,僅對(duì)判斷為有效的頂點(diǎn)數(shù)據(jù)加載其形態(tài)數(shù)據(jù)(S205)。加載的形態(tài)數(shù)據(jù)和對(duì)應(yīng)的頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)一起輸出到多邊形繪制處理部108。多邊形繪制處理部108,利用從形態(tài)數(shù)據(jù)加載部107接收的頂點(diǎn)數(shù)據(jù)(已變換坐標(biāo)數(shù)據(jù)以及形態(tài)數(shù)據(jù)),進(jìn)行多邊形繪制處理(S206)。判斷是否已經(jīng)對(duì)所有多邊形結(jié)束了以上的處理(S207),判斷為沒有結(jié)束的情況下(S207的"繼續(xù)"),反復(fù)各處理(S201 S206)。在對(duì)所有多邊形結(jié)束了以上的處理時(shí)(S207的"完成"),圖像生成裝置100輸出被繪制的圖像(S208)。
如上所述,與加載頂點(diǎn)數(shù)據(jù)中的全部坐標(biāo)數(shù)據(jù)相比,本實(shí)施例的圖像生成裝置,對(duì)于形態(tài)數(shù)據(jù),僅加載與被判斷為有效的頂點(diǎn)相對(duì)應(yīng)的形態(tài)數(shù)據(jù)。從而,能夠減少與輸入多邊形數(shù)據(jù)的加載有關(guān)的存儲(chǔ)器訪問量。而且,本實(shí)施例的圖像生成裝置中,與圖像的繪制處理并行進(jìn)行頂點(diǎn)對(duì)多邊形繪制是否必要的判斷,因此也適用于交互式用途。
下面,根據(jù)多邊形的表現(xiàn)形式更具體地說明本實(shí)施例的圖像生成裝置。在這里,針對(duì)3個(gè)表現(xiàn)形式即多邊形帶、多邊形扇以及多邊形網(wǎng)格進(jìn)行說明。
(多邊形帶形式)
首先,對(duì)輸入多邊形造型由多邊形帶形式所構(gòu)成的情況進(jìn)行說明。
圖6是表示輸入多邊形造型由多邊形帶形式構(gòu)成的情況下的處理流程的圖。多邊形帶形式是共享頂點(diǎn)來連續(xù)繪制多邊形的形式。如圖6所示,多邊形帶401的多邊形Pj()^0 6)由三個(gè)頂點(diǎn)V;j、 Vj+1、 Vj+2構(gòu)成。而且,多邊形帶401的頂點(diǎn)數(shù)據(jù),以VO—VI—V2—V3—V4—V5—V6—V7—V8的順序被指定。另外,設(shè)圖6示出的例子中多邊形PO、 Pl以及P6是有效的多邊形。
時(shí)間圖402是表示從加載坐標(biāo)數(shù)據(jù)到生成頂點(diǎn)有效標(biāo)志(頂點(diǎn)判斷處理)為止的處理流程的時(shí)間圖。下面,按照時(shí)間圖402說明多邊形帶形式的處理流程。
坐標(biāo)數(shù)據(jù)加載部103,按照頂點(diǎn)數(shù)據(jù)的指定順序,依次加載頂點(diǎn)數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)Mi(i二0 8),輸出到坐標(biāo)變換部104。坐標(biāo)變換部104,針對(duì)從坐標(biāo)數(shù)據(jù)加載部103接收的頂點(diǎn)Vi的坐標(biāo)數(shù)據(jù)Mi的每一個(gè), 分別進(jìn)行坐標(biāo)變換。由此,將已變換坐標(biāo)數(shù)據(jù)Di輸出到多邊形消除判 斷部105。多邊形消除判斷部105,使被輸入的己變換坐標(biāo)數(shù)據(jù)Di保 存在變換坐標(biāo)緩沖器110。
多邊形消除判斷部105,以P0—PI—P2—P3—P4—P5—P6的 順序進(jìn)行多邊形消除判斷。多邊形消除判斷部105,在對(duì)多邊形Pj進(jìn) 行多邊形消除判斷的時(shí)候,直到構(gòu)成多邊形Pj的頂點(diǎn)Vj、 Vj+1、 Vj+2 的已變換坐標(biāo)數(shù)據(jù)Dj、 Dj+1、 Dj+2備齊為止,保存坐標(biāo)變換部104 生成的已變換坐標(biāo)數(shù)據(jù)。已變換坐標(biāo)數(shù)據(jù)備齊的時(shí)候,用己變換坐標(biāo) 數(shù)據(jù)進(jìn)行多邊形消除判斷,生成多邊形繪制有效標(biāo)志FPj(多邊形有效 時(shí)為真,無效為假)。
頂點(diǎn)消除判斷部106,以VO—VI—V2—V3—V4—V5—V6—V7 —V8的順序進(jìn)行頂點(diǎn)消除判斷。頂點(diǎn)消除判斷部106,在對(duì)頂點(diǎn)Vi 進(jìn)行頂點(diǎn)消除判斷的時(shí)候,進(jìn)行包含頂點(diǎn)Vi的多邊形Pi—2、 Pi—l 及Pi的多邊形繪制有效標(biāo)志FPi—2、 FPi—l、 FPi的或運(yùn)算(不存在 的多邊形號(hào)碼的多邊形繪制有效標(biāo)志作為假來處理)。g卩,表示頂點(diǎn)Vi 是否有效的頂點(diǎn)有效標(biāo)志FVi,按照以下公式l被算出。
FVi:FPi-2 II FPi-l II FPi ......(公式1)
另外,頂點(diǎn)消除判斷部106在直到多邊形繪制有效標(biāo)志FPi—2, FPi—l, FPi備齊為止,使多邊形消除判斷部105生成的多邊形繪制 有效標(biāo)志或者其中間的或保存在頂點(diǎn)消除判斷緩沖器lll。例如,關(guān)于 頂點(diǎn)V2,包含頂點(diǎn)V2的多邊形P0、 P1及P2之中P0及P1為多邊 形繪制有效,所以判斷頂點(diǎn)V2是有效的頂點(diǎn)數(shù)據(jù)。另一方面,關(guān)于頂 點(diǎn)V4,包含頂點(diǎn)V4的多邊形P2、 P3及P4全都都是多邊形繪制無 效,所以判斷頂點(diǎn)V4是無效的頂點(diǎn)數(shù)據(jù)。
形態(tài)數(shù)據(jù)加載部107,針對(duì)由頂點(diǎn)消除判斷部106判斷為有效的 頂點(diǎn)V0、 VI、 V2、 V3、 V6、 V7及V8,以頂點(diǎn)消除判斷的順序加載 形態(tài)數(shù)據(jù),并結(jié)合該頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)一起輸出到多邊形繪制處理部108。多邊形繪制處理部108接收這些頂點(diǎn)數(shù)據(jù),進(jìn)行多邊形繪 制處理。
另外,以上的處理是以流水線形式來執(zhí)行的。即,如圖6的時(shí)間 圖402所示,頂點(diǎn)V0開始按照順序,進(jìn)行坐標(biāo)數(shù)據(jù)的加載,并變換 加載的坐標(biāo)數(shù)據(jù),從而生成已變換坐標(biāo)數(shù)據(jù)。并且,生成與頂點(diǎn)V2 對(duì)應(yīng)的已變換坐標(biāo)數(shù)據(jù)D2之后,才能執(zhí)行多邊形消除判斷及頂點(diǎn)消除 判斷。之后,每次加載坐標(biāo)數(shù)據(jù)時(shí),坐標(biāo)變換、多邊形消除判斷及頂 點(diǎn)消除判斷被執(zhí)行。下面,按照本實(shí)施例的圖像生成裝置100的各處 理部的數(shù)據(jù)流程來說明以流水線形式來執(zhí)行上述處理的狀況。
圖7是表示適應(yīng)多邊形帶形式的圖像生成裝置的各處理部中的數(shù) 據(jù)的流程圖。如圖7所示,設(shè)存儲(chǔ)器200上配置有多邊形帶的坐標(biāo)數(shù) 據(jù)列表501及形態(tài)數(shù)據(jù)列表502。進(jìn)而,存儲(chǔ)器200,還保存多邊形 繪制處理部108所繪制的輸出圖像503。
坐標(biāo)數(shù)據(jù)加載部103,訪問存儲(chǔ)器200上的坐標(biāo)數(shù)據(jù)列表501, 依次加載坐標(biāo)數(shù)據(jù)504,輸出到坐標(biāo)變換部104。
坐標(biāo)變換部104,根據(jù)坐標(biāo)數(shù)據(jù)504計(jì)算已變換坐標(biāo)數(shù)據(jù)505, 輸出到多邊形消除判斷部105。
多邊形消除判斷部105將已變換坐標(biāo)數(shù)據(jù)505存儲(chǔ)在變換坐標(biāo)緩 沖器110。如同上述,本實(shí)施例中多邊形由三個(gè)頂點(diǎn)構(gòu)成,所以變換坐 標(biāo)緩沖器110能夠存儲(chǔ)三個(gè)已變換坐標(biāo)數(shù)據(jù)506。變換坐標(biāo)緩沖器 110,以先進(jìn)先出(FIFO: First In First Out)形式被控制,依次存儲(chǔ) 被輸入的坐標(biāo)數(shù)據(jù)。在多邊形消除判斷中失去利用的必要性的坐標(biāo)數(shù) 據(jù),從變換坐標(biāo)緩沖器110被刪除,而與有效的頂點(diǎn)對(duì)應(yīng)的已變換坐 標(biāo)數(shù)據(jù),則輸出到形態(tài)數(shù)據(jù)加載部107。
多邊形消除判斷部105,通過利用變換坐標(biāo)緩沖器110所存儲(chǔ)的 已變換坐標(biāo)數(shù)據(jù),執(zhí)行裁剪判斷及剔除判斷,從而判斷多邊形是否有 效。并且,根據(jù)判斷結(jié)果,將多邊形繪制有效標(biāo)志507輸出到頂點(diǎn)消 除判斷部106。頂點(diǎn)消除判斷部106將多邊形繪制有效標(biāo)志507存儲(chǔ)在頂點(diǎn)消除 判斷緩沖器111。頂點(diǎn)消除判斷緩沖器111也以先進(jìn)先出形式被控制, 向被存儲(chǔ)的多邊形繪制有效標(biāo)志508上登記新的多邊形繪制有效標(biāo)志 的時(shí)候,從舊的多邊形繪制有效標(biāo)志按順序刪除。頂點(diǎn)消除判斷部106, 利用多邊形繪制有效標(biāo)志508生成頂點(diǎn)有效標(biāo)志509。頂點(diǎn)有效標(biāo)志 509,如上述一樣利用公式l被生成。頂點(diǎn)消除判斷部106,將生成的 頂點(diǎn)有效標(biāo)志509輸出到形態(tài)數(shù)據(jù)加載部107。
另外,頂點(diǎn)消除判斷緩沖器111受到控制,使得僅保存成為判斷 對(duì)象的頂點(diǎn)被包含的所有多邊形(圖7中是三個(gè))的多邊形繪制有效標(biāo) 志。這是因?yàn)?,在多邊形帶形式中以頂點(diǎn)的指定順序繪制多邊形,且 頂點(diǎn)消除判斷緩沖器111以先進(jìn)先出形式受到控制。因此,頂點(diǎn)消除 判斷部106,通過總是對(duì)頂點(diǎn)消除判斷緩沖器111存儲(chǔ)的多邊形繪制 有效標(biāo)志508(圖7中是兩個(gè))進(jìn)行或運(yùn)算,從而能夠生成頂點(diǎn)有效標(biāo)志。
形態(tài)數(shù)據(jù)加載部107只在參照頂點(diǎn)有效標(biāo)志509是有效的頂點(diǎn)時(shí), 才訪問存儲(chǔ)器200上的形態(tài)數(shù)據(jù)列表502,加載相應(yīng)的頂點(diǎn)的形態(tài)數(shù) 據(jù)。進(jìn)而從變換坐標(biāo)緩沖器110接收相應(yīng)頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)510, 并且結(jié)合形態(tài)數(shù)據(jù),作為頂點(diǎn)數(shù)據(jù)511輸出到多邊形繪制處理部108。
多邊形繪制處理部108利用頂點(diǎn)數(shù)據(jù)511進(jìn)行多邊形繪制處理, 生成在存儲(chǔ)器200上的輸出圖像503。
如同上述,通過將變換坐標(biāo)緩沖器110及頂點(diǎn)消除判斷緩沖器111 以先進(jìn)先出形式來控制,從而能夠以流水線形式來控制下列處理坐 標(biāo)數(shù)據(jù)的加載處理、坐標(biāo)變換處理、多邊形消除判斷處理、頂點(diǎn)消除 判斷處理、形態(tài)數(shù)據(jù)的加載處理、以及多邊形繪制處理。
由此,能夠大幅度降低訪問存儲(chǔ)器200的訪問量,而且避免壓迫 存儲(chǔ)器帶寬。因而,能夠?qū)崟r(shí)地實(shí)現(xiàn)高清晰的多邊形繪制處理。
(多邊形扇形式)
繼續(xù)說明輸入多邊形造型由多邊形扇形式構(gòu)成的情況。
圖8是表示輸入多邊形造型由多邊形扇形式構(gòu)成的情況下的處理
21的流程圖。多邊形扇形式與上述的多邊形帶形式同樣,也是共享頂點(diǎn) 來連續(xù)繪制多邊形的形式。與多邊形帶形式的不同之處在于,所有的
多邊形都共享開始頂點(diǎn)。如圖8所示,多邊形扇601的多邊形Pj(j=0 4)由三個(gè)頂點(diǎn)V0、 Vj+1、 Vj+2構(gòu)成。而且,多邊形扇601的頂點(diǎn)數(shù) 據(jù)以VO—VI—V2—V3—V4—V5—V6的順序被指定。另外,設(shè)圖8 中的多邊形P0及P4是有效的多邊形。
時(shí)間圖602是表示從加載坐標(biāo)數(shù)據(jù)到生成頂點(diǎn)有效標(biāo)志為止的處 理的流程的時(shí)間圖。下面,按照時(shí)間圖602對(duì)多邊形扇形式的處理流 程進(jìn)行說明。
與上述多邊形帶的處理相同,坐標(biāo)數(shù)據(jù)加載部103,按照上述頂點(diǎn) 數(shù)據(jù)的指定順序,加載頂點(diǎn)數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)Mi(i=0 6),輸出到坐 標(biāo)變換部104。坐標(biāo)變換部104,針對(duì)從坐標(biāo)數(shù)據(jù)加載部103接收的 頂點(diǎn)Vi(i二0 6)的坐標(biāo)數(shù)據(jù)的每一個(gè),分別進(jìn)行坐標(biāo)變換。由此,將 已變換坐標(biāo)數(shù)據(jù)Di輸出到多邊形消除判斷部105。多邊形消除判斷部 105,使被輸入的已變換坐標(biāo)數(shù)據(jù)Di保存在變換坐標(biāo)緩沖器110。
多邊形消除判斷部105,以PO—PI—P2—P3—P4的順序進(jìn)行多 邊形消除判斷。多邊形消除判斷部105對(duì)多邊形Pj進(jìn)行多邊形消除判 斷的時(shí)候,直到構(gòu)成多邊形Pj的頂點(diǎn)VO、 Vj、 Vj+1的已變換坐標(biāo)數(shù) 據(jù)DO、 Dj、 Dj+1備齊為止,保存坐標(biāo)變換部104生成的已變換坐標(biāo) 數(shù)據(jù)。已變換坐標(biāo)數(shù)據(jù)備齊的時(shí)候,用已變換坐標(biāo)數(shù)據(jù)進(jìn)行多邊形消 除判斷,生成多邊形繪制有效標(biāo)志FPj(多邊形有效時(shí)為真,無效為假)。
頂點(diǎn)消除判斷部106,以VO—VI—V2—V3—V4—V5—V6的順 序進(jìn)行頂點(diǎn)消除判斷。頂點(diǎn)消除判斷部106,針對(duì)開始頂點(diǎn)VO和除了 開始頂點(diǎn)VO的頂點(diǎn)Vi(i=l 6),分別用不同的條件公式來進(jìn)行頂點(diǎn)消 除判斷。
在開始頂點(diǎn)VO的頂點(diǎn)消除判斷中,任何一個(gè)多邊形繪制有效標(biāo)志 FPj成為真時(shí),判斷開始頂點(diǎn)VO為有效。表示開始頂點(diǎn)VO是否有效 的頂點(diǎn)有效標(biāo)志FVO,按照以下公式2表示的條件公式而生成。FV0=(3j)(FPj) ......(公式2)
更具體而言,頂點(diǎn)有效標(biāo)志FV0通過進(jìn)行公式3表示的或運(yùn)算而 算出。
FV0=FV0 II FPj ......(公式3)
頂點(diǎn)消除判斷部106使多邊形繪制有效^t志的或作為中間結(jié)果標(biāo) 志(公式3的右邊的FV0),保存在頂點(diǎn)消除判斷緩沖器111。中間結(jié)果 標(biāo)志成為真,就判斷開始頂點(diǎn)VO是有效的頂點(diǎn)數(shù)據(jù)。中間結(jié)果標(biāo)志到 最后都不成為真的情況下,判斷開始頂點(diǎn)VO是無效的頂點(diǎn)數(shù)據(jù)。
進(jìn)行多邊形繪制有效標(biāo)志FPi—2以及FPi—l的或運(yùn)算(不存在的 多邊形號(hào)碼的多邊形繪制有效標(biāo)志作為假來處理),該多邊形繪制有效 標(biāo)志FPi—2以及FPi—l是包含頂點(diǎn)Vi的多邊形Pi—2以及Pi—1 的多邊形繪制有效標(biāo)志,該頂點(diǎn)Vi是除去開始頂點(diǎn)VO的頂點(diǎn)。艮口, 表示除去開始頂點(diǎn)V0的頂點(diǎn)Vi是否有效的頂點(diǎn)有效標(biāo)志FVi,按照 以下公式4而生成。
FVi=FPi||FPi — 1 ......(公式4)
另外,頂點(diǎn)消除判斷部106直到多邊形繪制有效標(biāo)志FPi—2以及 FPi—l備齊為止,使多邊形消除判斷部105生成的多邊形繪制有效標(biāo) 志或者其中間的或保存在頂點(diǎn)消除判斷緩沖器111。例如,關(guān)于頂點(diǎn) V2,包含頂點(diǎn)V2的多邊形P0和Pl之中的P0的多邊形繪制為有效, 所以判斷頂點(diǎn)V2是有效的頂點(diǎn)數(shù)據(jù)。另一方面,關(guān)于頂點(diǎn)V3,包含 頂點(diǎn)V3的多邊形Pl及P2都是多邊形繪制為無效,所以判斷頂點(diǎn)V3 是無效的頂點(diǎn)數(shù)據(jù)。
形態(tài)數(shù)據(jù)加載部107,針對(duì)由頂點(diǎn)消除判斷部106判斷為有效的 頂點(diǎn)V0、 VI、 V2、 V5、以及V6,以頂點(diǎn)消除判斷的順序加載形態(tài) 數(shù)據(jù),并結(jié)合相應(yīng)頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)一起輸出到多邊形繪制處理 部108。多邊形繪制處理部108接收這些頂點(diǎn)數(shù)據(jù),進(jìn)行多邊形繪制 處理。
另外,如多邊形帶形式的情況一樣,以上的處理是以流水線形式來執(zhí)行的。即,如圖8的時(shí)間圖602所示,從頂點(diǎn)VO開始按照順序 進(jìn)行坐標(biāo)數(shù)據(jù)的加載,并變換加載的坐標(biāo)數(shù)據(jù),從而生成已變換坐標(biāo) 數(shù)據(jù)。并且,生成與頂點(diǎn)V2對(duì)應(yīng)的已變換坐標(biāo)數(shù)據(jù)之后,才能執(zhí)行多 邊形消除判斷及頂點(diǎn)消除判斷。之后,每次加載坐標(biāo)數(shù)據(jù)時(shí),坐標(biāo)變 換、多邊形消除判斷及頂點(diǎn)消除判斷被執(zhí)行。下面,按照本實(shí)施例的 圖像生成裝置100的各處理部的數(shù)據(jù)流程來說明以流水線形式來執(zhí)行 上述處理的狀況。
圖9是表示適應(yīng)多邊形扇形式的圖像生成裝置的各處理部中的數(shù) 據(jù)的流程圖。如圖9所示,設(shè)存儲(chǔ)器200上配置有多邊形扇的坐標(biāo)數(shù) 據(jù)列表701及形態(tài)數(shù)據(jù)列表702。進(jìn)而,存儲(chǔ)器200,還保存多邊形 繪制處理部108所輸出的輸出圖像703。
坐標(biāo)數(shù)據(jù)加載部103,訪問存儲(chǔ)器200上的坐標(biāo)數(shù)據(jù)列表701, 依次加載坐標(biāo)數(shù)據(jù)704,輸出到坐標(biāo)變換部104。
坐標(biāo)變換部104,根據(jù)坐標(biāo)數(shù)據(jù)704計(jì)算已變換坐標(biāo)數(shù)據(jù)705, 輸出到多邊形消除判斷部105。
多邊形消除判斷部105將已變換坐標(biāo)數(shù)據(jù)705存儲(chǔ)在變換坐標(biāo)緩 沖器110。變換坐標(biāo)緩沖器110存儲(chǔ)多邊形扇601的開始頂點(diǎn)VO的 已變換坐標(biāo)數(shù)據(jù)706和除去開始頂點(diǎn)VO的頂點(diǎn)Vi的已變換坐標(biāo)數(shù)據(jù) 707。在多邊形扇的處理中,已變換坐標(biāo)數(shù)據(jù)706被保存。開始頂點(diǎn)以 外的新的已變換坐標(biāo)數(shù)據(jù)作為已變換坐標(biāo)數(shù)據(jù)707依次被存儲(chǔ),并且 將不需要的已變換坐標(biāo)數(shù)據(jù),從舊的已變換坐標(biāo)數(shù)據(jù)開始按順序從變 換坐標(biāo)緩沖器110刪除。另外,變換坐標(biāo)緩沖器IIO的已變換坐標(biāo)數(shù) 據(jù)707被保存的區(qū)域是以先進(jìn)先出形式被控制的。
多邊形消除判斷部105,通過利用已變換坐標(biāo)數(shù)據(jù)707以及706, 執(zhí)行裁剪判斷及剔除判斷,從而判斷多邊形是否有效。并且,根據(jù)判 斷結(jié)果,生成多邊形繪制有效標(biāo)志708并輸出到頂點(diǎn)消除判斷部106。
頂點(diǎn)消除判斷部106將多邊形繪制有效標(biāo)志708存儲(chǔ)在頂點(diǎn)消除 判斷緩沖器111。頂點(diǎn)消除判斷緩沖器111存儲(chǔ)多邊形扇開始頂點(diǎn)的中間結(jié)果標(biāo)志709和開始頂點(diǎn)以外的頂點(diǎn)消除判斷時(shí)使用的多邊形繪制 有效標(biāo)志710。頂點(diǎn)消除判斷緩沖器lll,在多邊形扇的處理中保存多 邊形扇開始頂點(diǎn)的中間結(jié)果標(biāo)志709。向多邊形繪制有效標(biāo)志710上 登記新的多邊形繪制有效標(biāo)志的時(shí)候,從舊的多邊形繪制有效標(biāo)志按 順序刪除。另外,頂點(diǎn)消除判斷緩沖器111的多邊形繪制有效標(biāo)志710 被保存的區(qū)域是以先進(jìn)先出形式被控制的。
頂點(diǎn)消除判斷部106在進(jìn)行多邊形扇開始頂點(diǎn)的頂點(diǎn)消除判斷的 情況下,在多邊形扇繪制開始時(shí)對(duì)中間結(jié)果標(biāo)志709進(jìn)行初始化成為 假。之后,每次接收多邊形繪制有效標(biāo)志708時(shí),根據(jù)公式3進(jìn)行中 間結(jié)果標(biāo)志709和新的多邊形繪制有效標(biāo)志708的或運(yùn)算,從而更新 中間結(jié)果標(biāo)志709。更新的結(jié)果,中間結(jié)果標(biāo)志709第一次從假變成 真的時(shí)候,將頂點(diǎn)有效標(biāo)志711作為真來生成,輸出到形態(tài)數(shù)據(jù)加載 部107。
在進(jìn)行開始頂點(diǎn)以外的頂點(diǎn)消除判斷的情況下,通過進(jìn)行多邊形 繪制有效標(biāo)志710的或運(yùn)算,從而生成頂點(diǎn)有效標(biāo)志711,輸出到形 態(tài)數(shù)據(jù)加載部107。
另外,頂點(diǎn)消除判斷緩沖器111受到控制,使得僅保存多邊形扇 的開始頂點(diǎn)的中間結(jié)果標(biāo)志、以及成為判斷對(duì)象的頂點(diǎn)被包含的所有 多邊形(圖9中是兩個(gè))的多邊形繪制有效標(biāo)志。這是因?yàn)?,如多邊形?形式一樣,在多邊形扇形式中多邊形以頂點(diǎn)的指定順序被繪制,且, 頂點(diǎn)消除判斷緩沖器111中的多邊形繪制有效標(biāo)志被保存的區(qū)域以先 進(jìn)先出形式被控制。因此,頂點(diǎn)消除判斷部106,通過總是對(duì)頂點(diǎn)消 除判斷緩沖器111存儲(chǔ)的多邊形繪制有效標(biāo)志710(圖9中是兩個(gè))進(jìn)行 或運(yùn)算,從而能夠生成頂點(diǎn)有效標(biāo)志。
形態(tài)數(shù)據(jù)加載部107只在參照頂點(diǎn)有效標(biāo)志711是有效的頂點(diǎn)時(shí), 才訪問存儲(chǔ)器200上的形態(tài)數(shù)據(jù)列表702,加載相應(yīng)的頂點(diǎn)的形態(tài)數(shù) 據(jù)。進(jìn)而從變換坐標(biāo)緩沖器110接收相應(yīng)頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)712, 并且結(jié)合形態(tài)數(shù)據(jù),作為頂點(diǎn)數(shù)據(jù)713輸出到多邊形繪制處理部108。多邊形繪制處理部108利用頂點(diǎn)數(shù)據(jù)713進(jìn)行多邊形繪制處理, 生成在存儲(chǔ)器200上的輸出圖像703。
如同上述,將與除去開始頂點(diǎn)的頂點(diǎn)對(duì)應(yīng)的已變換坐標(biāo)數(shù)據(jù)707 及多邊形繪制有效標(biāo)志710存儲(chǔ)在以先進(jìn)先出形式來控制的緩沖器 中,從而能夠以流水線形式來控制下列處理坐標(biāo)數(shù)據(jù)的加載處理、 坐標(biāo)變換處理、多邊形消除判斷處理、頂點(diǎn)消除判斷處理、形態(tài)數(shù)據(jù) 的加載處理、以及多邊形繪制處理。
由此,能夠大幅度降低訪問存儲(chǔ)器200的訪問量,而且避免壓迫 存儲(chǔ)器帶寬。因而,能夠?qū)崟r(shí)地實(shí)現(xiàn)高清晰的多邊形繪制處理。
(多邊形網(wǎng)格形式)
圖IO是表示輸入多邊形造型由多邊形網(wǎng)格形式構(gòu)成的情況下的處 理流程的圖。多邊形網(wǎng)格形式中,雖然內(nèi)部很多多邊形共享頂點(diǎn),但 是與所述的多邊形帶及多邊形扇不同,是以多邊形單位來指定頂點(diǎn)的 形式。
如圖10所示,多邊形網(wǎng)格801的頂點(diǎn)數(shù)據(jù),例如以PO(VO, VI, V2)—P1(V2, VI, V3)—P2(V2, V3, V4)—P3(V4, V3, V5)—P4(V4, V5, V6)—P5(V7, VO, V2)—P6(V7, V2, V8)—P7(V8, V2, V4) —P8(V8, V4, V9)—P9(V9, V4, V6)的順序被指定(多邊形網(wǎng)格是自 由度高的形式,所以不一定以上述順序被指定)。另夕卜,在圖10示出 的例子中,設(shè)多邊形PO、 Pl、 P5、 P6、 P7及P8為有效的多邊形, 多邊形P2、 P3、 P4及P9為無效的多邊形。
時(shí)間圖802是表示從加載坐標(biāo)數(shù)據(jù)到生成頂點(diǎn)有效標(biāo)志(頂點(diǎn)判斷 處理)為止的處理的流程的時(shí)間圖。下面,按照時(shí)間圖802對(duì)多邊形網(wǎng) 格形式的處理的流程進(jìn)行說明。
坐標(biāo)數(shù)據(jù)加載部103,按照頂點(diǎn)數(shù)據(jù)的指定順序,依次加載頂點(diǎn)數(shù) 據(jù)中的坐標(biāo)數(shù)據(jù)Mi(i=0 9),輸出到坐標(biāo)變換部104。在此,為了避 免對(duì)多邊形網(wǎng)格上的相同頂點(diǎn)的坐標(biāo)數(shù)據(jù)進(jìn)行重復(fù)加載,對(duì)于在變換 坐標(biāo)緩沖器110中保存有已變換坐標(biāo)數(shù)據(jù)的頂點(diǎn)不進(jìn)行加載。坐標(biāo)變換部104,針對(duì)從坐標(biāo)數(shù)據(jù)加載部103接收的頂點(diǎn)Vi的坐 標(biāo)數(shù)據(jù)的每一個(gè),分別進(jìn)行坐標(biāo)變換,并將已變換坐標(biāo)數(shù)據(jù)Di按照坐 標(biāo)數(shù)據(jù)的輸入順序來生成。
多邊形消除判斷部105,使被輸入的已變換坐標(biāo)數(shù)據(jù)Di保存在變 換坐標(biāo)緩沖器110。進(jìn)而以P0—PI—P2—P3—P4—P5—P6—P7— P8—P9的順序進(jìn)行多邊形消除判斷。多邊形消除判斷部105對(duì)多邊形 Pj(j二0 9)進(jìn)行多邊形消除判斷的時(shí)候,直到構(gòu)成多邊形P]'的頂點(diǎn)Vk、 VI、 Vm(k、 1、 m切 9)的已變換坐標(biāo)數(shù)據(jù)Dk、 Dl、 Dm備齊為止, 保存坐標(biāo)變換部104生成的已變換坐標(biāo)數(shù)據(jù)。已變換坐標(biāo)數(shù)據(jù)備齊的 時(shí)候,用已變換坐標(biāo)數(shù)據(jù)進(jìn)行多邊形消除判斷,生成多邊形繪制有效 標(biāo)志FPj(多邊形有效時(shí)為真,無效為假)。
在此,在多邊形網(wǎng)格形式的情況下、因?yàn)橥粋€(gè)頂點(diǎn)與別的多邊 形共享的情況較多,所述的多邊形Pj的多邊形消除判斷后還進(jìn)行鄰近 的多邊形消除判斷的期間(作為一個(gè)例子,如圖10的時(shí)間圖802所示, 求出多邊形繪制有效標(biāo)志FPj的期間)中,保存已變換坐標(biāo)數(shù)據(jù)Dk、 Dl、 Dm。坐標(biāo)數(shù)據(jù)加載部103對(duì)保存有己變換坐標(biāo)數(shù)據(jù)的頂點(diǎn)的坐 標(biāo)數(shù)據(jù)不進(jìn)行加載,多邊形消除判斷部105,將被保存著的已變換坐 標(biāo)數(shù)據(jù)再次用在多邊形消除判斷中。
例如,對(duì)多邊形P8進(jìn)行多邊形消除判斷的時(shí)候,構(gòu)成多邊形P8 的頂點(diǎn)V8、 V4、 V9之中,坐標(biāo)數(shù)據(jù)加載部103加載頂點(diǎn)V9的坐標(biāo) 數(shù)據(jù)M9,坐標(biāo)變換部104生成已變換坐標(biāo)數(shù)據(jù)D9。于此相對(duì),頂點(diǎn) V8、 V4的已變換坐標(biāo)數(shù)據(jù)D8、 D4已經(jīng)保存在變換坐標(biāo)緩沖器110 中,所以坐標(biāo)數(shù)據(jù)加載部103不加載頂點(diǎn)V8、 V4的坐標(biāo)數(shù)據(jù),坐標(biāo) 變換部104不進(jìn)行已變換坐標(biāo)數(shù)據(jù)D8、 D4的生成。多邊形消除判斷 部105,利用新生成的已變換坐標(biāo)數(shù)據(jù)D9和已經(jīng)保存的已變換坐標(biāo)數(shù) 據(jù)D8、 D4進(jìn)行多邊形消除判斷。
頂點(diǎn)消除判斷部106,利用多邊形繪制有效標(biāo)志FPj,對(duì)頂點(diǎn)Vi 進(jìn)行頂點(diǎn)消除判斷。即,如下列公式5所示,在包含頂點(diǎn)Vi的任一個(gè)多邊形的多邊形繪制有效標(biāo)志FPj為真時(shí),頂點(diǎn)Vi的頂點(diǎn)有效標(biāo)志 FVi也為真。
FVi=(3j)(FPj&(ViEPj))......(公式5)
具體而言,頂點(diǎn)消除判斷部106,對(duì)頂點(diǎn)Vi(i:0 9)進(jìn)行頂點(diǎn)消除 判斷的時(shí)候,首先進(jìn)行初始化使頂點(diǎn)有效標(biāo)志FVi成為假。頂點(diǎn)消除 判斷部106,將多邊形消除判斷部105生成的多邊形繪制有效標(biāo)志 FPj,以PO—PI—P2—P3—P4—P5—P6—P7—P8—P9的順序接收, 在分別構(gòu)成多邊形P]'(3、0 9)的頂點(diǎn)Vk、 VI、 Vm(k、 1、 111=0 9)的 中間結(jié)果標(biāo)志FVk、 FV1、 FVm之間進(jìn)行或運(yùn)算,更新中間結(jié)果標(biāo)志 FVk、 FV1、 FVm(以頂點(diǎn)被指定的順序,即以FVk—FV1—FVm的順 序進(jìn)行更新)。即,在每次接收多邊形繪制有效標(biāo)志FPj時(shí),根據(jù)下列 公式6算出中間結(jié)果標(biāo)志FVk(FVl、 FVm也相同)。
FVk = FVk|| (FPj&(VkEPj))......(公式6)
例如,對(duì)多邊形消除判斷部105生成了多邊形P8的多邊形繪制有 效標(biāo)志FP8的情況進(jìn)行說明。頂點(diǎn)消除判斷部106,針對(duì)構(gòu)成多邊形 P8的頂點(diǎn)V8、 V4、 V9,將中間結(jié)果標(biāo)志FV8、 FV4、 FV9和多邊 形繪制有效標(biāo)志FP8分別進(jìn)行或運(yùn)算,來更新中間結(jié)果標(biāo)志FV8、 FV4、 FV9。中間結(jié)果標(biāo)志FVi從假成為真時(shí),判斷該頂點(diǎn)是有效的 頂點(diǎn)數(shù)據(jù)。在圖10的例子中,按照VO—VI—V2—V3—V7—V8—V4 —V9的順序,頂點(diǎn)數(shù)據(jù)被判斷為有效。根據(jù)所述多邊形消除判斷結(jié)果, 中間結(jié)果標(biāo)志FVi到最后都沒有成為真的頂點(diǎn)V5及V6,被判斷為無 效的頂點(diǎn)數(shù)據(jù)。
形態(tài)數(shù)據(jù)加載部107,針對(duì)由頂點(diǎn)消除判斷部106判斷為有效的 頂點(diǎn)VO、 VI、 V2、 V3、 V7、 V8、 V4、 V9,以頂點(diǎn)消除判斷的順序 加載形態(tài)數(shù)據(jù),并結(jié)合相應(yīng)頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)一起輸出到多邊形 繪制處理部108。多邊形繪制處理部108接收這些頂點(diǎn)數(shù)據(jù),進(jìn)行多 邊形繪制處理。
如同上述,即使輸入多邊形造型以多邊形網(wǎng)格形式表現(xiàn)的情況下,也只對(duì)多邊形繪制處理中必要的形態(tài)數(shù)據(jù)進(jìn)行加載。由此,與加載全 部數(shù)據(jù)的情況相比,能夠減少存儲(chǔ)器訪問量。下面,按照本實(shí)施例的圖像生成裝置100的各處理部的數(shù)據(jù)流程來說明執(zhí)行上述處理的狀況。圖ll是表示適應(yīng)多邊形網(wǎng)格形式的圖像生成裝置的各處理部中的數(shù)據(jù)流程的圖。如圖ll所示,設(shè)存儲(chǔ)器200上配置有多邊形網(wǎng)格的坐 標(biāo)數(shù)據(jù)列表901及形態(tài)數(shù)據(jù)列表902。進(jìn)而,存儲(chǔ)器200,還保存多 邊形繪制處理部108所輸出的輸出圖像903。坐標(biāo)數(shù)據(jù)加載部103,訪問存儲(chǔ)器200上的坐標(biāo)數(shù)據(jù)列表901, 加載坐標(biāo)數(shù)據(jù)904,輸出到坐標(biāo)變換部104。在此,為了避免對(duì)多邊形 網(wǎng)格上的相同頂點(diǎn)的坐標(biāo)數(shù)據(jù)進(jìn)行重復(fù)加載,對(duì)于在變換坐標(biāo)緩沖器 110中保存有已變換坐標(biāo)數(shù)據(jù)的頂點(diǎn)不進(jìn)行加載。坐標(biāo)變換部104,根據(jù)坐標(biāo)數(shù)據(jù)904計(jì)算已變換坐標(biāo)數(shù)據(jù)905, 輸出到多邊形消除判斷部105。多邊形消除判斷部105將已變換坐標(biāo)數(shù)據(jù)905存儲(chǔ)在變換坐標(biāo)緩 沖器110。變換坐標(biāo)緩沖器110,登記能夠登記的最多數(shù)量的已變換坐 標(biāo)數(shù)據(jù)906。在達(dá)到能夠登記的最多數(shù)量時(shí),還要登記新的已變換坐 標(biāo)數(shù)據(jù)的情況下,將參考最久的頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù)從變換坐標(biāo)緩 沖器110刪除。多邊形消除判斷部105,利用已變換坐標(biāo)數(shù)據(jù)906生 成多邊形繪制有效標(biāo)志907,輸出到頂點(diǎn)消除判斷部106。頂點(diǎn)消除判斷部106,將根據(jù)多邊形繪制有效標(biāo)志907生成的中 間結(jié)果標(biāo)志存儲(chǔ)在頂點(diǎn)消除判斷緩沖器111。頂點(diǎn)消除判斷緩沖器111, 登記能夠登記的最多數(shù)量的(與在變換坐標(biāo)緩沖器110登記的已變換坐 標(biāo)數(shù)據(jù)數(shù)量相同)中間結(jié)果標(biāo)志908。在達(dá)到能夠登記的最多數(shù)量時(shí), 還要登記新的中間結(jié)果標(biāo)志的情況下,將參考最久的頂點(diǎn)的中間結(jié)果 標(biāo)志從頂點(diǎn)消除判斷緩沖器111刪除。頂點(diǎn)消除判斷部106,在多邊 形網(wǎng)格繪制開始時(shí)對(duì)所有中間結(jié)果標(biāo)志908進(jìn)行初始化都成為假。之 后,每次接收新的多邊形繪制有效標(biāo)志907時(shí),根據(jù)公式6,與相應(yīng)的多邊形所包含的頂點(diǎn)的中間結(jié)果標(biāo)志908進(jìn)行或運(yùn)算,從而更新中 間結(jié)果標(biāo)志908。在更新結(jié)果第一次從假變成真的時(shí)候,生成表示相 應(yīng)頂點(diǎn)為真的頂點(diǎn)有效標(biāo)志909,輸出到形態(tài)數(shù)據(jù)加載部107。形態(tài)數(shù)據(jù)加載部107,只在參照頂點(diǎn)有效標(biāo)志909是有效的頂點(diǎn) 的時(shí)候,才訪問存儲(chǔ)器200上的形態(tài)數(shù)據(jù)列表902,加載相應(yīng)頂點(diǎn)的 形態(tài)數(shù)據(jù)。從變換坐標(biāo)緩沖器110接收相應(yīng)頂點(diǎn)的已變換坐標(biāo)數(shù)據(jù) 910,并且與形態(tài)數(shù)據(jù)結(jié)合,作為頂點(diǎn)數(shù)據(jù)911輸出到多邊形繪制處理 部108。多邊形繪制處理部108利用頂點(diǎn)數(shù)據(jù)911進(jìn)行多邊形繪制處理, 生成在存儲(chǔ)器200上的輸出圖像903。如同上述,即使輸入多邊形造型以多邊形網(wǎng)格形式表現(xiàn)的情況下, 也只對(duì)多邊形繪制處理中必要的形態(tài)數(shù)據(jù)進(jìn)行加載。由此,與加載全 部數(shù)據(jù)的情況相比,能夠減少存儲(chǔ)器訪問量。根據(jù)本實(shí)施例的圖像生成裝置及圖像生成方法,關(guān)于輸入多邊形 造型的頂點(diǎn)數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)以外的形態(tài)數(shù)據(jù),只針對(duì)在頂點(diǎn)消除判 斷中判斷為有效的頂點(diǎn),進(jìn)行形態(tài)數(shù)據(jù)的下載。由此,能夠大幅度減 少存儲(chǔ)器到圖形處理單元的、與輸入多邊形造型的頂點(diǎn)數(shù)據(jù)的加載有 關(guān)的存儲(chǔ)器訪問量,從而能夠以存儲(chǔ)器帶寬窄的信息處理裝置,實(shí)時(shí) 地進(jìn)行輸入多邊形數(shù)量多的高清晰多邊形繪制處理。以上按照實(shí)施例說明了本發(fā)明的圖像生成裝置及圖像生成方法,不 過,本發(fā)明不被該實(shí)施例所限定。只要不超出本發(fā)明的宗旨,本領(lǐng)域 的技術(shù)者所能想到的各種變形例在實(shí)施例中實(shí)施也包括在本發(fā)明的范 圍內(nèi)。例如,對(duì)于輸入多邊形造型的表現(xiàn)形式,可以包括所述形式的 混合形式、四邊形帶、線帶等其他的表現(xiàn)形式。另外,作為輸入多邊形造型為多邊形網(wǎng)格形式的情況下的數(shù)據(jù)流 程,利用圖ll的數(shù)據(jù)流程進(jìn)行了說明,不過,輸入多邊形造型為多邊 形帶形式或者多邊形扇形式、或者上述形式的混合形式的情況下也可以用同樣的數(shù)據(jù)流程來處理。而且,多邊形消除判斷部105利用了裁剪判斷及剔除判斷,不過, 根據(jù)繪制可選項(xiàng)只能選用 一種方法也可以。而且,作為裁剪判斷可以包括將三維空間內(nèi)的任意平面作為邊界的消除判斷,也可以包括將顯示器表面303上的任意區(qū)域作為邊界的 消除判斷。而且,作為剔除判斷可以包括下列判斷消除在顯示器表面303 投影時(shí)不足一個(gè)點(diǎn)的多邊形的消除判斷,對(duì)因?yàn)橐曇娍臻g302內(nèi)的其 他多邊形繪制而導(dǎo)致在視點(diǎn)301上完全看不見的多邊形進(jìn)行消除的消 除判斷。而且,在本實(shí)施例中,頂點(diǎn)消除判斷部106使用了下列方法對(duì) 包含判斷對(duì)象的頂點(diǎn)Vi的多邊形的多邊形繪制有效標(biāo)志FPj進(jìn)行或運(yùn) 算,生成頂點(diǎn)有效標(biāo)志FVi。所述方法可以有以下方法從多邊形消 除判斷部105獲得包含判斷對(duì)象的頂點(diǎn)Vi的多邊形的多邊形繪制有效 標(biāo)志FPj的全部,之后生成頂點(diǎn)有效標(biāo)志FVi;針對(duì)所述多邊形繪制 有效標(biāo)志FPj與頂點(diǎn)有效標(biāo)志FVi的中間結(jié)果依次進(jìn)行或運(yùn)算并進(jìn)行 更新,或運(yùn)算中從假變?yōu)檎鏁r(shí),將頂點(diǎn)有效標(biāo)志FVi作為真來生成。 本實(shí)施例中,多邊形帶形式的頂點(diǎn)及多邊形扇形式的開始頂點(diǎn)以外的 頂點(diǎn)屬于前一個(gè)方法,多邊形扇的開始頂點(diǎn)及所述多邊形網(wǎng)格的頂點(diǎn) 屬于后一個(gè)方法,不過,不管輸入多邊形造型的表現(xiàn)形式可以采用其 中的任一個(gè)。而且,在多邊形網(wǎng)格形式中,中間結(jié)果標(biāo)志由假變成真的情況下, 之后,頂點(diǎn)消除判斷部106,可以停止利用標(biāo)志為真的中間結(jié)果標(biāo)志 所進(jìn)行的或運(yùn)算。例如,通過從頂點(diǎn)消除判斷緩沖器111刪除變?yōu)檎?的中間結(jié)果標(biāo)志,從而停止進(jìn)行被刪除的中間結(jié)果標(biāo)志和多邊形繪制 有效標(biāo)志的或運(yùn)算。例如,對(duì)于圖2的圖像生成裝置100所包含的坐標(biāo)數(shù)據(jù)加載部 103、坐標(biāo)變換部104等各塊,其中的一部分或者全部可以并行化,也可以合并多個(gè)塊到一個(gè)塊中。
而且,本發(fā)明可以作為包括圖2的圖像生成裝置100的信息處理 裝置來實(shí)現(xiàn)。
圖12是表示包括圖2的圖像生成裝置的信息處理裝置的結(jié)構(gòu)的方 框圖。圖12示出的信息處理裝置1000包括集成電路IOOI、存儲(chǔ)器 1008、顯示器1009。
集成電路1001是例如系統(tǒng)大規(guī)模集成電路(LSI)等,包括 CPU1002、圖形處理單元1003(圖2的圖像生成裝置)、存儲(chǔ)器控制器 1004、顯示器控制器1005、 CPU總線1006、以及存儲(chǔ)器總線1007。
CPU1002,將繪制命令列表202及頂點(diǎn)數(shù)據(jù)列表203經(jīng)由存儲(chǔ)器 總線1007和存儲(chǔ)器控制器1004存儲(chǔ)到存儲(chǔ)器1008。而且,經(jīng)由CPU 總線1006將繪制的指示傳達(dá)到圖形處理單元1003。
圖形處理單元1003,經(jīng)由存儲(chǔ)器總線1007和存儲(chǔ)器控制器1004 從存儲(chǔ)器1008訪問繪制命令列表202及頂點(diǎn)數(shù)據(jù)列表203,進(jìn)行上述 的圖像生成處理。生成的圖像,經(jīng)由存儲(chǔ)器總線1007和存儲(chǔ)器控制器 1004存儲(chǔ)到存儲(chǔ)器1008。存儲(chǔ)在存儲(chǔ)器1008的生成圖像,經(jīng)由顯示 器控制器1005輸出到顯示器1009。
另外,關(guān)于CPU1002將頂點(diǎn)數(shù)據(jù)列表203存儲(chǔ)到存儲(chǔ)器1008, 將頂點(diǎn)數(shù)據(jù)列表203分割為一定被加載的坐標(biāo)數(shù)據(jù)列表205、以及根 據(jù)頂點(diǎn)消除判斷結(jié)果有可能不被加載的形態(tài)數(shù)據(jù)列表206,將分割的 上述列表分別存儲(chǔ)到存儲(chǔ)器的不同區(qū)域中。由此,在存儲(chǔ)器總線1007 及存儲(chǔ)器控制器1004根據(jù)突發(fā)存儲(chǔ)器訪問來加載存儲(chǔ)器1008上的頂 點(diǎn)數(shù)據(jù)列表203的情況下,避免加載坐標(biāo)數(shù)據(jù)時(shí)一起加載被判斷為不 需要的形態(tài)數(shù)據(jù),能夠提高存儲(chǔ)器訪問效率。
而且,對(duì)圖11的集成電路1001的CPU1002、圖形處理單元1003 等各功能塊可以個(gè)別進(jìn)行集成電路化,或者也可以使一個(gè)集成電路包 含一部分或者全部。集成電路1001中可以含有AV(AudioVisual:視 聽)處理單元或者流式傳輸(streaming)處理單元等其他的功能塊。存儲(chǔ)器1008,可以搭載在集成電路1001的內(nèi)部,或者可以不論集成電路 1001的內(nèi)部或外部搭載多個(gè)。
而且,本實(shí)施例示出了將圖像生成裝置作為集成電路來實(shí)施的例 子,不過,也可以通過通用處理機(jī)上的程序來實(shí)現(xiàn),也可以利用制造之 后能夠變更硬件結(jié)構(gòu)的現(xiàn)場(chǎng)可編程門陣列(FPGA : Field Programmable Gate Array)或可重構(gòu)集成電路內(nèi)部的電路單元的連 接或設(shè)定的可重構(gòu)處理器來實(shí)現(xiàn)。
而且,本發(fā)明作為記錄了所述程序的計(jì)算機(jī)可讀光盤(CD—ROM: Compact Disc—Read Only Memory)等的記錄介質(zhì)來實(shí)現(xiàn),也可以作 為表示該程序的信息、數(shù)據(jù)或者信號(hào)來實(shí)現(xiàn)。并且,也可以將所述程 序、信息、數(shù)據(jù)及信號(hào)經(jīng)由互聯(lián)網(wǎng)等的通信網(wǎng)絡(luò)來發(fā)送。
本發(fā)明的圖像生成方法及圖像生成裝置可適用于搭載圖形繪制功 能的各種電子機(jī)器,例如,移動(dòng)電話、個(gè)人數(shù)字助理(PDA: Personal Digital Assistants數(shù)字電視、車載導(dǎo)航系統(tǒng)、家用游戲機(jī)、個(gè)人電 腦等。
權(quán)利要求
1、一種圖像生成裝置,通過繪制多邊形來生成計(jì)算機(jī)圖形圖像,其特征在于,包括坐標(biāo)數(shù)據(jù)加載單元,加載頂點(diǎn)數(shù)據(jù)中的表示頂點(diǎn)的位置的坐標(biāo)數(shù)據(jù),所述頂點(diǎn)數(shù)據(jù)表示構(gòu)成多邊形的所述頂點(diǎn)的信息;坐標(biāo)變換單元,將由所述坐標(biāo)數(shù)據(jù)加載單元加載的所述坐標(biāo)數(shù)據(jù)變換為不同的坐標(biāo)系;判斷單元,通過利用由所述坐標(biāo)變換單元進(jìn)行變換而得到的已變換坐標(biāo)數(shù)據(jù),判斷所述多邊形是否為繪制的對(duì)象,從而判斷構(gòu)成所述多邊形的頂點(diǎn)是否有效;形態(tài)數(shù)據(jù)加載單元,加載形態(tài)數(shù)據(jù),該形態(tài)數(shù)據(jù)是僅對(duì)應(yīng)于由所述判斷單元判斷為有效的頂點(diǎn)的所述頂點(diǎn)數(shù)據(jù)之中的、表示所述坐標(biāo)數(shù)據(jù)以外的信息的數(shù)據(jù);以及多邊形繪制單元,利用由所述形態(tài)數(shù)據(jù)加載單元加載的形態(tài)數(shù)據(jù)和所述已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
2、 如權(quán)利要求l所述的圖像生成裝置,其特征在于, 在每加載一個(gè)所述坐標(biāo)數(shù)據(jù)時(shí),在流水線上執(zhí)行由所述坐標(biāo)變換單元進(jìn)行的坐標(biāo)變換和由所述判斷單元進(jìn)行的多邊形判斷及頂點(diǎn)判 斷。
3、 如權(quán)利要求l所述的圖像生成裝置,其特征在于, 所述判斷單元具有多邊形判斷部,利用所述已變換坐標(biāo)數(shù)據(jù)來判斷所述多邊形是否 為繪制的對(duì)象,并輸出表示所述多邊形是否為繪制的對(duì)象的多邊形有 效標(biāo)志;以及頂點(diǎn)判斷部,通過進(jìn)行包含共享的頂點(diǎn)的多個(gè)多邊形的多邊形有 效標(biāo)志的或運(yùn)算,從而判斷所述頂點(diǎn)是否有效。
4、 如權(quán)利要求l所述的圖像生成裝置,其特征在于,所述圖像生成裝置,進(jìn)一步包括第一緩沖器,保存預(yù)先被設(shè)定為表示頂點(diǎn)無效的中間結(jié)果標(biāo)志; 所述判斷單元具有多邊形判斷部,利用所述已變換坐標(biāo)數(shù)據(jù)來判斷所述多邊形是否 為繪制的對(duì)象,并輸出表示所述多邊形是否為繪制的對(duì)象的多邊形有 效標(biāo)志;以及頂點(diǎn)判斷部,通過對(duì)所述多邊形有效標(biāo)志和構(gòu)成與所述多邊形有 效標(biāo)志對(duì)應(yīng)的多邊形的頂點(diǎn)的所述中間結(jié)果標(biāo)志進(jìn)行或運(yùn)算,更新保 存在所述第一緩沖器中的中間結(jié)果標(biāo)志,從而判斷所述頂點(diǎn)是否有效。
5、 如權(quán)利要求4所述的圖像生成裝置,其特征在于, 所述頂點(diǎn)判斷部,通過對(duì)所述中間結(jié)果標(biāo)志和所述多邊形有效標(biāo)志進(jìn)行或運(yùn)算,從而在所述中間結(jié)果標(biāo)志的值有了變更的情況下,輸 出表示頂點(diǎn)有效的頂點(diǎn)有效標(biāo)志,所述形態(tài)數(shù)據(jù)加載單元,在接收了所述頂點(diǎn)有效標(biāo)志時(shí),加載與 所述頂點(diǎn)有效標(biāo)志對(duì)應(yīng)的所述形態(tài)數(shù)據(jù)。
6、 如權(quán)利要求5所述的圖像生成裝置,其特征在于, 所述頂點(diǎn)判斷部,還在所述中間結(jié)果標(biāo)志的值有了變更的情況下,停止利用該中間結(jié)果標(biāo)志進(jìn)行的或運(yùn)算。
7、 如權(quán)利要求l所述的圖像生成裝置,其特征在于, 所述坐標(biāo)數(shù)據(jù)加載單元,從只存儲(chǔ)多個(gè)所述坐標(biāo)數(shù)據(jù)的區(qū)域加載所述坐標(biāo)數(shù)據(jù),所述形態(tài)數(shù)據(jù)加載單元,從只存儲(chǔ)多個(gè)所述形態(tài)數(shù)據(jù)的區(qū)域加載 所述形態(tài)數(shù)據(jù)。
8、 如權(quán)利要求l所述的圖像生成裝置,其特征在于, 所述坐標(biāo)變換單元,將所述坐標(biāo)數(shù)據(jù)變換為世界坐標(biāo)系以及顯示器坐標(biāo)系,所述判斷單元,至少進(jìn)行下列判斷中的一個(gè),即利用被變換為所 述世界坐標(biāo)系的已變換坐標(biāo)數(shù)據(jù)所執(zhí)行的裁剪判斷、以及利用被變換 為所述顯示器坐標(biāo)系的已變換坐標(biāo)數(shù)據(jù)所執(zhí)行的剔除判斷之中的一個(gè) 判斷,從而判斷所述多邊形是否有效,將構(gòu)成被判斷為有效的多邊形 的頂點(diǎn)判斷為有效。
9、 一種圖像生成方法,通過繪制多邊形來生成計(jì)算機(jī)圖形圖像,其特征在于,包括坐標(biāo)數(shù)據(jù)加載步驟,加載頂點(diǎn)數(shù)據(jù)中的表示頂點(diǎn)的位置的坐標(biāo)數(shù) 據(jù),所述頂點(diǎn)數(shù)據(jù)表示構(gòu)成多邊形的所述頂點(diǎn)的信息;坐標(biāo)變換步驟,將由所述坐標(biāo)數(shù)據(jù)加載步驟加載的所述坐標(biāo)數(shù)據(jù) 變換為不同的坐標(biāo)系;判斷步驟,通過利用由所述坐標(biāo)變換步驟進(jìn)行變換而得到的已變 換坐標(biāo)數(shù)據(jù),判斷所述多邊形是否為繪制的對(duì)象,從而判斷構(gòu)成所述 多邊形的頂點(diǎn)是否有效;形態(tài)數(shù)據(jù)加載步驟,加載形態(tài)數(shù)據(jù),該形態(tài)數(shù)據(jù)是僅對(duì)應(yīng)于由所 述判斷步驟判斷為有效的頂點(diǎn)的所述頂點(diǎn)數(shù)據(jù)之中的、表示所述坐標(biāo) 數(shù)據(jù)以外的信息的數(shù)據(jù);以及多邊形繪制步驟,利用由所述形態(tài)數(shù)據(jù)加載步驟加載的形態(tài)數(shù)據(jù) 和所述已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
10、 一種集成電路,通過繪制多邊形來生成計(jì)算機(jī)圖形圖像,其特征在于,包括坐標(biāo)數(shù)據(jù)加載單元,加載頂點(diǎn)數(shù)據(jù)中的表示頂點(diǎn)的位置的坐標(biāo)數(shù) 據(jù),所述頂點(diǎn)數(shù)據(jù)表示構(gòu)成多邊形的所述頂點(diǎn)的信息;坐標(biāo)變換單元,將由所述坐標(biāo)數(shù)據(jù)加載單元加載的所述坐標(biāo)數(shù)據(jù)變換為不同的坐標(biāo)系;判斷單元,通過利用由所述坐標(biāo)變換單元進(jìn)行變換而得到的已變 換坐標(biāo)數(shù)據(jù),判斷所述多邊形是否為繪制的對(duì)象,從而判斷構(gòu)成所述 多邊形的頂點(diǎn)是否有效;形態(tài)數(shù)據(jù)加載單元,加載形態(tài)數(shù)據(jù),該形態(tài)數(shù)據(jù)是僅對(duì)應(yīng)于由所 述判斷單元判斷為有效的頂點(diǎn)的所述頂點(diǎn)數(shù)據(jù)之中的、表示所述坐標(biāo) 數(shù)據(jù)以外的信息的數(shù)據(jù);以及多邊形繪制單元,利用由所述形態(tài)數(shù)據(jù)加載單元加載的形態(tài)數(shù)據(jù) 和所述已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
全文摘要
能夠適用于交互式用途的CG處理,且能夠減少與輸入多邊形造型的頂點(diǎn)數(shù)據(jù)的加載有關(guān)的存儲(chǔ)器訪問量。通過繪制多邊形來生成計(jì)算機(jī)圖形圖像的圖像生成裝置(100)包括坐標(biāo)數(shù)據(jù)加載部(103),從構(gòu)成多邊形的頂點(diǎn)的頂點(diǎn)數(shù)據(jù)中加載坐標(biāo)數(shù)據(jù);坐標(biāo)變換部(104),將被加載的坐標(biāo)數(shù)據(jù)變換為不同的坐標(biāo)系;多邊形消除判斷部(105),利用進(jìn)行變換而得到的已變換坐標(biāo)數(shù)據(jù),判斷多邊形是否為繪制的對(duì)象;頂點(diǎn)消除判斷部(106),判斷構(gòu)成被判斷為有效的多邊形的頂點(diǎn)為有效;形態(tài)數(shù)據(jù)加載部(107),加載只與判斷為有效的頂點(diǎn)對(duì)應(yīng)的形態(tài)數(shù)據(jù);以及多邊形繪制處理部(108),利用被加載的形態(tài)數(shù)據(jù)和已變換坐標(biāo)數(shù)據(jù)繪制多邊形。
文檔編號(hào)G06T15/30GK101647044SQ20088001033
公開日2010年2月10日 申請(qǐng)日期2008年4月3日 優(yōu)先權(quán)日2007年4月11日
發(fā)明者石橋裕大 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社