欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖像處理器及其組件、和渲染方法

文檔序號:6356638閱讀:412來源:國知局
專利名稱:圖像處理器及其組件、和渲染方法
技術領域
本發(fā)明涉及一種用于在一個二維屏幕、諸如顯示設備上高效渲染三維圖像的圖像處理技術。
背景技術
在顯示設備上渲染(render)圖像的圖像處理器、諸如游戲控制臺或者個人計算機的圖像處理能力已經(jīng)隨著最近處理器速度的增加而顯著地增加了。
例如,用于在二維屏幕上顯示很好的高質量三維圖像的二維圖像幾乎能夠被實時地生成。
利用多個諸如多邊形之類的圖元和一個屬性數(shù)據(jù)集生成二維圖像,其中該圖元組成了包含在一個三維圖像中的一個虛擬對象(在下文中稱為一個“對象”)的圖像,且該屬性數(shù)據(jù)集描述了相關圖元的屬性、諸如形狀、大小、顏色和亮度。
用于在一個二維屏幕上渲染三維圖像的圖像處理通??梢员环诸悶閹缀翁幚砗弯秩?。幾何處理包含坐標變換以變換圖元的一組頂點的坐標。渲染用來從作為幾何處理的結果而獲得的幾何數(shù)據(jù)中確定例如每一個像素的顏色以創(chuàng)建一個二維圖像。
在這個說明書中,主要執(zhí)行渲染操作的設備(包含一個分布式系統(tǒng)和一個半導體設備)被稱為一個渲染處理單元。渲染處理單元形成一個圖像處理器的一部分。
某些渲染處理單元能夠通過兩次或更多次地渲染相同的圖元來渲染圖形和圖像、諸如復雜的畫面以獲得更好的視覺效果。具有兩遍或更多遍渲染的渲染被稱為“多遍(multipass)渲染”。在多遍渲染中的單次處理過程被稱為一“遍(pass)”。就渲染3遍的多遍渲染來說,可以在第一遍期間渲染一個多邊形而不必混合任何紋理(texture),可以在第二遍期間增加一個紋理,并且可以在第三遍期間增加一個不同的紋理。
傳統(tǒng)的渲染處理單元在多遍渲染期間為所有圖元執(zhí)行多次渲染。這在渲染一個復雜畫面中的圖形或者圖像時,增加了渲染操作的次數(shù),并且接著又增加了處理量,從而導致了較大的處理負荷。
相對于上述問題做出了本發(fā)明,并且它的一個目的是提供一種渲染處理單元和一種渲染方法,其能夠利用較少的處理來實現(xiàn)用于三維圖像的渲染操作。
本發(fā)明的另一個目的是提供能視覺效果更好地生成一個圖像而沒有任何開銷的一種圖像處理器以及它的組件。

