專利名稱:部分邊界框割截的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于電腦相關(guān)或游戲相關(guān)的繪圖系統(tǒng),特別是關(guān)于在電腦或游戲系統(tǒng)的屏幕空間(screen space)中彩現(xiàn)(rendering)影像,其中影像是以繪元(如三角形)裝置(means Of graphics primitives)來彩現(xiàn)(rendering)。
背景技術(shù):
高速繪圖系統(tǒng)都希望能以簡單且快速的方式來對顯示于緩沖區(qū)中的像素及其屬性做運算,其中一種方式為設計一種只處理邊線的處理引擎,每一個邊線都可以用邊線函式ax+by+c=0來表示。這些邊線定義了繪元(graphics primitive)(如三角形)的邊界(boundaries),繪元內(nèi)是根據(jù)邊線的屬性與圖元的平面導向來被涂布;此處理引擎被設計來同時處理許多邊線函式,因此在具有大量繪元的景像上可以達到很高的產(chǎn)能,以下描述是以可達成這樣的邊線函式處理為前提。然而,在邊線處理引擎能運作前,這些邊緣函式還需要被設定,才能交給處理引擎。
在針對處理引擎來設定邊線函式時,可以是以定點(fixed point)或浮點(floating point)計算來得出邊線的a、b與c參數(shù),浮點數(shù)可被用來表達大范圍的數(shù)值,并且有助于表示繪元的頂點,如遍及大范圍的三角形,然而浮點計算容易發(fā)生錯誤,這是由于在浮點數(shù)中小數(shù)部份的大小為固定,因而有所限制。例如,浮點數(shù)(如遵照IEEE標準(IEEE 754))的格式為1.8.23,其中1代表其正負號(sign)比特,8代表其指數(shù)部份的比特長度,而23代表小數(shù)部份的比特長度。由于小數(shù)部份為固定大小,浮點計算時會使得計算的數(shù)值的精準度不會永遠一樣,例如,假設兩個精準度為p比特的浮點數(shù)被相加,其總和便需要p+1比特的精準度,根據(jù)標準,需要使用舍去法則來將總和轉(zhuǎn)回p比特的精準度。
換言之,只要計算結(jié)果在定點數(shù)系統(tǒng)的界限內(nèi),定點數(shù)不易遇到浮點數(shù)這種相同精準度的問題,這樣的數(shù)值可以是以15.5的格式,其中15為整數(shù)部份的比特長度,并且5表是小數(shù)點后的比特數(shù)。然而,在數(shù)值超出定點教的最大范圍時,定點數(shù)便無法呈現(xiàn)該數(shù)值。
如圖1所示,一頂點VO 12為數(shù)個圖元所共有(三角形14、三角形16),這是常常發(fā)生在二維度屏幕(screen)的顯示區(qū)10內(nèi)。如果浮點數(shù)被用于設定圖元的邊線函數(shù)18、20、22、24(ax+by+c=0)時,對共同頂點的浮點計算的精確度便會發(fā)生問題;這問題便是圖1中的共同頂點12,會變成在圖2中的多個不同頂點30、32,而在彩現(xiàn)影像中留下一個洞“(hole)”或分離的頂點。如果在連線函式的計算中只使用定點數(shù),則所有邊線函式與邊界框8交會處19、21、23、25便被需要被判斷,邊界框8代表定點數(shù)的最大范圍,這些交會處則會被用來設定邊線函式,如此參數(shù)a、b、c便會在定點數(shù)的范圍內(nèi),雖然這樣的方法不會有浮點數(shù)在計算上不精確的問題,在繪圖硬件上卻顯得昂貴。當有大量繪元散布在大于邊界框的范圍時,許多的交界處會需要被計算,因此需要更有效的方式來記算邊線函式,這種方式能夠處理散布在大范圍的繪元,來避免在彩現(xiàn)二維度影像時留下洞來。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種部份邊界框割截,對于僅有邊線在屏幕的顯示區(qū)中的圖元,采以浮點計算來設定其邊線函式,因此不會有頂點受到浮點精確度的影響。對于兩頂點都落在定點數(shù)系統(tǒng)邊界內(nèi)的邊線,其邊界函式的設定會被以定點來計算。只有一頂點位在邊界框外而另一頂點位在顯示區(qū)內(nèi)的邊線,則需要被判斷其交會處,交會處會被對應到網(wǎng)格(grid)并且一定點數(shù)的計算會被用在邊線函式的設定;這樣能確保任何被共用的頂點不會變成多個頂點,使得顯示的影像中留下洞。
本發(fā)明的一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有顯示共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含以定點數(shù)形成交會于各圖元頂點的線的邊線函式,其中該定點數(shù)是在一邊界框內(nèi)或在該邊界框上,該邊界框界定該浮點數(shù)的邊界;以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
其中上述的位于該邊界框上的定點數(shù)是在交會于頂點的線與邊界框相交時被使用。
其中上述的被形成的邊線函數(shù)具有ax+by+c=0的形式;并且其中系數(shù)a、b與c是定點數(shù)。
本發(fā)明一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的線的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含對被交會的該共用頂點為不顯示的各圖元以浮點數(shù)形成交會于該共用頂點的線的邊線函式;對被交會的該共用頂點落入顯示區(qū)的各圖元以定點數(shù)形成交會于該共用頂點的線的邊線函式;以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
當該共用頂點落入顯示區(qū),該邊線函數(shù)的形成包含使用位于一邊界框內(nèi)或該邊界框上的定點數(shù)來做為該邊線函式的參數(shù)。
其中上述的位于該邊界框上的該定點數(shù)是在一圖元的一頂點位于該邊界框外時被使用;以及其中位于該邊界框上的該定點數(shù)是該圖元的該線與該邊界框的交會處。
其中上述的邊界框界定該定點數(shù)的范圍;并且其中以浮點數(shù)形成邊線函數(shù)的步驟包含沿邊線函式縮放該被形成的邊線函數(shù),使得被形成的該邊線函數(shù)能夠被以定點數(shù)來表示。
本發(fā)明一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的線的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含判斷共用頂點是否位于影像的顯示部份;如果該共用頂點落入顯示區(qū),則判斷該復數(shù)個繪元中是否有至少一個其他頂點在一邊界框之內(nèi)或之外,其中該邊界框圍住該影像的該顯示部份,并且該邊界框界定了一定點數(shù)系統(tǒng)的范圍;如果該共用頂點為不顯示,并且至少一個其他頂點被判斷定位該邊界框之外,則計算具有其他該頂點在該邊界框外的該圖元與該邊界框交會處的該頂點;將包含該交會頂點與該共用頂點的其他頂點對應一設定在該邊界框內(nèi)的網(wǎng)格,用以將頂點以定點數(shù)來表示;以及使用包含該交會頂點與該共用頂點的該定點數(shù)來形成該繪元的邊線函數(shù);如果該共用頂點落入顯示區(qū),并且該繪元的其他頂點被判斷是在邊界框內(nèi),則將該共用頂點與其他頂點對應一設定在該邊界框內(nèi)的網(wǎng)格,用以將頂點以定點數(shù)來表示,并且使用包含該交會頂點與該共用頂點的該定點數(shù)來形成該繪元的邊線函數(shù);如果該共用頂點為不顯示,則使用浮點數(shù)來設定該圖元的該達線函式,并且沿遠線函式縮放該遠線函式以具有在該邊界框內(nèi)的定點數(shù)的參數(shù);以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
其中上述的繪元是三角形。
其中上述的邊線參數(shù)的形成包含計算一邊線函式ax+by+c=0的參數(shù)a、b與c。
本發(fā)明的一優(yōu)點為,除非有一顯示的共用頂點與至少一個具有該共用頂點的繪元有其他頂點在邊界區(qū)外,否則不需要去計算交會處的頂點,如此便會大幅度地降低為了避免共用頂點分離所做的運算。
為進一步說明本發(fā)明的具體技術(shù)內(nèi)容,以下結(jié)合實施例及附圖詳細說明如后,其中圖1是舉例了位于顯示區(qū)中具有共用頂點的繪元;圖2顯示了當一共用頂點落入顯示區(qū)時,在已知技術(shù)中以浮點數(shù)來計算所會產(chǎn)生的問題;圖3顯示了共用頂點落入顯示區(qū),并且圖元的大小在邊界框內(nèi)的情形;圖4顯示了共用頂點為不顯示的情形;圖5顯示了共用頂點落入顯示區(qū),并且圖元的大小超出邊界框內(nèi)的情形;以及圖6至圖7是顯示了本發(fā)明的一具體實施例的方法。
具體實施例方式
本發(fā)明在此所探討的方向為一種部份邊界框割截,為了能徹底地了解本發(fā)明,將在下列的描述中提出詳盡的結(jié)構(gòu),顯然地,本發(fā)明的施行并未限定于相關(guān)的技術(shù)者所熟悉的特殊細節(jié)。另一方面,眾所周知的組成或制程步驟并未描述于細節(jié)中,以避免造成本發(fā)明不必要的限制;本發(fā)明的較佳實施例會詳細描述如下,然而除了追些詳細描述之外,本發(fā)明還可以廣泛地拖行在其他的實施例中,且本發(fā)明的范圍不受限定,其以之后的申請專利范圍為準。
在此有數(shù)種情形需要被考慮。
第一種如圖3所示,共用頂點Vo 12是位于要被彩現(xiàn)的影像的顯示部份中,并且其他頂點34、36、38、40是位于邊界框8內(nèi)并且在顯示區(qū)10之外。在這情形下,頂點12、34、36、38、40被指定為定點數(shù),并且這些點是對應設定在邊界框8內(nèi)的網(wǎng)格,這些因頂點對應所產(chǎn)生的定點數(shù)會被用來設定圖元14、16的邊界的邊線函式18、20,22,24、42、44(ax+by+c=0)。
第二個情形如圖4所示,共用頂點Vo 12并未位于顯示區(qū)10中,浮點數(shù)被指定給頂點34、36、38、40,以用來設定邊線18、20、22、24,邊線18、20、221、24是繪元14、16的邊界,其中頂點的x、y的座標被用來計算邊線函數(shù)ax+by+c=0中的浮點數(shù)a、b與c,這些系數(shù)是被用邊線框所代表的范圍內(nèi)來沿邊線函式縮放,如此共用頂點12被分離的問題就不會發(fā)生,這是因為在定義中只有邊線才顯示。而浮點數(shù)精確度的問題可能會造成邊線的少許移動,但是影響不大,繪元14、16(至少在其中顯示的部份)接下來會被以邊線函式18、20、22、24來彩現(xiàn),邊線函式18,20、22、24是以計算定點數(shù)參數(shù)a,b與c來得出。
第三種情形如圖5所示,共用頂點12是位于顯示區(qū)10內(nèi),但是其他頂點34、36、38、40是在邊界框8之外,因此無法以定點數(shù)來表示,在這種情形下,位于繪元14,16的邊線18、20、22、24是與邊界框8交會,這些交會點會被對應于建立在邊界框內(nèi)的網(wǎng)格。由對應而來的特定定點教會被用來形成圖元14、16的邊線函數(shù),接下來繪元會被以邊線函式來彩現(xiàn),以確保共用頂點不會分離成為多個。
圖6與圖7是示意本發(fā)明的一具體實施例的方法,在步驟100中,此方法決定一共用于復數(shù)個繪元的頂點是否位于被顯示影像的顯示部份。如果如步驟102所示的判斷為沒有,則(接他頁的參考A)如步驟104所示,浮點數(shù)會被用來形成圖元的邊線函式,并且在步驟105中,得出的邊線函式接下來會被沿邊線函式縮放以得出在邊界框內(nèi)的定點數(shù)參數(shù)。
如果步驟102的判斷為具有一顯示的共用頂點,則本方法如步驟106所示,判斷是否復數(shù)個繪元的一個或多個其他頂點定在邊界框所界定的影像顯示區(qū)之內(nèi)或之外,其中邊界框定義了一個以定點數(shù)系統(tǒng)所表示的x值與y值的范圍(界于一最小值與一最大值)。
如果如步驟108的判斷所示,并沒有其他頂點在邊界框之外,則(跟隨B)共用頂點與其他頂點會如步驟110所示,對應到一設定在邊界框內(nèi)的網(wǎng)格,并且如步驟112所示,這些頂點會被以定點數(shù)來被使用,以形成繪元的邊線函數(shù)。
如果如第108的判斷所示,有一個或多個其他的頂點位是于邊界框外,則如步驟114所示,那些有頂點在邊界框外的圖元與邊界框交會處的頂點會被計算出來,并且如步驟116所示、包含交會頂點與共用頂點的其他頂點會被對應于邊界框內(nèi)的網(wǎng)袼,這些圖元的邊線函數(shù)是被以定點數(shù)來使用,如步驟120所示,最后在步驟112中,建立在這些被形成的邊線函式上的繪元會被彩現(xiàn),而不考慮它們是以什么來形成。
顯然地,依照上面實施例中的描述,本發(fā)明可能有許多的修正與差異。因此需要在其附加的權(quán)利要求項的范圍內(nèi)加以理解,除了上述詳細的描述外,本發(fā)明還可以廣泛地在其他的實施例中施行。上述僅為本發(fā)明的較佳實施例而已,并非用以限定本發(fā)明的申請專利范圍;凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應包含在下述申請專利范圍內(nèi)。
權(quán)利要求
1.一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有顯示共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含以定點數(shù)形成交會于各圖元頂點的線的邊線函式,其中該定點數(shù)是在一邊界框內(nèi)或在該邊界框上,該邊界框界定該浮點數(shù)的邊界;以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
2.如權(quán)利要求1所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的位于該邊界框上的定點數(shù)是在交會于頂點的線與邊界框相交時被使用。
3.如權(quán)利要求1所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的被形成的邊線函數(shù)具有ax+by+c=0的形式;并且其中系數(shù)a、b與c是定點數(shù)。
4.一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的線的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含對被交會的該共用頂點為不顯示的各圖元以浮點數(shù)形成交會于該共用頂點的線的邊線函式;對被交會的該共用頂點落入顯示區(qū)的各圖元以定點數(shù)形成交會于該共用頂點的線的邊線函式;以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
5.如權(quán)利要求4所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,當該共用頂點落入顯示區(qū),該邊線函數(shù)的形成包含使用位于一邊界框內(nèi)或該邊界框上的定點數(shù)來做為該邊線函式的參數(shù)。
6.如權(quán)利要求5所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的位于該邊界框上的該定點數(shù)是在一圖元的一頂點位于該邊界框外時被使用;以及其中位于該邊界框上的該定點數(shù)是該圖元的該線與該邊界框的交會處。
7.如權(quán)利要求4所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的邊界框界定該定點數(shù)的范圍;并且其中以浮點數(shù)形成邊線函數(shù)的步驟包含沿邊線函式縮放該被形成的邊線函數(shù),使得被形成的該邊線函數(shù)能夠被以定點數(shù)來表示。
8.一種彩現(xiàn)一影像的一顯示部份的方法,該影像包含復數(shù)個具有共用頂點的圖元,其中每一個圖元具有至少兩個其他頂點與用來表示連接圖元頂點的線的邊線函式,其特征在于,該彩現(xiàn)一影像的一顯示部份的方法包含判斷共用頂點是否位于影像的顯示部份;如果該共用頂點落入顯示區(qū),則判斷該復數(shù)個繪元中是否有至少一個其他頂點在一邊界框之內(nèi)或之外,其中該邊界框圍住該影像的該顯示部份,并且該邊界框界定了一定點數(shù)系統(tǒng)的范圍;如果該共用頂點為不顯示,并且至少一個其他頂點被判斷定位該邊界框之外,則計算具有其他該頂點在該邊界框外的該圖元與該邊界框交會處的該頂點;將包含該交會頂點與該共用頂點的其他頂點對應一設定在該邊界框內(nèi)的網(wǎng)格,用以將頂點以定點數(shù)來表示;以及使用包含該交會頂點與該共用頂點的該定點數(shù)來形成該繪元的邊線函數(shù);如果該共用頂點落入顯示區(qū),并且該繪元的其他頂點被判斷是在邊界框內(nèi),則將該共用頂點與其他頂點對應一設定在該邊界框內(nèi)的網(wǎng)格,用以將頂點以定點數(shù)來表示,并且使用包含該交會頂點與該共用頂點的該定點數(shù)來形成該繪元的邊線函數(shù);如果該共用頂點為不顯示,則使用浮點數(shù)來設定該圖元的該達線函式,并且沿遠線函式縮放該遠線函式以具有在該邊界框內(nèi)的定點數(shù)的參數(shù);以及彩現(xiàn)該繪元,其中該繪元是建立在被形成的該邊線函式的上。
9.如權(quán)利要求8所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的繪元是三角形。
10.如權(quán)利要求8所述的彩現(xiàn)一影像的一顯示部份的方法,其特征在于,其中上述的邊線參數(shù)的形成包含計算一邊線函式ax+by+c=0的參數(shù)a、b與c。
全文摘要
本發(fā)明揭示一種用來彩現(xiàn)(rcnder)具有復數(shù)個繪元的影像的顯示部分,這些圖元可能因為較大而需要使用浮點數(shù)來表示其頂點。當繪元的頂點落入顯示區(qū)時,使用于圖元的邊線函式會被計算來避免共用頂點對不同的圖元產(chǎn)生差別,如果繪元的其他頂點位于邊線框(bounding rectangle;guardband)外,則繪元與邊線框交會處會形成頂點。共用頂點與包含交會頂點的其他頂點會被用來計算圖元的邊線函式,邊線函數(shù)是以定點數(shù)來計算,并且以邊線函式來彩現(xiàn)繪元;如果共用頂點為不顯示,則以浮總數(shù)來計算這線函式。
文檔編號G06T15/30GK1677443SQ20051006694
公開日2005年10月5日 申請日期2005年4月22日 優(yōu)先權(quán)日2004年9月17日
發(fā)明者焦陽 申請人:威盛電子股份有限公司