專利名稱:高速電腦多邊形剪裁跟蹤器的制作方法
技術領域:
本發(fā)明涉及一種高速專用型電腦的圖像處理方法及其硬件裝置。
高速電腦在圖像產(chǎn)生過程中,視錐同時在復雜的三維空間中運動,多邊形構成的空間與視錐產(chǎn)生相割或不相割的情況;傳統(tǒng)圖像處理方法都以代數(shù)計算這些割點所在位置,當多邊形完全在錐外時,大部分的計算將成為白費。
若將構成圖像的每一多邊形皆剪裁成三角形,并以三角形為基礎,每一三角形被視窗切割后所生成新的多邊形再被重劃為多個三角形,將各多邊形或各三角形的邊名、點名,新切割所生成出的邊名、點名,一組組存放于高速存儲器內(nèi),以配合微程序控制的代數(shù)運算器,如此即可避免不必要的計算,在早期排除不需計算的狀態(tài),使電腦提高運算效率。本發(fā)明即是為達此目的而設計的一種高速電腦的圖像處理方法及其硬件裝置。
高速電腦的圖像處理器,為了求得在視覺暫留瞬間來產(chǎn)生場景,速度要求非常嚴苛,所以本發(fā)明以專用硬件來提高電腦性能。
本發(fā)明的主要特征是運用一組高速存儲器,將構成圖像的每一多邊形(或多數(shù)三角形)的邊名、點名,與新切割所生成的邊名、點名,一組組存放在高速存儲器中,以配合微程序控制的代數(shù)運算器,早期排除不需計算的狀態(tài),使電腦能提高運算效率。
本發(fā)明可正確掌握動態(tài)視點所產(chǎn)生的即時邏輯狀況(即三維圖像與視錐所形成各類型的切割),協(xié)助微程序轉移,以及更進一步將計算結果存放至暫存器堆(即代數(shù)運算器上游的暫存器堆(RegisterFiles))的正確地址,使得后續(xù)的像素(Pixel掃描點)計算,形成順暢的多級向量流水線(注一)處理。
本發(fā)明的上述互動智能產(chǎn)生地址、尋找地址,全都利用計算部件忙于其他動作的間隙完成,不產(chǎn)生任何微程序休止等待的情況。
本發(fā)明適用于三維、二維高速圖形產(chǎn)生專用硬件,它的邏輯設計適用于ECL、TTL、CMOS等各種邏輯控制閘形成的線路板,及專用芯片ASIC。
附圖簡單說明
圖1 表示本發(fā)明圖形處理控制硬件方框圖。
圖2 為本發(fā)明的信息選擇通路邏輯方框圖。
圖3 為本發(fā)明的邊名緩存器邏輯方框圖。
圖4 為本發(fā)明圖形處理示意圖。
圖5 為本發(fā)明圖形處理方向示意圖。
圖6 為本發(fā)明四角視錐與九個邏輯區(qū)號標志示意圖。
圖7 為本發(fā)明暫存有關三角形信息的示意圖。
以下配合附圖及實施例結構詳細說明本發(fā)明如后本發(fā)明的高速電腦多邊形剪裁跟蹤器包括由一邊名緩存器11、信息選擇通路12、三角形區(qū)位標志緩沖器13、一三角形處理控制邏輯14、一裁剪狀況硬件15、一邏輯標志輸入端的移位器16、與一裁剪控制邏輯17所組成的如圖1中所示的方框圖。
在圖1中,邊名緩存器11用作接收基本體(Primitive Library)(注二)送來的三角形邊信息,在處理時,不中斷地讀出三角形的有關信息,通過信息選擇通路12得到微程序所需信息并回送至邊名緩存器11,詳圖如圖3中所示。(圖3中的PPE更新RAM見注三)。
信息選擇路12詳如圖2中所示,其主要功能是在微程序運行時送出一些控制信號,正確選出暫存器堆的地址、頁數(shù),其中PPA、PPB、PPC等是切割而生的新邊信號,回送至邊名緩存器11。圖2中所示的信息選擇通路顯示一個三角形,除了三個角頂?shù)腦、Y、Z之外還有邊名和相夾的兩點,圖中PPA、PPB等意指端點名、尾點名與邊名。(圖中Ptail與Phead名見注四)。
三角形區(qū)位標志緩沖器13將SIGN輸入端的信號,即代數(shù)運算部份算出在視錐某一邊界之內(nèi)或外的邏輯標志,經(jīng)該移位器16送至此區(qū)位標志緩沖器13;區(qū)位標志緩沖器13采用四角錐、九個區(qū)位(注五),每一區(qū)位四個邏輯信號以標志裁剪,在裁剪過程中將其暫存以備使用。三角形每個點所在區(qū)位,在座標轉換過程中根據(jù)Local name(局部名)的名存入此緩沖器13的RAM中,且在裁剪過程中割出的新點,它會給予新的Local name,并根據(jù)新名存入RAM。
裁剪狀況硬件15主要功能是藉此決定一個三角形是否需要裁剪,對哪個面裁剪,以及對裁剪的過程狀態(tài)判斷。
裁剪控制邏輯17詳如圖3中所示,主要是對三角形或剪裁過程中得到的多邊形各邊進行檢查,判斷出此邊是否需要剪裁,不需剪裁的邊則跳過,取下一條邊進行檢查;若需剪裁,是剪掉頭或是剪掉尾?并控制信息選擇通路12及邊名緩存器11以產(chǎn)生剪裁后的新邊及新點,并將新邊名及新點名存入緩存器11。此裁剪控制邏輯17根據(jù)另一個多元邏輯分岔器(注六),及微程序送出的命令與三角形狀態(tài),輸出控制信號至分岔器,控制微程序的轉移。圖3中,LDPPE意指準予送進PPE信息群,BCLP意指剪裁前一步,AB意指拋棄,BT意指重分割三角形,CLIP意指剪裁,WRC意指“寫”計數(shù)器Enable(啟動)。
如上所述的本發(fā)明具有如下功能(1)暫存(注七)有關三角形的信息,對其合理使用。
(2)與多元邏輯分岔器配合,控制三角形代數(shù)處理的程序方向。
(3)完成三角形剪裁邏輯運算。
(4)形成下游掃描點處理器的數(shù)據(jù)流控制信號。
因此,本發(fā)明的多邊形剪裁跟蹤器能配合微程序控制的代數(shù)運算器,早期排除不需計算的狀態(tài),使電腦能提高運算效率;本發(fā)明更可正確掌握動態(tài)視點所產(chǎn)生的即時邏輯狀況,協(xié)且微程序轉移,形成順暢的多級向量流水線處理;在運算時,利用計算部件忙于其他動作的間隙完成,不產(chǎn)生任何等待的空間,而能達實時系統(tǒng)(Real time system)目的。
本發(fā)明可供應用于三維、二維(3D或2D)高速圖形產(chǎn)生專用硬件,它的邏輯設計適用于ECL、TTL、CMOS等各種邏輯控制門形成的線路板,及專用芯片ASIC。
本發(fā)明對所有用多邊形表達的圖形產(chǎn)生器皆有相同功效。
#注一多級向量流水線即Pipeline Vector Processor,超級電腦所常見的陣列處理器Array Processor)各自獨立平行運作,靠多級鎖存器(Latch)把運算分成多級,提高時脈速度,流水線輸出。
#注二基本體圖形學中用一個幾何形體,經(jīng)過轉換得到另一形體,例如長方體,可用一正方體在X、Y、Z三方向乘上不同比例數(shù)而得,一橢圓體可將球體經(jīng)過轉換而得,一根油條可由多角柱經(jīng)過應力張量(Stress Tensor)旋扭而成。在此,正方體、球體、多角柱都被稱為基本體,存于圖形庫供使用。
#注三PPE更新RAM請參閱圖4所示,點1與點2都被截頭去尾,形成點1′與點2′,邊1、2和邊1′、2′是同樣的。此時原三角形1、2、3變成了五邊形1′、2′、3′、4′,由于硬件設計立足于三角形,所以1′成為新錨點,重劃割三角形1′、2′、3′,三角形1′、3′、3,三角形1′、3′、4′。這時新邊2′、3′,新邊3′、1′,新邊4′、1′都要被存起來,放在更新RAM。PPE意指點尾、點頭、所夾邊名。
#注四Prai/Phead點處理是有方向性的(請參閱圖5所示),從點1向點2進行如同箭頭,點1是Ptail,點2是Phead;在裁剪發(fā)生時,若尾點被截除,新割點即為Ptail Save(Ptail保存),若頭點被截除,新割點即為Phead Save(Phead保存)。
#注五四角錐與九個邏輯區(qū)號標志請參閱圖6所示,視點到顯示幕的四個角頂,形成一個視角錐,取顯示幕的平面,則有「井」字分區(qū)九塊,三角面(或多邊形面)若落在視錐之外,其投影必落在中間區(qū)(斜線區(qū))之外,不必處理,可拋棄之;若完全落于視錐中,則不需剪裁,全部保留;若一部分在視錐外,一部分在視錐內(nèi),則投影后的三角形部分在斜線區(qū)內(nèi)部份在斜線區(qū)外,這時產(chǎn)生多種狀態(tài)的剪裁,如何剪裁則視各點落于哪一區(qū)位,所以每一點要經(jīng)過代數(shù)運算部件之計算,檢查在上限之上或下,在下限之上或下,在左限之左或右,在右限之右或左,如此得到四個區(qū)號標志。
#注六多元邏輯分岔器微程序(Microcode)有許多短的子程序,從一個轉折到另一個時,往往有二十多個邏輯狀態(tài)參數(shù),如果一個一個的檢驗勢必讓計算部件等待二十多個時脈,破壞了實時系統(tǒng),多元邏輯分岔器最重要的一點就節(jié)省時間,設計可使計算部件全速進行,即如同市區(qū)中交通標志,總在我們行駛到時,及時轉為綠燈,不必等待就會轉折到正確的路線,這樣保障了代數(shù)處理流水線不致中斷。
#注七暫存有關三角形的信息三角形的信息除了包括三頂點的三維幾何座標值,還有各點的點名、兩點所夾的邊名、點的走向(如果1→2→3,此三角面迎向著我們,此面可見,如果1→3→2,則此三角面向后,我們看不見,不必處理,信息可揚棄,即如圖7所示),以及此三角面是僅僅表達平面?還是表現(xiàn)曲面的一個單位(即Flat Smooth)?這牽涉到單一法線還是三個法線,影響到陽光照射到此面所產(chǎn)生的光強分布值,這些信息要暫存于Index RAM(索引RAM)之中。
權利要求
一種高速電腦多邊形剪裁跟蹤器,使用于三維或二維高速圖形產(chǎn)生專用硬件,其邏輯設計適用于ECL、TTL、CMOS各種邏輯控制閘形成的線路板,及專用芯片ASIC,更能有效使用于以多邊形表達的圖形產(chǎn)生器;其方法為將構成圖像的每一多邊形皆剪裁成三角形,并以三角形為基礎,每一三角形被視窗切割后所生成新的多邊形,再被重劃為多數(shù)三角形,將各多邊形或各三角形的邊名、點名,新切割所生成出的邊名、點名,一組組存放于高速存儲器內(nèi),以配合微程序控制的代數(shù)運算器,避免不必要的計算,早期排除不需計算的狀態(tài),使電腦提高運算效率,達到即時產(chǎn)生復雜三維圖形的目的;其特征在于,該硬件設備包括有邊名緩存器、信息選擇通路邏輯、三角形區(qū)位標志緩沖器、三角形處理控制邏輯、裁剪狀況硬件、邏輯標志輸入端的移位器、與一裁剪控制邏輯;其中邊名緩存器,用于接收基本體送來的三角形邊信息,在處理時不中斷地讀出三角形的有關信息,通過信息選擇通路得到微程序所需信息并回至邊名緩存器;信息選擇通路邏輯,用于在微程序運行時,送出控制信號,正確選出暫存器的地址、頁數(shù),回送至邊名緩存器;三角形區(qū)位標志緩沖器,將代數(shù)運算部件算出在視錐內(nèi)、或外的邏輯標志,經(jīng)該移位器送至此區(qū)位標志緩沖器;區(qū)位標志緩沖器采用四角錐、九個區(qū)位,每一區(qū)位四個邏輯信號以標志裁剪,在裁剪過程中將其暫存于RAM以備使用;裁剪狀況硬件,用以決定一個三角形是否需要裁剪,對哪個面裁剪,以及對裁剪的過程狀態(tài)判斷;裁剪控制邏輯,用以對三角形或剪裁過程中得到的多邊形的各邊進行檢查,判斷出此邊是否需要剪裁,不需剪裁的邊則跳過,取下一條邊進行檢查;若需剪裁,是剪掉頭或是剪掉尾?并控制信息選擇通路及邊名緩存器以產(chǎn)生剪裁后的新邊及新點,并將新邊名及新點名存入緩存器;此裁剪控制邏輯根據(jù)另一個多元邏輯分岔器,及微程序送出的命令與三角形狀態(tài),輸出控制信號至分岔器,控制微程序的轉移;藉此硬件設備可供使用于高速電腦的圖像處理,并大幅提高電腦的圖像運算性能。
全文摘要
高速圖像器為求視覺暫留瞬間來產(chǎn)生場景,速度要求非常嚴苛,本發(fā)明以專用硬件(將三維空間的物體以三角形為基礎),使一個三角形被視窗切割后所生成新的多邊形再被重新劃分為多個三角形,將不需要的計算藉邏輯方法早期排除,提高性能,達到即時產(chǎn)生視景的目的;且此一發(fā)明能自動跟蹤復雜圖像變化情況,給運算部件正確指示。
文檔編號G06T11/00GK1104792SQ9410302
公開日1995年7月5日 申請日期1994年3月15日 優(yōu)先權日1994年3月15日
發(fā)明者楊高雄 申請人:楊高雄