發(fā)明內容
依據(jù)本發(fā)明、解決了上述問題的一個渲染處理單元是一個用于在一個二維屏幕上渲染三維圖像的處理單元,其中該三維圖像中的每一個都是由多個圖元組成的,該處理單元包含一個圖元緩沖器,在其中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示多個圖元中的一個的屬性;以及一個測試器,其把在所述圖元緩沖器中的多個屬性數(shù)據(jù)集互相進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不被顯示在其上的第二組圖元;渲染處理單元被配置為渲染第一組圖元以及不渲染第二組圖元,其中第一組圖元和第二組圖元由所述測試器分類出來。
渲染可以是用僅僅一遍渲染、使用紋理渲染一個給定圖元的單遍渲染,或是用不同的紋理多次渲染同一個圖元的多遍渲染。無論如何,實際上將被顯示在二維屏幕上的圖元(第一組圖元)被渲染了。與渲染構成一個三維圖像的所有圖元的傳統(tǒng)渲染處理單元相比,處理量被顯著地改善了。
“屬性數(shù)據(jù)集”可以是任何種類的適當數(shù)據(jù),只要該數(shù)據(jù)能夠被用來確定一個給定的圖元是否顯現(xiàn)在二維屏幕上??偟膩碚f,屬性數(shù)據(jù)集可以是數(shù)字數(shù)據(jù),諸如關于一個圖元的頂點(例如頂點的坐標、頂點的亮度、或者紋理的坐標)、大小、顏色、或者圖元的透明度的數(shù)字數(shù)據(jù)。關于頂點的數(shù)字數(shù)據(jù)可以是例如作為幾何處理的結果而獲得的幾何數(shù)據(jù)。
被寫入在所述圖元緩沖器中的圖元的數(shù)目最好是至少等于用其在二維屏幕上構建適合在一個屏幕上的三維圖像的圖元的數(shù)目。這允許在屏幕基礎上高效的渲染。
為了在像素基礎上提供更高效的渲染,渲染處理單元進一步包含插值裝置,其依據(jù)用于一個圖元的一個已知屬性數(shù)據(jù)集插值像素。測試器通過把作為像素插值的結果而獲得的一個新屬性數(shù)據(jù)集添加到可相互比較的屬性數(shù)據(jù)集中,在像素基礎上分類圖元。利用這樣的一個配置,正被顯示在二維屏幕上的圖元被分類成為甚至以一個像素的第一組圖元。
就較高分辯率的圖像來說,每一個像素被分成預定數(shù)目的子像素。插值裝置被配置為當至少一個子像素要經(jīng)歷渲染時依據(jù)用于一個圖元的一個已知屬性數(shù)據(jù)集插值該子像素。測試器被配置為通過把作為子像素插值的結果而獲得的一個新的屬性數(shù)據(jù)集添加到可相互進行比較的屬性數(shù)據(jù)集中、在子像素基礎上分類圖元。
渲染處理單元可以進一步包含覆蓋率計算裝置,其計算由正被渲染的一個給定圖元覆蓋的子像素的數(shù)目與組成單個像素的子像素的總數(shù)的比值,并且可以基于由所述覆蓋率計算裝置計算的結果確定用于主體像素的屬性數(shù)據(jù)集。這提供了更快的消除混疊技術。
為了允許消除混疊,所述測試器可以被配置為當在該像素處繪制兩個或更多圖元時不分類在圖元的邊界上的像素。
在所述圖元緩沖器中的每個屬性數(shù)據(jù)集可以包含位置信息,諸如表示一個相對圖元在三維圖像中的位置的坐標值(X,Y,和Z),并且測試器可以被配置為比較包含在該屬性數(shù)據(jù)集中的位置信息以把圖元分類成為第一和第二組圖元,其中第一組圖元是通過二維屏幕最靠近一個觀察者的視點的圖元,第二組圖元是除了被分類成為第一組圖元的那些圖元之外的其它圖元。這個配置刪去了對被隱藏在其它圖元或者多個圖元后面的圖元的渲染。
每個圖元可以疊加在包含允許區(qū)域和不允許區(qū)域的模板數(shù)據(jù)上,其中該允許區(qū)域被允許顯示在二維屏幕上,而不允許區(qū)域不被允許顯示在二維屏幕上,模板數(shù)據(jù)表示將被顯示的一個或者多個圖像的透明度和形狀。在這種情況下,測試器把圖元分類成為第一和第二組圖元,其中第一組圖元是其至少一部分被疊加在模板數(shù)據(jù)的允許區(qū)域或者不允許區(qū)域上的圖元,第二組圖元是除了被分類成為第一組圖元的那些圖元之外的其它剩余圖元。
從增加渲染速度的觀點來說,測試器被配置為在一個在渲染過程中參考的預定可見標志表中記錄一個描述了一個給定圖元是第一組圖元還是第二組圖元的標志。與用于該給定圖元的屬性數(shù)據(jù)集相關聯(lián)地記錄該標志。這樣一種配置允許渲染處理單元僅僅通過檢查在可見標志表中的標志來確定一個給定屬性數(shù)據(jù)集是在第一組圖元還是在第二組圖元中。該標志可以是一個就每個圖元都具有不同值的數(shù)字標志,并且根據(jù)由正被顯示在二維屏幕上的圖元所覆蓋的像素數(shù)目更新標志值。
渲染處理單元可以進一步包含編輯裝置,其適于參考記錄在可見標志表中的用于相關圖元的標志,并且限制從圖元緩沖器中為第二組圖元讀出屬性數(shù)據(jù)集。從更加確實地避免使用第二組圖元的觀點來說,所述編輯裝置適于從所述圖元緩沖器中刪除用于被分類成為第二組圖元的圖元的屬性數(shù)據(jù)集。
依據(jù)本發(fā)明解決上述問題的一個圖像處理器是這樣一個圖像處理器,其包含一個幀緩沖器,其大小等于在一個二維屏幕中的顯示區(qū)的大??;一個第一處理器,適于執(zhí)行對描述一個三維圖像的多個圖元的幾何處理以生成關于該三維圖像的幾何數(shù)據(jù);一個第二處理器,依據(jù)生成的幾何數(shù)據(jù)在所述幀緩沖器中渲染對應于三維圖像的二維圖像;以及一個控制器,用于在顯示區(qū)中顯示渲染的二維圖像。
第二處理器把多個屬性數(shù)據(jù)集互相進行比較,以把該多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不會被顯示在其上的第二組圖元,以及在所述幀緩沖器中渲染由第一組圖元而不是第二組圖元組成的二維圖像。每個屬性數(shù)據(jù)集表示由從所述第一處理器中獲得的幾何數(shù)據(jù)指定的多個圖元中的一個圖元的屬性。
在一個最佳實施例中,在所述第一處理器和所述第二處理器之間提供了一個緩沖存儲器,并且由所述第一處理器生成的幾何數(shù)據(jù)經(jīng)由緩沖存儲器被傳輸?shù)剿龅诙幚砥鳌?br> 可以通過進一步包含一個圖像接受機構來配置圖像處理器,其中該圖像接受機構從一個外部設備中接受將被處理的三維圖像并且把它們提供給所述第一處理器。
依據(jù)本發(fā)明解決上述其它問題的一種渲染方法是一種由一個用于在一個二維屏幕上渲染三維圖像的設備執(zhí)行的渲染方法,該三維圖像中的每一個都是由多個圖元組成的,該設備具有一個在其中為形成圖像而寫入圖元的圖元緩沖器。即,這個設備以這個次序執(zhí)行一遍測試和一遍渲染,其中該遍測試是用于在一個圖元緩沖器中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,以及用于把這多個寫入的屬性數(shù)據(jù)集互相進行比較,以把這多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不被顯示在其上的第二組圖元,其中每個屬性數(shù)據(jù)集表示組成三維圖像的多個圖元中的一個圖元的屬性,而渲染遍是用于從圖元緩沖器當中讀出第一組圖元而不是第二組圖元以渲染讀出的第一組圖元,其中該第一組圖元和第二組圖元是在該遍測試中被分類出來的。
可以兩次或多次執(zhí)行該渲染以兩次或多次為同一個圖元渲染不同的紋理。
為了解決上述問題,本發(fā)明還提供了一種半導體設備和一個計算機程序。
本發(fā)明中的半導體設備是一種安裝在一個計算機上的半導體設備,其連接到具有一個二維屏幕的顯示器,該半導體設備適合于在計算機上建立和計算機的其它組件協(xié)同合作的下列功能部件,該功能部件包含一個圖元緩沖器,在其中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示組成三維圖像的多個圖元中一個圖元的屬性;一個測試器,其把在所述圖元緩沖器中的多個屬性數(shù)據(jù)集互相進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和將不會被顯示在其上的第二組圖元; 以及渲染處理裝置,用于渲染第一組圖元而不是第二組圖元以生成一個將被顯示在二維屏幕上的二維圖像,其中該第一組圖元和第二組圖元是由試驗器分類出來的。
本發(fā)明中的計算機程序是一個用于指示計算機執(zhí)行下列任務的計算機程序,該計算機連接到一個圖元緩沖器和一個具有一個二維屏幕的顯示器,其中在圖元緩沖器中寫入用于形成圖像的圖元,該任務包含在圖元緩沖器中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示組成三維圖像的多個圖元中的一個圖元的屬性;把在圖元緩沖器中的多個屬性數(shù)據(jù)集互相進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和將不會被顯示在其上的第二組圖元;以及渲染第一組圖元而不是第二組圖元,以生成一個將被顯示在二維屏幕上的二維圖像,其中該第一組圖元和第二組圖元是被分類出來的。當這個計算機程序被記錄在一個計算機可讀存儲介質中時它被實現(xiàn)了。


圖1顯示了依據(jù)本發(fā)明一個實施例的一個圖像處理器的硬件配置;圖2是一個說明了在圖元緩沖器中的幾何數(shù)據(jù)的一個例子的視圖;圖3是一個說明了一個三角形長條的視圖;圖4是一個用來描述剪裁(clipping)的視圖;圖5是一個用來描述剪裁的視圖;圖6是一個說明了子像素的視圖;
圖7是一個用來描述一個模板測試的視圖;圖8是一個可見標志控制部分的示范配置;圖9是一個說明了一個三角形長條的視圖;圖10是一個說明了當圖元是一個三角形長條時的一個可見標志表的視圖;圖11是一個說明了依據(jù)本發(fā)明一個實施例的一個渲染過程的視圖;圖1 2是一個說明了一個Z緩沖繪制過程的視圖;圖13是一個說明了用于Z緩沖繪制的一個數(shù)據(jù)流的視圖;圖14是一個說明了用于一遍測試的一個處理過程的視圖;圖15是一個說明了用于該遍測試的一個數(shù)據(jù)流的視圖;圖16是一個說明了刪除從圖元不會被顯示在顯示器上時起的數(shù)據(jù)的視圖;圖17是一個說明了一個多遍渲染過程的視圖;圖18是一個說明了用于該多次渲染的一個數(shù)據(jù)流的視圖;圖19顯示了依據(jù)本發(fā)明另一個實施例的一個渲染處理器的硬件配置;以及圖20是一個用來描述圖元覆蓋率的視圖。
具體實施例方式
下面敘述了一個把本發(fā)明應用到一個支持多遍渲染的圖像處理器的實施例。
圖1顯示了依據(jù)這個實施例的一個圖像處理器的硬件配置。
圖像處理器1包含一個作為渲染處理單元的一個例子的渲染處理器16。圖像處理器1執(zhí)行多遍渲染以在一個二維屏幕、諸如顯示器41的屏幕上實時地、視覺效果更好地渲染三維圖像。在該多遍渲染中,在下面描述的一遍測試首先分類輸出由于例如被隱藏在其它圖元后面而不被顯示在顯示器41上的第二組圖元。然后為除了在這遍測試中被分類輸出的那些圖元之外的圖元執(zhí)行一遍渲染。因此,圖像處理器1刪去了渲染不被顯示在顯示器41上的圖元的無用操作,而提高了渲染操作的效率。
圖像處理器1包含一個向其中加載一個諸如CD-ROM或者DVD-ROM之類的磁盤介質15的磁盤驅動器10、一個用于建立與一個外部設備的有線或者無線通信的通信控制部分11、一個幾何處理器12、一個存儲器13、一個CPU 14和渲染處理器16,它們經(jīng)由一條總線全部彼此相互連接,以便它們互相交換數(shù)據(jù)。
一個顯示控制器40連接到渲染處理器16以向顯示器41提供諸如視頻信號的圖像信號。
磁盤驅動器10從磁盤介質15中加載用于圖像處理的數(shù)據(jù)和程序,并且把它們存儲在存儲器13中。用于圖像處理的數(shù)據(jù)可以是例如關于圖元的圖形數(shù)據(jù)。在這個實施例中的圖形數(shù)據(jù)包含例如一個圖元的頂點(X,Y,Z)的坐標值、一個頂點的亮度值(R,G,B)、向量值、和描述了這些頂點如何相連的連接信息。
通信控制部分11從一個外部設備中獲得用于圖像處理的上述數(shù)據(jù)和程序,并且把它們存儲在存儲器13中。換句話說,通信控制部分11從一個外部設備中獲得與由磁盤驅動器10從磁盤介質15中獲得的數(shù)據(jù)相似的數(shù)據(jù),并且把它們存儲在存儲器13中。
利用這個配置,圖像處理器1能夠從磁盤驅動器10和通信控制部分11中的至少一個中獲得用于圖像處理的數(shù)據(jù)和程序。
幾何處理器12在CPU 14的控制下執(zhí)行對保存在存儲器13中的圖形數(shù)據(jù)的幾何處理,諸如與光源有關的仿射變換和頂點處理。作為幾何處理結果而獲得的幾何數(shù)據(jù)包含表示了一個給定圖元的屬性的數(shù)據(jù),這些數(shù)據(jù)諸如圖元的一個頂點(X,Y,Z)的坐標值、每個頂點的紋理坐標值(S,T,Q)、和一個頂點的亮度(R,G,B,A)。頂點的亮度中的符號“A”是被用于已知的α混合的不透明度。
存儲器13存儲從磁盤驅動器10和通信控制部分11中至少一個中獲得的用于圖像處理的數(shù)據(jù)和程序。存儲器13還存儲在圖像處理器1的操作期間生成的各種數(shù)據(jù)。因此,存儲器13同樣能夠被用作在圖像處理器1中的一個主存儲器。
CPU 14控制在這些組件之間或者在它們當中的數(shù)據(jù)交換。例如,CPU 14利用用作一個緩沖器的存儲器13控制把由幾何處理器12生成的幾何數(shù)據(jù)傳輸?shù)戒秩咎幚砥?6。
在這個實施例中,幾何處理器12被提供作為一個與CPU 14分開的組件。然而它們可以被組合為單個單元,所以CPU 14也用作幾何處理器12。
渲染處理器16基于由幾何處理器12生成的幾何數(shù)據(jù)執(zhí)行多遍渲染。
顯示控制器40把作為渲染的結果而生成的一個二維圖像轉換成為一個能夠被顯示在顯示器41上的圖像信號,并且把它提供給顯示器41。用這個圖像信號把圖像顯示在顯示器41上。
渲染處理器16包含一個圖元緩沖器21、一個多遍控制部分22、一個XYZ裁剪部分23、一個設置DDA(Digital DifferentialAnalyzer,數(shù)字微分分析器)部分(在下文中被稱為一個“SU/DDA部分”)24、一個Z測試部分25、一個Z緩沖器26、一個模板測試部分27、一個模板緩沖器28、一個可見標志控制部分29、一個圖元編輯部分30、一個紋理映射部分31、和一個幀緩沖器32。
Z測試部分25、模板測試部分27、可見標志控制部分29、和圖元編輯部分30是依據(jù)本發(fā)明的一個測試器的組件。
這些組件可以通過使用例如半導體設備被單個地執(zhí)行。做為選擇,它們可以通過使一個通用的數(shù)字信號處理器(DSP)或者一個圖形處理器(GP)與一個或多個計算機程序協(xié)同合作來實現(xiàn),所以這些處理器能夠加載和執(zhí)行該計算機程序。
圖元緩沖器21把用于至少一組圖元的幾何數(shù)據(jù)存儲作為用于該圖元的屬性數(shù)據(jù)集的一個例子。一組圖元可以是形成在顯示器41的單個屏幕上的一個圖像或者單個對象的圖元的一個集合。向每個圖元分配一個標識號(在下文中被稱為“圖元編號”)作為用以標識圖元的標識信息。圖元編號被包含在屬性數(shù)據(jù)集中。
圖2是一個說明了保存在圖元緩沖器21中的幾何數(shù)據(jù)和分配給該幾何數(shù)據(jù)的圖元編號(PN1,PN2,……)之間的關系的視圖。做為選擇,或者除了說明的例子之外,幾何數(shù)據(jù)可以與標志相關聯(lián)以表示給定的幾何數(shù)據(jù)是否被用于多遍渲染。
當幾何數(shù)據(jù)是所謂的三角形長條數(shù)據(jù)以描述一個三角形形狀時,為在三角形長條中的每個頂點生成幾何數(shù)據(jù)。因此,渲染處理器16向每個頂點的幾何數(shù)據(jù)分配一個圖元編號,并且把它們存儲在圖元緩沖器21中。
圖3用三角形長條數(shù)據(jù)顯示了一個三角形長條的例子。在該圖中的數(shù)字值“0”到“7”指示頂點。就如圖3所示的三角形長條數(shù)據(jù)來說,向頂點0、1、2、……、7中的每一個分配圖元編號。一個類似的圖元緩沖器21也可以被用于三角形葉片。
提供圖元緩沖器21以避免在幾何處理器12和渲染處理器16之間為多遍渲染中的每一遍傳輸幾何數(shù)據(jù)。利用圖元緩沖器21,能夠減少在幾何處理器12和渲染處理器之間的開銷。
盡管在這個實施例中的圖元緩沖器21是在渲染處理器16中提供的,但是也可以獨立于渲染處理器16提供。做為選擇,圖元緩沖器21可以在存儲器13中提供。
多遍控制部分22控制多遍渲染。例如,多遍控制部分22向渲染處理器16中的組件通知應當執(zhí)行Z緩沖繪制、一遍測試和多遍渲染中的哪一個。多遍控制部分22從圖元緩沖器21中讀出將被渲染的圖元的幾何數(shù)據(jù)和用于那些幾何數(shù)據(jù)的圖元編號,并且把它們提供給XYZ裁剪部分23。
在多遍渲染期間,多遍控制部分22在必要時改變幾何數(shù)據(jù)。例如,為了在每一遍中向一個圖元(例如一個多邊形)映射不同的紋理,一個紋理坐標值的換算系數(shù)可以被改變或者變換。
多遍控制部分22在必要時還改變紋理起點的變換坐標數(shù)量。這個改變允許渲染處理器16為每個紋理坐標軸執(zhí)行線性變換。此外,多遍控制部分22在必要時有選擇地把一個頂點的亮度值(R,G,B,A)轉換成為一個固定值。這消除了在例如第二遍或者隨后遍期間在渲染處理器16中重新傳輸一個頂點的相同亮度值的損耗。
XYZ裁剪部分23基于預先提供的裁剪數(shù)據(jù),用從多遍控制部分22提供的幾何數(shù)據(jù)執(zhí)行一個圖元的三維裁剪。裁剪數(shù)據(jù)描述了在顯示器41中的一個顯示區(qū)。裁剪是剪切下超出由裁剪數(shù)據(jù)定義的顯示區(qū)范圍的一個或多個圖元的那部分,或是改變其一部分超出顯示區(qū)范圍的一個或多個圖元的形狀。
下面,更具體地參考圖4和5描述裁剪操作。
圖4顯示了在由頂點坐標(X1,Y1)、(X2,Y2)、和(X3,Y3)描述的一個圖元51和在顯示器41中的一個顯示區(qū)50之間的關系。XYZ裁剪部分23通過在圖元51的一部分超出顯示區(qū)50的范圍時進行裁剪來改變圖元51的形狀。圖5顯示了在具有修改了的形狀的一個圖元52和顯示區(qū)50之間的關系。
如圖5所示,XYZ裁剪部分23改變其一部分超出顯示區(qū)50的范圍的圖元51的形狀。XYZ裁剪部分23然后生成由頂點坐標(X3,Y3)、(X6,Y6)、(X5,Y5)、(X4,Y4)和(X7,Y7)定義的新的圖元52。新的圖元52的圖元編號與在形狀變化之前分配給圖元51的那個圖元編號相同。
XYZ裁剪部分23把裁剪之后的幾何數(shù)據(jù)和圖元編號提供給SU/DDA部分24。
SU/DDA部分24執(zhí)行設置和DDA操作。
設置操作是用于依據(jù)從XYZ裁剪部分23提供的、裁剪之后的幾何數(shù)據(jù),計算被用于DDA操作的初始坐標值和斜率值。
DDA操作是用于依據(jù)在設置操作中計算的初始坐標值和斜率值,在圖元的頂點之間線性插值和在圖元內部插值,以獲得包含形成一個圖元的像素的坐標值(X,Y,Z)、亮度值(R,G,B,A)、和用于紋理映射的紋理坐標值(S,T,Q)在內的數(shù)據(jù)。
就例如如圖5所示的圖元52的例子來說,為陰影線部分中的每一個像素獲得插值數(shù)據(jù)。在如下所述的Z緩沖繪制和該遍測試中,SU/DDA部分24可以僅僅插值這些像素的坐標值。
用于每一個像素的插值數(shù)據(jù)與圖元編號一起被提供給Z測試部分25。
Z測試部分25為Z緩沖繪制和該遍測試執(zhí)行不同的操作。
就Z緩沖繪制來說,Z測試部分25在像素基礎上比較被包含在從SU/DDA部分24提供的插值數(shù)據(jù)中的Z值和被保存在Z緩沖器26中的Z值。Z測試部分25然后依據(jù)比較結果把這些Z值中的任何一個寫入到Z緩沖器26中。例如,它選擇最接近于觀察點的Z值并且把這個Z值寫入到Z緩沖器26中。當選擇了從SU/DDA部分24中提供的Z值時,這個Z值被用來更新在Z緩沖器26中的相關像素的Z值。當選擇了被保存在Z緩沖器26中的Z值時,Z緩沖器26不被更新。
然而,為一個像素利用一個Z緩沖器,必需顯示的其它圖元可以存在于沒有覆蓋整個像素區(qū)域的一個圖元的背景中。就這個方面,為了消除混疊現(xiàn)象,Z測試部分25沒有把這個像素的Z值寫入到Z緩沖器26中。當一個圖元是透明或者半透明的時,由于類似的原因,在Z緩沖器26中沒有寫入Z值。
另一方面,就該遍測試來說,Z測試部分25在像素基礎上比較被保存在Z緩沖器26中的Z值和從SU/DDA部分24提供的插值數(shù)據(jù),以選擇具有與被保存在Z緩沖器26中的那個Z值相同的Z值的插值數(shù)據(jù)。Z測試部分25然后把選擇的插值數(shù)據(jù)以及圖元編號提供給模板測試部分27。如上所述,當Z緩沖器26中沒有存儲的Z值時,Z測試部分25選擇具有最接近于觀察點的Z值的插值數(shù)據(jù),并且把它們以及圖元編號提供給模板測試部分27。
作為Z緩沖繪制的結果,為每一個像素把最接近于觀察點的圖元的Z值寫入到Z緩沖器26中。
可以在子像素基礎上而不是在像素基礎上執(zhí)行這遍渲染,以渲染較高分辨率的圖像。在這種情況下,使用了用于子像素的Z緩沖器。然后在完成子像素的渲染之后減小圖像的大小以獲得實際的像素。圖6顯示了一個其中使用子像素描述了一個3×2像素的矩陣的例子。在圖6中,每一個像素被分成4×4個子像素。在這個例子中,繪制了向上傾斜的直線。當使用典型的像素時,在右下方的像素被確定為一個在其上沒有繪制陰影線的像素。然而,當使用子像素時在一個子像素上繪制了一條陰影線。陰影線因此影響了在右下方的像素。這樣,通過在子像素基礎上寫入Z值,即使當一個像素包含兩個或更多圖元時,也能夠在考慮了所有圖元的同時進行顯示。
利用具有很多存儲空間的Z緩沖器26,除了存儲Z值之外,還可以存儲分配給具有這些Z值的圖元的圖元編號。
模板測試部分27依據(jù)保存在模板緩沖器28中的模板數(shù)據(jù),執(zhí)行模板測試。
結合圖7描述模板測試的概述。
如圖7所示,模板數(shù)據(jù)表示一個不被允許顯示在顯示器41上的不允許區(qū)域53和一個被允許顯示在其上的允許區(qū)域54。依據(jù)這個實施例的模板測試是用于比較例如從Z測試部分25提供的插值數(shù)據(jù)的坐標值和模板數(shù)據(jù)中的坐標值,以確定圖元52是否被顯示在允許區(qū)域54中,即在允許區(qū)域54內是否有插值數(shù)據(jù)。把將被顯示的圖元52的圖元編號提供給可見標志控制部分29。
就多遍渲染來說,把將被顯示的圖元的插值數(shù)據(jù)提供給紋理映射部分31。
模板緩沖器28被配置為存儲模板數(shù)據(jù)和在模板測試部分27提出請求時讀出它們。被保存在模板緩沖器28中的模板數(shù)據(jù)是經(jīng)由一條總線從例如存儲器13中提供的。
借助于XYZ裁剪部分23、Z測試部分25和模板測試部分27,圖元被分組成為包含將被顯示在顯示器41上的像素的圖元、和不被顯示在其上的圖元。
從模板測試部分27中把包含將被顯示在顯示器41上的像素的圖元的圖元編號提供給可見標志控制部分29。
如圖8所示,可見標志控制部分29包含一個地址控制部分61和一個可見標志表62。
可見標志表62依據(jù)圖元把可見標志存儲到地址(NA1,NA2,……),其中可見標志指示圖元是否被顯示在顯示器41上。
這些地址對應于分配給保存在圖元緩沖器21中的圖元數(shù)據(jù)的圖元編號(PN1,PN2,……)。
地址控制部分61初始化可見標志表62,計算可見標志表62中的地址,并且改變可見標志。例如,當為所有圖元完成了Z緩沖繪制(初始化)時,地址控制部分61把可見標志清除為“0”。地址控制部分61然后把從模板測試部分27提供的圖元編號轉換成為可見標志表62中的地址,并且將對應于那些地址的可見標志從“0”改變到“1”。
在其處存儲了“1”值的可見標志中的地址對應于將被顯示在顯示器41上的圖元的圖元編號。此外,在其處包含了“0”值的可見標志的地址對應于沒有將顯示在顯示器41上的像素的圖元的圖元編號。
該地址可以與上述圖元編號相同。
當圖元是如圖9所示的三角形長條時,可見標志表62如圖10所示。在圖9中說明的例子中,沒有為由頂點2、3、和4定義的三角形形成圖元。
更具體地說,在對應于頂點0、1、2、……、7的圖元編號的地址處,存儲用于指示是否進行顯示的可見標志。就三角形長條來說,按從0起的順序讀出用于頂點的幾何數(shù)據(jù)以形成三角形圖元。例如,在讀出用于頂點0和1的幾何數(shù)據(jù)之后,讀取用于頂點2的幾何數(shù)據(jù)。這形成了由頂點0、1和2定義的一個三角形圖元。用于頂點0和1的可見標志為“Not Active(未激活)”,而且頂點0和1不受可見標志的影響。
在如圖10所示的例子中,具有對應于地址NA4的圖元編號4的頂點4沒有被顯示。這意味著在在渲染期間讀出頂點4的幾何數(shù)據(jù)時,頂點2、3和4沒有形成三角形。它不意味著沒有形成與頂點4有關的三角形。換句話說,沒有形成具有頂點2、3、和4的三角形,而形成了具有頂點3、4和5的三角形、以及具有頂點4、5和6的三角形。類似的可見標志表62也可以被用于三角形葉片。
可見標志可以是單個值或者一個二進制值,或者它可以是一個整數(shù)。地址控制部分61在這種場合下連續(xù)地把從模板測試部分27中提供的像素的圖元編號轉換成為可見標志表62中的一個地址,并且連續(xù)地遞增對應于相關地址的可見標志的值。因此,就每個圖元來說,可見標志具有一個基于將被顯示在顯示器41上的像素數(shù)目的值。
由可見標志控制部分29進行的可見標志的寫入尺寸為幾個比特。與在幀緩沖器32中寫入相比較,較不頻繁地導致分頁。因此,能夠以較高的速度進行這遍測試。
圖元編輯部分30是本發(fā)明中的編輯裝置的一個例子。圖元編輯裝置30依據(jù)可見標志控制部分29中的可見標志表62,檢查將不會被顯示在顯示器41上的圖元的圖元編號。然后,確保沒有從圖元緩沖器21中讀出對應于所標識的圖元編號的幾何數(shù)據(jù)。
例如,圖元編輯部分30檢查對應于在其處可見標志表62中的可見標志指示“0”的地址的圖元編號。圖元編輯部分30確保在多遍渲染期間沒有從圖元緩沖器21中讀出對應于這個圖元編號的圖元。當向在圖元緩沖器21中的幾何數(shù)據(jù)分配了指示該數(shù)據(jù)是否被用于多遍渲染的標志時,這個標志被用來防止在多遍渲染期間讀出該圖元??梢詮膱D元緩沖器21中刪除該幾何數(shù)據(jù)。
紋理映射部分31以對應于遍數(shù)的循環(huán)數(shù)目執(zhí)行渲染。紋理映射部分31,例如在每一遍中把不同的紋理映射到同一個圖元。此映射渲染將被顯示在幀緩沖器32中的圖像。
幀緩沖器32包含一個用于顯示器41的存儲空間。以這樣一種方式把像素繪制在該存儲空間上,以使像素填充在顯示器41中的二維平面。在幀緩沖器32中繪制的圖像以幀為單位被提供給顯示器41,并且通過顯示控制器40在其上被顯示為圖像信號。
接下來,具體描述具有上述配置的圖像處理器1的操作,尤其是由渲染處理器16實現(xiàn)的渲染方法。
假定作為幾何處理器12執(zhí)行的幾何處理的結果的幾何數(shù)據(jù)作為屬性數(shù)據(jù)集的一個例子被保存在渲染處理器16中的圖元緩沖器21中。
圖11是一個說明了這種渲染方法的示意圖。
渲染處理器16為保存在圖元緩沖器21中的所有幾何數(shù)據(jù)執(zhí)行Z緩沖繪制,并且在Z緩沖器中寫入接近于觀察點的Z值(步驟S10)。在完成Z緩沖繪制之后,渲染處理器16清除可見標志控制部分29中的可見標志表62以把所有可見標志設置為“0”(步驟S20)。然后,執(zhí)行該遍測試,并且基于這遍測試的結果改變在可見標志表62中的可見標志(步驟S30)。在這遍測試期間,向可見標志表62提供指示圖元是那些將被顯示在顯示器41上的圖元還是那些不被顯示在其上的圖元的標志。渲染處理器16檢查可見標志表62,并且從保存在圖元緩沖器21中的幾何數(shù)據(jù)中刪除不被顯示在顯示器41上的那些圖元的幾何數(shù)據(jù)。換句話說,相關圖元被刪除了(步驟S40)。在刪除圖元之后,渲染處理器16為被顯示在顯示器41上的圖元執(zhí)行多遍渲染(步驟S50)。
這樣,能夠進行渲染而沒有任何損耗。
接下來,更具體地描述在圖11中的處理步驟。
圖12顯示了在Z緩沖繪制期間的過程,而圖13顯示了用于該過程的一個數(shù)據(jù)流。
在Z緩沖繪制期間,多遍控制部分22從圖元緩沖器中讀取幾何數(shù)據(jù)以及圖元編號,并且把它們提供給XYZ裁剪部分23(步驟S11)。XYZ裁剪部分23依據(jù)從多遍控制部分22中提供的圖元數(shù)據(jù)執(zhí)行圖元的裁剪。XYZ裁剪部分23剪切或者整形超出顯示器41的顯示區(qū)50范圍的圖元的那部分。剪切或者整形操作的結果被反映給幾何數(shù)據(jù)(步驟S12)。裁剪之后的幾何數(shù)據(jù)以及圖元編號被提供給SU/DDA部分24。用于在裁剪期間被除去的圖元那部分的幾何數(shù)據(jù)沒有被提供給SU/DDA部分24。
SU/DDA部分24依據(jù)裁剪之后的幾何數(shù)據(jù)執(zhí)行插值,以創(chuàng)建形成圖元的像素的坐標值(步驟S13)。SU/DDA部分24把生成的坐標值作為插值數(shù)據(jù)連同圖元編號一起提供給Z測試部分25。
Z測試部分25使用從SU/DDA部分24提供的用于該像素的插值數(shù)據(jù)執(zhí)行Z測試(步驟S14)。Z測試部分25從Z緩沖器26中讀取相關像素的Z值。Z測試部分25然后把該Z值與包含在插值數(shù)據(jù)中的Z值進行比較以選擇較接近于觀察點的那個Z值。當從Z緩沖器26讀取的Z值較接近于觀察點時,Z緩沖器26保持不變(步驟S14未被更新),而當包含在插值數(shù)據(jù)中的Z值較接近于觀察點時Z緩沖器26中的Z值被更新(步驟S14更新,步驟S15)。
為保存在圖元緩沖器21中的所有幾何數(shù)據(jù)執(zhí)行上述操作順序(步驟S16)。這樣就完成了Z緩沖繪制。
在Z緩沖繪制完成之后,Z緩沖器26為每一個像素包含最接近于觀察點的圖元的Z值。應當注意到,當圖元沒有填充整個像素區(qū)域或者當圖元是透明或半透明的時,在該像素中沒有寫入Z值。
圖14和15是用來描述在該遍測試期間的操作的視圖。就該遍測試來說,多遍控制部分22從圖元緩沖器中讀出幾何數(shù)據(jù)以及圖元編號,并且把它們提供給XYZ裁剪部分23(步驟S31)。XYZ裁剪部分23依據(jù)從多遍控制部分22中提供的幾何數(shù)據(jù)裁剪圖元,以剪切或者整形超出顯示器41的顯示區(qū)范圍的那部分圖元(步驟S32)。XYZ裁剪部分23然后把剪切或者整形操作的結果反映給幾何數(shù)據(jù)。裁剪幾何數(shù)據(jù)連同圖元編號一起被提供給SU/DDA部分24。用于由裁剪部分剪切的那部分圖元的幾何數(shù)據(jù)沒有被提供給SU/DDA部分24。
SU/DDA部分24依據(jù)裁剪之后的幾何數(shù)據(jù)執(zhí)行插值,以創(chuàng)建形成圖元的像素的坐標值(步驟S33)。SU/DDA部分24把生成的坐標值作為插值數(shù)據(jù)連同圖元編號一起提供給Z測試部分25。
Z測試部分25執(zhí)行用于這遍測試的操作。在用于這遍測試的操作中,Z測試部分25把包含在從SU/DDA部分24提供的插值數(shù)據(jù)中的Z值和保存在Z緩沖器26中的Z值進行比較。Z測試部分25為相互匹配的那些Z值把插值數(shù)據(jù)和圖元編號提供給模板測試部分27(步驟S34匹配)。當這些值不匹配時,渲染處理器16確定是否對保存在圖元緩沖器21中的所有幾何數(shù)據(jù)都完成了這遍測試(步驟S34未匹配,步驟S37)。
就其Z值沒有被保存在Z緩沖器26中的那些像素來說,具有最接近于觀察點的Z值的插值數(shù)據(jù)和圖元編號被提供給模板測試部分27。
模板測試部分27對從Z測試部分25提供的插值數(shù)據(jù)執(zhí)行模板測試(步驟S35)。作為模板測試的結果,當由插值數(shù)據(jù)指示的像素位于允許區(qū)域54中時,這個像素將被顯示。因此,圖元編號被提供給可見標志控制部分29(步驟S35;被顯示)。當由插值數(shù)據(jù)指示的像素在不允許區(qū)域53中時,渲染處理器16確定是否對保存在圖元緩沖器21中的所有幾何數(shù)據(jù)完成了這遍測試(步驟S35未被顯示,步驟S37)。
可見標志控制部分29響應于從模板測試部分27中提供的圖元編號,更新在對應于該圖元編號的地址處的可見標志為“1”(步驟S36)。
對保存在圖元緩沖器21中的所有幾何數(shù)據(jù)執(zhí)行上述操作(步驟S37)。這樣就完成了該遍測試。
Z緩沖繪制和這遍測試被用來分類出將不被顯示在顯示器41上的圖元。更具體地說,XYZ裁剪部分23裁剪和分離出超出顯示區(qū)50的范圍的那部分圖元。Z測試部分25通過Z測試分類出被隱藏在其它圖元后面的圖元。模板測試部分27通過模板測試分類出在不允許區(qū)域53中的圖元。
在可見標志控制部分29中對應于如上所述被分類出的圖元的圖元編號的地址處的可見標志具有“0”值。這個圖元沒有被顯示在顯示器41上。
換句話說,XYZ裁剪部分23、Z測試部分25、和模板測試部分27用來把圖元分類(揀選)成為將被顯示在顯示器41上的圖元和不會被顯示在其上的圖元。僅僅對于將被顯示在顯示器上的那些圖元,在可見標志控制部分29中的可見標志被設置為“1”。對于被XYZ裁剪部分23、Z測試部分25、和模板測試部分27中的至少一個確定為是將不被顯示的圖元的那些圖元來說,可見標志保持為“0”。
執(zhí)行一遍與這遍測試不同的所述Z測試。然而,當Z緩沖器26具有很多存儲空間時可以用同一遍來執(zhí)行Z測試。在這種情況下,就Z測試來說,Z值和該Z值的圖元編號被寫入Z緩沖器26中,以標識最接近于觀察點的那個圖元。作為Z測試的結果,有可能使用保存在Z緩沖器26中的圖元編號分類圖元。Z緩沖繪制和該遍測試能夠用單遍實現(xiàn)。
在這個實施例中,可見標志表62中的可見標志在步驟S30被設置為“0”,以執(zhí)行該遍測試。然而,這個步驟可以被刪去。在這種情況下,Z緩沖繪制和該遍測試被用來把圖元分類成為將被顯示在顯示器41上的圖元和不會被顯示在其上的圖元,以及把可見標志設置為“0”或者“1”。
做為選擇,XYZ裁剪部分22、Z測試部分25、和模板測試部分27中的每一個都可以傳輸被確定為不會被顯示在顯示器41上的圖元的分類編號給可見標志控制部分29。
渲染處理器16依據(jù)可見標志控制部分29中的可見標志表62,防止在多遍渲染中讀出保存在圖元緩沖器21中的幾何數(shù)據(jù)的、將不會被顯示在顯示器41上的圖元的幾何數(shù)據(jù)(步驟S40)。圖16是一個被用來描述由渲染處理器16在刪除圖元過程中執(zhí)行的操作的視圖。
圖元編輯部分30使用可見標志控制部分29中的可見標志表62中的可見標志,檢查將被顯示在顯示器41上的圖元和將不會被顯示在顯示器上的圖元。例如,在圖8的可見標志表62中,圖元編號對應于在其處可見標志被設置為“0”的地址的圖元是不會被顯示的那些圖元。圖元編號對應于在其處可見標志被設置為“1”的地址的圖元是將被顯示的那些圖元。
圖元編輯部分30從圖元緩沖器21中刪除被確定為將不會被顯示的那些圖元的幾何數(shù)據(jù)。
這確保在多遍渲染期間僅僅處理用于那些將被顯示在顯示器41上的圖元的幾何數(shù)據(jù),以減小與多遍渲染有關的渲染處理器的負載。
例如,就一個三角形長條來說,因為使用了所有幾何數(shù)據(jù),所以不能刪除幾何數(shù)據(jù)。因此,可以向所有幾何數(shù)據(jù)添加標志以指示它們是否被用于多遍渲染。這些標志被用來標識那些將不會被顯示在顯示器41上的圖元。當然,這種標志可以被用于除了三角形長條之外的那些,而不必刪除幾何數(shù)據(jù)。
圖17和18是被用來描述用于多遍渲染的操作的視圖。
就多遍渲染來說,多遍控制部分22從圖元緩沖器中讀出幾何數(shù)據(jù)以及圖元編號,并且把它們提供給XYZ裁剪部分23(步驟S51)。
XYZ裁剪部分23依據(jù)從多遍控制部分22中提供的幾何數(shù)據(jù)裁剪圖元,以剪切或者整形超出顯示器41的顯示區(qū)范圍的那部分圖元(步驟S52)。XYZ裁剪部分23然后把剪切或者整形操作的結果反映給幾何數(shù)據(jù)。裁剪的幾何數(shù)據(jù)連同圖元編號一起被提供給SU/DDA部分24。
依據(jù)裁剪之后的幾何數(shù)據(jù)執(zhí)行插值,以創(chuàng)建包含形成圖元的像素的坐標值、亮度值和紋理坐標值的插值數(shù)據(jù)(步驟S53)。SU/DDA部分24把生成的插值數(shù)據(jù)連同圖元編號一起提供給Z測試部分25。
Z測試部分25在像素基礎上把包含在從SU/DDA部分24提供的插值數(shù)據(jù)中的Z值和保存在Z緩沖器26中的Z值進行比較。Z測試部分25把用于相互匹配的那些Z值的插值數(shù)據(jù)和圖元編號提供給模板測試部分27(步驟S54匹配)。當那些值不匹配時,操作轉到步驟S57。
對于其Z值沒有被保存在Z緩沖器26中的那些像素來說,具有最接近于觀察點的Z值的插值數(shù)據(jù)和圖元編號被提供給模板測試部分27。
模板測試部分27對從Z測試部分25提供的插值數(shù)據(jù)執(zhí)行模板測試(步驟S55)。作為模板測試的結果,當由插值數(shù)據(jù)指示的像素位于允許區(qū)域54中時,這個像素將被顯示。因此,插值數(shù)據(jù)被傳輸?shù)郊y理映射部分31(步驟S55被顯示)。當由插值數(shù)據(jù)指示的像素位于不允許區(qū)域53中時,操作轉到步驟S57。
紋理映射部分31依據(jù)從模板測試部分27中提供的插值數(shù)據(jù)在幀緩沖器32中繪制一個圖元(步驟S56)。這樣就完成了對一個圖元的繪制。
渲染處理器16執(zhí)行步驟S54到S56的操作,直到為形成相關圖元的所有像素完成繪制為止(步驟S57)在完成一個圖元的繪制之后,確定是否完成了其它圖元的繪制(步驟S58)。如果還有一個其繪制沒有完成的圖元,則操作轉回到步驟S51(步驟S58N)。當為所有圖元完成了繪制(步驟S58Y)時,確定是否以預定遍數(shù)完成了繪制(步驟S59)。如果沒有達到預定的遍數(shù),則操作轉回到步驟S51(步驟S59N)。如果為所有圖元完成了預定遍數(shù),則終止多遍渲染(步驟S59Y)。
作為上述操作的結果,在幀緩沖器32中繪制了將被顯示在顯示器41上的二維圖像(參見圖1)。然后,顯示控制器40把在幀緩沖器32中繪制的二維圖像轉換成為一個圖像信號,并且把該信號傳輸?shù)斤@示器41。顯示器41顯示該圖像信號。
從上可知,依據(jù)這個實施例中的圖像處理器1,在多遍渲染中從圖元緩沖器21中讀出的幾何數(shù)據(jù)被限制在需要的最小量,這減小了與渲染有關的負載。
做為選擇,渲染處理器16可以具有如圖19所示的配置。
在圖19中的渲染處理器16與在圖1中的渲染處理器的不同之處在于在Z測試部分25之前提供了一個覆蓋率計算部分33。
覆蓋率計算部分33是用于計算由正被渲染的一給定圖元覆蓋的子像素的數(shù)目與組成單個像素的子像素總數(shù)的比值(覆蓋率)。可以使用例如在日本公開專利2002-140722(“Apparatus and methodfor rendering antialiased image”,對應于美國公開專利2002/101435A1)中公開的一種設備和方法獲得該覆蓋率。圖20是一個被用來描述在一個像素中圖元的覆蓋率的視圖。在圖20中,3個圖元a、b、和c覆蓋一個像素。就圖元a、b、和c來說,這些圖元在一個像素中的覆蓋率為2∶3∶7。
渲染處理器18依據(jù)該比值混合圖元a、b和c,以獲得這個像素的一個代表圖元。
由于為該像素渲染了圖元a、b和c,所以就這個像素來說,阻止Z緩沖器26被圖元a、b和c更新。具有上述特征的渲染處理器16有效地減少了鋸齒狀圖形。因此,這種方法還能夠被用于消除混疊現(xiàn)象的目的。
利用其中為每個像素計算覆蓋率的這種方法,僅僅在其中覆蓋率等于1(不透明或者在圖元內)的區(qū)域中進行Z緩沖。就其中覆蓋率小于1的邊界來說,不執(zhí)行Z緩沖。考慮到此,與使用Z緩沖器這個事實無關地執(zhí)行Z排序(Z值的排序),以便消除邊界的不自然性。按照從最遠到最近的次序把這些值寫入在幀緩沖器32中。在這種場合下,刪除被隱藏在其它圖元后面的那些圖元。
雖然已經(jīng)因此連同多遍渲染的例子描述了本發(fā)明,但是可以為使用紋理僅僅渲染一遍一個給定圖元的典型渲染執(zhí)行該遍測試,以僅僅渲染那些將被顯示在顯示器41上的圖元。
從上可知,依據(jù)本發(fā)明,與傳統(tǒng)的方法相比,能夠顯著地減少在渲染中、尤其是在多遍渲染中執(zhí)行的操作數(shù)量。
權利要求
1.一種渲染處理單元,用于在一個二維屏幕上渲染三維圖像,該三維圖像中的每一個都是由多個圖元組成的,該渲染處理單元包含一個圖元緩沖器,在其中與相關圖元相關聯(lián)地寫入了多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示多個圖元之一的屬性;以及一個測試器,其把所述圖元緩沖器中的多個屬性數(shù)據(jù)集相互進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和將不被顯示在二維屏幕上的第二組圖元;該渲染處理單元被配置為渲染第一組圖元和不渲染第二組圖元,其中第一組圖元和第二組圖元由所述測試器分類輸出。
2.如權利要求1所述的渲染處理單元,其中被寫入所述圖元緩沖器中的圖元的數(shù)目至少等于適合于一個在二維屏幕上構建的屏幕上的三維圖像的圖元數(shù)目。
3.如權利要求1所述的渲染處理單元,進一步包含依據(jù)用于一個圖元的已知屬性數(shù)據(jù)集來插值像素的插值裝置,所述測試器通過把作為像素插值的結果而獲得的一個新的屬性數(shù)據(jù)集增加到可相互進行比較的屬性數(shù)據(jù)集中,在像素基礎上對圖元進行分類。
4.如權利要求3所述的渲染處理單元,其中每一個像素被分成預定數(shù)目的子像素,所述插值裝置在要對至少一個子像素進行渲染時,依據(jù)用于一個圖元的已知屬性數(shù)據(jù)集插值這些子像素,所述測試器通過把作為子像素插值的結果而獲得的一個新的屬性數(shù)據(jù)集增加到可相互進行比較的屬性數(shù)據(jù)集中,在子像素基礎上對圖元進行分類。
5.如權利要求4所述的渲染處理單元,進一步包含覆蓋率計算裝置,其計算由正被渲染的一個給定圖元覆蓋的子像素的數(shù)目與組成單個像素的子像素總數(shù)的比值,并且根據(jù)由所述覆蓋率計算裝置計算的結果確定用于主題像素的屬性數(shù)據(jù)集。
6.如權利要求1所述的渲染處理單元,其中當在圖元的邊界上的像素處繪制了兩個或更多圖元時,所述測試器不分類這些像素。
7.如權利要求1所述的渲染處理單元,其中所述圖元緩沖器中的每個屬性數(shù)據(jù)集包含表示一個相關圖元在三維圖像中的位置的位置信息,以及所述測試器比較包含在屬性數(shù)據(jù)集中的位置信息,以把圖元分類成為第一組和第二組圖元,其中第一組圖元是通過二維屏幕最接近于一個觀察者的視點的圖元,而第二組圖元是除被分類成為第一組圖元的那些圖元之外的其它圖元。
8.如權利要求1所述的渲染處理單元,其中每個圖元適于疊加在包含允許區(qū)域和不允許區(qū)域的模板數(shù)據(jù)上,其中該容許區(qū)域被允許顯示在二維屏幕上,而不允許區(qū)域則不被允許顯示在二維屏幕上,所述模板數(shù)據(jù)表示將被顯示的一個或者多個圖像的透明度和形狀,所述測試器把圖元分類成為第一和第二組圖元,其中第一組圖元是其至少一部分被疊加在模板數(shù)據(jù)的允許區(qū)域或者不允許區(qū)域上的圖元,第二組圖元是除了被分類成為第一組圖元的那些圖元之外的其余圖元。
9.如權利要求1所述的渲染處理單元,其中所述測試器在一個在渲染過程中被參考的預定的可見標志表中記錄一個用于描述一個給定圖元是第一組圖元還是第二組圖元的標志,該標志被與用于該給定圖元的屬性數(shù)據(jù)集相關聯(lián)地記錄。
10.如權利要求9所述的渲染處理單元,其中該標志是一個就每個圖元具有不同值的數(shù)字標志,并且該標志的值依據(jù)由正被顯示在二維屏幕上的圖元覆蓋的像素數(shù)目而被更新。
11.如權利要求9所述的渲染處理單元,進一步包含編輯裝置,其適于參考記錄在可見標志表中的用于相關圖元的標志,限制從圖元緩沖器中為第二組圖元讀出屬性數(shù)據(jù)集。
12.如權利要求11所述的渲染處理單元,其中所述編輯裝置適于從所述圖元緩沖器中刪除用于被分類成為第二組圖元的那些圖元的屬性數(shù)據(jù)集。
13.一個圖像處理器,包含一個幀緩沖器,其大小等于一個二維屏幕中的顯示區(qū)的大?。灰粋€第一處理器,適于執(zhí)行對描述一個三維圖像的多個圖元的幾何處理以生成關于該三維圖像的幾何數(shù)據(jù);一個第二處理器,依據(jù)生成的幾何數(shù)據(jù)在所述幀緩沖器中渲染對應于該三維圖像的二維圖像;以及一個控制器,用于在顯示區(qū)中顯示所渲染的二維圖像。所述第二處理器把多個屬性數(shù)據(jù)集互相進行比較,以把該多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不被顯示在二維屏幕上的第二組圖元,以及在所述幀緩沖器中渲染由第一組圖元而不是第二組圖元組成的二維圖像,每個屬性數(shù)據(jù)集表示由從所述第一處理器中獲得的幾何數(shù)據(jù)規(guī)定的多個圖元中的一個圖元的屬性。
14.如權利要求13所述的圖像處理器,其中在所述第一處理器和所述第二處理器之間提供一個緩沖存儲器,由所述第一處理器生成的幾何數(shù)據(jù)經(jīng)由該緩沖存儲器被傳輸?shù)剿龅诙幚砥鳌?br> 15.如權利要求13所述的圖像處理器,進一步包含一個圖像接受機構,其從一個外部設備中接受將被處理的三維圖像,并把它們提供給所述第一處理器。
16.一種渲染方法,包含由一個用于在二維屏幕上渲染三維圖像的設備按此順序執(zhí)行的一遍測試和一遍渲染,三維圖像中的每一個都是由多個圖元組成的,并且該設備具有一個在其中寫入了形成圖像的圖元的圖元緩沖器,該遍測試用于在一個圖元緩沖器中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,以及用于相互比較該多個寫入的屬性數(shù)據(jù)集,以把該多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和將不被顯示在二維屏幕上的第二組圖元,其中每個屬性數(shù)據(jù)集表示組成這些三維圖像的多個圖元中的一個圖元的屬性,該遍渲染用于從圖元緩沖器中讀出第一組圖元而不是第二組圖元以渲染讀取的第一組圖元,其中第一組圖元和第二組圖元是在該遍測試中被分類出的。
17.如權利要求16所述的渲染方法,其中該設備兩次或多次循環(huán)地執(zhí)行該遍渲染以對同一個圖元兩次或多次地渲染不同的紋理。
18.一種安裝在一個計算機上的半導體設備,其中該計算機連接到一個具有二維屏幕的顯示器,該半導體設備適于在計算機上建立和計算機的其它組件協(xié)同操作的下列功能部件,該功能部件包含一個圖元緩沖器,在其中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示組成這些三維圖像的多個圖元之一的屬性;一個測試器,其把圖元緩沖器中的多個屬性數(shù)據(jù)集相互進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不被顯示在二維屏幕上的第二組圖元;以及渲染處理裝置,用于渲染第一組圖元而不是第二組圖元,以生成一個將被顯示在二維屏幕上的二維圖像,其中該第一組圖元和第二組圖元是由測試器分類出的。
19.一個用于指示一臺計算機執(zhí)行下列任務的計算機程序,該計算機連接到一個在其中寫入了用于形成圖像的圖元的圖元緩沖器、以及一個具有二維屏幕的顯示器上,該任務包含在圖元緩沖器中與相關圖元相關聯(lián)地寫入多個屬性數(shù)據(jù)集,其中每個屬性數(shù)據(jù)集表示組成這些三維圖像的多個圖元之一的屬性;把在圖元緩沖器中的多個屬性數(shù)據(jù)集互相進行比較,以把多個圖元分類成為將被顯示在二維屏幕上的第一組圖元和不被顯示在二維屏幕上的第二組圖元;以及渲染第一組圖元而不是第二組圖元,以生成一個將被顯示在二維屏幕上的二維圖像,其中該第一組圖元和第二組圖元是被分類出的。
20.一種計算機可讀存儲介質,其中存儲了如權利要求19所述的計算機程序。
全文摘要
提供了一個用其能夠減少渲染數(shù)量的圖像處理器及其組件,以及一種渲染方法。依據(jù)在一個圖元緩沖器中的關于多個圖元的數(shù)據(jù),多個圖元被一個XYZ裁剪部分、一個Z測試部分、和一個模板測試部分分類成為將被顯示在一個顯示器上的第一組圖元和將不被顯示在其上的第二組圖元。在一個幀緩沖器中使用在圖元緩沖器中的用于第一組圖元的數(shù)據(jù)繪制一個二維圖像。
文檔編號G06T15/40GK1527990SQ0280911
公開日2004年9月8日 申請日期2002年11月22日 優(yōu)先權日2001年11月27日
發(fā)明者佐佐木伸夫 申請人:索尼計算機娛樂公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
什邡市| 武胜县| 台南县| 隆回县| 邹城市| 西昌市| 民权县| 阳信县| 西贡区| 胶南市| 商南县| 区。| 星座| 调兵山市| 邵武市| 寻乌县| 怀柔区| 哈巴河县| 上犹县| 福州市| 云林县| 青神县| 华池县| 晋江市| 仁寿县| 陇西县| 陇川县| 甘肃省| 四川省| 庆城县| 习水县| 通许县| 龙陵县| 东阿县| 山东省| 临漳县| 分宜县| 上思县| 越西县| 阳西县| 邵阳市|