TWI488142B - 應用於向量圖形點陣化之階層式緩衝器之運算方法 - Google Patents
應用於向量圖形點陣化之階層式緩衝器之運算方法 Download PDFInfo
- Publication number
- TWI488142B TWI488142B TW101106179A TW101106179A TWI488142B TW I488142 B TWI488142 B TW I488142B TW 101106179 A TW101106179 A TW 101106179A TW 101106179 A TW101106179 A TW 101106179A TW I488142 B TWI488142 B TW I488142B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- level buffer
- level
- value
- group
- Prior art date
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Description
本發明係有關於一種運算方法,特別係有關於一種應用於向量圖形點陣化之階層式緩衝器之運算方法及階層式緩衝器之架構。
習知應用於向量圖形點陣化之運算方式係以單一掃描線找出與一向量圖形相交的交點後,再按其交點的水平座標位置由左而右進行排序,以找出所有位於掃描線上之像素的繞線匝數(Winding Count),惟,其運算方式需額外之排序處理步驟,將大幅增加向量圖形之繪圖時間。
本發明之主要目的係在於提供一種應用於向量圖形點陣化之階層式緩衝器之運算方法,可加速向量圖形點陣化中像素的繞線匝數(Winding Count)運算過程,係包含以下步驟,首先,提供一顯示器;提供一階層式緩衝器,該階層式緩衝器係包含有一第一階層緩衝區、一第二階層緩衝區及一第三階層緩衝區,該第一階層緩衝區係具有一第一緩衝群組、一第二緩衝群組及一第三緩衝群組,該第一階層緩衝區之位址數量係大於該第二階層緩衝區之位址數量,該第二階層緩衝區之位址數量係大於該第三階層緩衝區之位址數量;清除該第一階層緩衝區、該第二階層緩衝區及該第三階層緩衝區,該第一階層緩衝區之所有位址對應之數值係設定為0,該第二階層緩衝區及該第三階層緩衝區之旗標係設定為重置狀態;使該顯示器之螢幕顯示有一向量圖形,該顯示器係以至少一掃瞄線掃描該向量圖形,若該向量圖形與該掃瞄線相交而產生至少一交點,則該交點所對應之該第一階層緩衝區之位址的數值係可進行狀態更新,更新後之數值所對應之該第二階層緩衝區及該第三階層緩衝區之位址的旗標係被更新為設定狀態;讀取該第三階層緩衝區且判斷旗標是否為設定或重置狀態,若旗標為重置狀態,則讀取該第三階層緩衝區之下一個旗標,若旗標為設定狀態,則依序讀取該旗標所對應之該第二階層緩衝區之每個位址的旗標且判斷旗標是否為設定或重置狀態,若為設定狀態,則讀取該旗標所對應之該第一階層緩衝區;從該第一緩衝群組輸出至少一第一數值及一第二數值,從該第二緩衝群組輸出至少一第三數值及一第四數值,從該第三緩衝群組輸出至少一第五數值及一第六數值,該第一數值、該第二數值、該第三數值、該第四數值、該第五數值及該第六數值係為對應至該螢幕之像素位置的繞線匝數,本發明係以該第一階層緩衝區、該第二階層緩衝區及該第三階層緩衝區建構出該階層式緩衝器,當第三階層緩衝區讀取其旗標的狀態,若該掃瞄線對該向量圖形進行掃描,而該掃瞄線的像素沒有與該向量圖形相交時,該些像素對應至該第三階層緩衝區之旗標係為重置狀態,此時可省略往該第二階層緩衝區及該第一階層緩衝區進行資料存取之步驟,因此能有效減少圖形之繪製時間。
請參閱第1圖,其係本發明之一較佳實施例,一種應用於向量圖形點陣化之階層式緩衝器之運算方法,係包含以下步驟,首先,請參閱第1圖之步驟(a)及第2A圖,提供一顯示器200,該顯示器200之螢幕210係具有一寬度W,該寬度W係代表該螢幕210寬度之像素個數;接著,請參閱第1圖之步驟(b)及第3圖,提供一階層式緩衝器100,該階層式緩衝器100係包含有一第一階層緩衝區110、一第二階層緩衝區120及一第三階層緩衝區130,其中該第一階層緩衝區110之位址數量係大於該第二階層緩衝區120之位址數量,該第二階層緩衝區120之位址數量係大於該第三階層緩衝區130之位址數量,在本實施例中,該第一階層緩衝區110之位址數量為32,該第二階層緩衝區120之位址數量為8,該第三階層緩衝區130之位址數量為2,該第一階層緩衝區110係具有八個緩衝群組111,各該緩衝群組111係具有四個位址,該第二階層緩衝區120之八個位址係各別對應該第一階層緩衝區110之各該緩衝群組111之所有位址,該第三階層緩衝區130之兩個位址係各別對應該第二階層緩衝區120之四個位址,並且該顯示器200之螢幕210的寬度W係為該第一階層緩衝區110之寬度;之後,請參閱第1圖之步驟(c)及第4圖,清除該第一階層緩衝區110、該第二階層緩衝區120及該第三階層緩衝區130,該第一緩衝區110之位址的資料型態為數值,其可為0、一正整數或一負整數,該第二緩衝區120及該第三緩衝區130之資料型態為旗標,其係可表示為設定(set)或重置(reset)狀態,較佳地,本實施例之設定狀態係以1表示,重置狀態係以0表示,在步驟(c)中,該第一階層緩衝區110之所有位址對應之數值係設定為0,該第二階層緩衝區120及該第三階層緩衝區130之旗標係設定為重置狀態,此外,該第一階層緩衝區110及該第二階層緩衝區120之間所產生的關係係以下式表示:
其中SB L2
代表第二階層緩衝區120,SB L1
代表該第一階層緩衝區110,HF L1_L2
為第二階層緩衝區之旗標對應至該第一階層緩衝區110之位址數量,另外,該第二階層緩衝區120與該第三階層緩衝區130之間的關係係可以下式表示:
其中SB L3
代表該第三階層緩衝區130,SB L2
代表該第二階層緩衝區120,HF L2 _ L3
為該第三階層緩衝區130之旗標對應至該第二階層緩衝區120之位址數量,較佳地,該第二階層緩衝區120與該第三階層緩衝區130之關係式可擴充成一第M-1階層緩衝區與一第M階層緩衝區之通式,其係表示如下:
,其中SBLM
代表第M階層緩衝區、SBLM-1
代表第M-1階層緩衝區、M>2、HF LM-1 _ LM
為一第M階層緩衝區之旗標對應至第M-1階層緩衝區之位址數量。
接下來,請參閱第1圖之步驟(d)、第2B圖及第5圖,使該顯示器200之螢幕210顯示有一向量圖形(vector graphics)G,該顯示器200係以至少一掃瞄線掃描該向量圖形G,或者,在另一實施例中,該顯示器200係可以複數條掃描線掃描該向量圖形G,若該向量圖形G與該掃瞄線相交而產生一個或複數個交點,則該些交點所對應之該第一階層緩衝區110之位址的數值係可以一方程式進行狀態更新,該方程式係如下式所示:SB
[]=SB
[]+direct
(E
),其中α為交點的水平座標位址,direct
(E
)為向量圖形G之有效邊線的方向,若方向為順時針則以數值1表示,若方向為逆時針則以數值-1表示,狀態更新後之數值所對應之該第二階層緩衝區120與該第三階層緩衝區130之位址的旗標係被更新為設定狀態,如第5圖所示;接著,請參閱第1圖之步驟(e),由左至右依序讀取該第三階層緩衝區130且判斷其旗標是否為設定或重置狀態,若旗標為重置狀態,則讀取該第三階層緩衝區130之下一個旗標,若旗標為設定狀態,則讀取該旗標所對應之該第二階層緩衝區120之位址的旗標且判斷其旗標是否為設定或重置狀態,若旗標為重置狀態,則讀取該第二階層緩衝區120之下一個旗標,若為設定狀態,則讀取該旗標所對應之該第一階層緩衝區110之該緩衝群組111中的數值,請參閱第1圖之步驟(f),在讀取階層式緩衝器的過程中,若該第三階層緩衝區130及該第二階層緩衝區120之旗標的狀態或該第一階層緩衝區110之該些緩衝群組111的數值為已知,則可將緩衝區中的已知狀態或已知數值清除;最後,請參閱第1圖之步驟(g),以該些緩衝群組111之前三個緩衝群組為例,若每個緩衝群組僅有兩個位址,則從該第一緩衝群組輸出一第一數值及一第二數值,從該第二緩衝群組輸出一第三數值及一第四數值,從該第三緩衝群組輸出一第五數值及一第六數值,該第一數值、該第二數值、該第三數值、該第四數值、該第五數值及該第六數值係為對應至該螢幕210之像素位置的繞線匝數(Winding Count),以此類推,若每個緩衝群組有四個位址,則從該第一緩衝群組輸出一第一數值、一第二數值、一第三數值及一第四數值,從該第二緩衝群組輸出一第五數值、一第六數值、一第七數值及一第八數值,從該第三緩衝群組輸出一第九數值、一第十數值、一第十一數值及一第十二數值,該第一數值至該第十二數值係為對應至該螢幕210之像素位置的繞線匝數,由於該向量圖形G於點陣化階段時需決定要填色的像素區域,而該向量圖形G之每個像素皆有其對應之繞線匝數,每個像素是否填色即由該像素之繞線匝數及向量圖形G之填色規則決定,因此本發明之各該緩衝群組111能有效輸出該向量圖形G所需之繞線匝數,在本實施例中,步驟(e)及步驟(f)係可以下述程式完成:
其中K係為第一階層緩衝區110至第M階層緩衝區的階層關聯參數之乘積,即HFLM-1_LM
×HFLM-2_LM-1
×...×HFL2_L1
。
本發明係以該第一階層緩衝區110、該第二階層緩衝區120及該第三階層緩衝區130建構出該階層式緩衝器100,當第三階層緩衝區130讀取其旗標的狀態時,若該掃瞄線對該向量圖形G進行掃描,而該掃瞄線的像素沒有與該向量圖形G相交時,該些像素對應至該第三階層緩衝區130之旗標係為重置狀態,此時可省略往該第二階層緩衝區120及該第一階層緩衝區110進行存取之步驟,因此能有效減少向量圖形的繪製時間。
本發明之保護範圍當視後附之申請專利範圍所界定者為準,任何熟知此項技藝者,在不脫離本發明之精神和範圍內所作之任何變化與修改,均屬於本發明之保護範圍。
100...階層式緩衝器
110...第一階層緩衝區
111...緩衝群組
120...第二階層緩衝區
130...第三階層緩衝區
(a) 提供一顯示器
(b) 提供一階層式緩衝器,該階層式緩衝器係包含有一第一階層緩衝區、一第二階層緩衝區及一第三階層緩衝區,該第一階層緩衝區係具有一第一緩衝群組、一第二緩衝群組及一第三緩衝群組
(c) 清除該第一階層緩衝區、該第二階層緩衝區及該第三階層緩衝區
(d) 使該顯示器之螢幕顯示有一向量圖形,若該向量圖形與一掃瞄線相交而產生一交點,則該交點所對應之該第一階層緩衝區之的數值可進行狀態更新,更新後之數值所對應之該第二階層緩衝區及該第三階層緩衝區之位址的旗標被更新為設定狀態
(e) 依序讀取該第三階層緩衝區且判斷旗標是否為設定或重置狀態,若旗標為重置狀態,則讀取該第三階層緩衝區之下一個旗標,若旗標為設定狀態,則讀取該旗標所對應之該第二階層緩衝區之的旗標且判斷旗標是否為設定或重置狀態,若為設定狀態,則讀取該旗標所對應之該第一階層緩衝區
(f)‧‧‧若該第三階層緩衝區及該第二階層緩衝區之旗標的狀態或該第一階層緩衝區之該些緩衝群組的數值為已知,則可將緩衝區中的已知狀態或已知數值清除
(g)‧‧‧從該第一緩衝群組輸出至少一第一數值及一第二數值,從該第二緩衝群組輸出至少一第三數值及一第四數值,從該第三緩衝群組輸出至少一第五數值及一第六數值,該些數值係為對應至該螢幕之像素位置的繞線匝數
第1圖:依據本發明之一較佳實施例,一種應用於向量圖形點陣化之運算方法之流程圖。
第2A圖:依據本發明之一較佳實施例,該應用於向量圖形點陣化之運算方法之顯示器之示意圖。
第2B圖:依據本發明之一較佳實施例,該應用於向量圖形點陣化之運算方法於顯示器之螢幕顯示有一向量圖形之示意圖。
第3圖:依據本發明之一較佳實施例,該應用於向量圖形點陣化之運算方法之階層式緩衝器之示意圖。
第4圖:依據本發明之一較佳實施例,該應用於向量圖形點陣化之運算方法之清除階層式緩衝器之示意圖。
第5圖:依據本發明之一較佳實施例,該應用於向量圖形點陣化之運算方法之階層式緩衝器之示意圖。
100‧‧‧階層式緩衝器
110‧‧‧第一階層緩衝區
111‧‧‧緩衝群組
120‧‧‧第二階層緩衝區
130‧‧‧第三階層緩衝區
Claims (10)
- 一種應用於向量圖形點陣化之運算方法,其包含:提供一顯示器;提供一階層式緩衝器,該階層式緩衝器係包含有一第一階層緩衝區、一第二階層緩衝區及一第三階層緩衝區,該第一階層緩衝區係至少具有一第一緩衝群組、一第二緩衝群組及一第三緩衝群組,該第一緩衝群組、該第二緩衝群組及該第三緩衝群組係各具有至少兩個位址,該第一階層緩衝區之位址數量係大於該第二階層緩衝區之位址數量,該第二階層緩衝區之位址數量係大於該第三階層緩衝區之位址數量,該第一緩衝群組、該第二緩衝群組及該第三緩衝群組之各該位址的數值可為0、一正整數或一負整數;清除該第一階層緩衝區、該第二階層緩衝區及該第三階層緩衝區,該第一階層緩衝區之所有位址對應之數值係設定為0,該第二階層緩衝區及該第三階層緩衝區之旗標係設定為重置狀態;使該顯示器之螢幕顯示有一向量圖形,該顯示器係以至少一掃瞄線掃描該向量圖形,若該向量圖形與該掃瞄線相交而產生至少一交點,則 該交點所對應之該第一階層緩衝區之位址的數值係可進行狀態更新,更新後之數值所對應之該第二階層緩衝區及該第三階層緩衝區之位址的旗標係被更新為設定狀態;讀取該第三階層緩衝區且判斷旗標是否為設定或重置狀態,若旗標為重置狀態,則讀取該第三階層緩衝區之下一個旗標,若旗標為設定狀態,則讀取該旗標所對應之該第二階層緩衝區之位址的旗標且判斷旗標是否為設定或重置狀態,若為設定狀態,則讀取該旗標所對應之該第一階層緩衝區;以及從該第一緩衝群組輸出至少一第一數值及一第二數值,從該第二緩衝群組輸出至少一第三數值及一第四數值,從該第三緩衝群組輸出至少一第五數值及一第六數值,該第一數值、該第二數值、該第三數值、該第四數值、該第五數值及該第六數值係為對應至該螢幕之像素位置的繞線匝數。
- 如申請專利範圍第1項所述之應用於向量圖形點陣化之運算方法,其中該第一階層緩衝區與該第二階層緩衝區之間的關係可以下式表示:
- 如申請專利範圍第1項所述之應用於向量圖形點陣化之運算方法,其中該第二階層緩衝區與該第三階層緩衝區之間的關係可以一通式表示:
- 如申請專利範圍第1項所述之應用於向量圖形點陣化之運算方法,其中在使該顯示器之螢幕顯示有一向量圖形,該顯示器係以至少一掃瞄線掃描該向量圖形之步驟中,該交點所對應之該第一階層緩衝區之位址的數值係以可以下述 方程式進行更新:
- 如申請專利範圍第1項所述之應用於向量圖形點陣化之運算方法,其中該顯示器之螢幕寬度係為該第一階層緩衝區之寬度。
- 如申請專利範圍第1項所述之應用於向量圖形 點陣化之運算方法,其中在讀取該第三階層緩衝區之步驟中,其另包含有若該第三階層緩衝區及該第二階層緩衝區之旗標的狀態或該第一階層緩衝區之該些緩衝群組的數值為已知,則可將緩衝區中的已知狀態或已知數值清除之步驟。
- 一種階層式緩衝器,其係包含:一第一階層緩衝區,其係至少具有一第一緩衝群組及一第二緩衝群組,該第一緩衝群組及該第二緩衝群組係各具有至少兩個位址;一第二階層緩衝區,其係具有至少一第一位址及一第二位址,該第一位址係對應該第一階層緩衝區之第一緩衝群組之所有位址,該第二位址係對應該第一階層緩衝區之第二緩衝群組之所有位址;以及一第三階層緩衝區,其係具有至少一位址,該位址係對應該第二階層緩衝區之該第一位址及該第二位址。
- 如申請專利範圍第7項所述之階層式緩衝器,其中該第一階層緩衝區與該第二階層緩衝區之間的關係可以下式表示:
- 如申請專利範圍第7項所述之階層式緩衝器,其中該第二階層緩衝區與該第三階層緩衝區之間的關係可以一通式表示:
- 如申請專利範圍第7項所述之階層式緩衝器,其中該第一階層緩衝區之第一緩衝群組及該第二緩衝群組之各該位址的數值可為0、一正整數或一負整數。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101106179A TWI488142B (zh) | 2012-02-24 | 2012-02-24 | 應用於向量圖形點陣化之階層式緩衝器之運算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101106179A TWI488142B (zh) | 2012-02-24 | 2012-02-24 | 應用於向量圖形點陣化之階層式緩衝器之運算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201335881A TW201335881A (zh) | 2013-09-01 |
TWI488142B true TWI488142B (zh) | 2015-06-11 |
Family
ID=49627440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101106179A TWI488142B (zh) | 2012-02-24 | 2012-02-24 | 應用於向量圖形點陣化之階層式緩衝器之運算方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI488142B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3895357A (en) * | 1973-02-23 | 1975-07-15 | Ibm | Buffer memory arrangement for a digital television display system |
US7064752B1 (en) * | 1998-10-14 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Multi-function unit of a graphics system for updating a hierarchical Z buffer |
TW200945247A (en) * | 2008-04-22 | 2009-11-01 | Via Tech Inc | Constant buffering for a computational core of a programmable graphics processing unit |
US7633506B1 (en) * | 2002-11-27 | 2009-12-15 | Ati Technologies Ulc | Parallel pipeline graphics system |
TW201037592A (en) * | 2008-11-24 | 2010-10-16 | Koninkl Philips Electronics Nv | Extending 2D graphics in a 3D GUI |
-
2012
- 2012-02-24 TW TW101106179A patent/TWI488142B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3895357A (en) * | 1973-02-23 | 1975-07-15 | Ibm | Buffer memory arrangement for a digital television display system |
US7064752B1 (en) * | 1998-10-14 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Multi-function unit of a graphics system for updating a hierarchical Z buffer |
US7633506B1 (en) * | 2002-11-27 | 2009-12-15 | Ati Technologies Ulc | Parallel pipeline graphics system |
TW200945247A (en) * | 2008-04-22 | 2009-11-01 | Via Tech Inc | Constant buffering for a computational core of a programmable graphics processing unit |
TW201037592A (en) * | 2008-11-24 | 2010-10-16 | Koninkl Philips Electronics Nv | Extending 2D graphics in a 3D GUI |
Also Published As
Publication number | Publication date |
---|---|
TW201335881A (zh) | 2013-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4621618B2 (ja) | 図形描画装置、図形描画方法、およびプログラム | |
KR102122454B1 (ko) | 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치 | |
US20200226828A1 (en) | Method and System for Multisample Antialiasing | |
JP4987070B2 (ja) | 画像生成装置及び画像生成方法 | |
KR102454893B1 (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법 | |
US6963346B2 (en) | Method and system for efficiently using fewer blending units for antialiasing | |
JP2001005989A (ja) | アンチエイリアシング方法及びこれを用いた画像処理装置 | |
US20150242988A1 (en) | Methods of eliminating redundant rendering of frames | |
JP4372066B2 (ja) | 描画方法、データ放送受信装置およびプログラム | |
TWI488142B (zh) | 應用於向量圖形點陣化之階層式緩衝器之運算方法 | |
JP5362915B2 (ja) | 描画装置および描画方法 | |
US20180315216A1 (en) | Digital Content Rendering that Supports Alpha Is Shape (AIS) as part of Knockout Groups | |
JP2007087283A (ja) | 図形描画装置及び図形描画プログラム | |
US20010055015A1 (en) | Area and span based Z-buffer | |
US20060262132A1 (en) | Accelerated rendering of images with transparent pixels using a spatial index | |
CN106485767B (zh) | 一种绘制符号的方法及装置 | |
JP2007141196A (ja) | ポリゴン・シルエットライン・アンチエイリアス回路 | |
WO2010053175A1 (ja) | ベクター画像描画装置、ベクター画像描画方法および記録媒体 | |
KR100441079B1 (ko) | 안티알리아싱 장치 및 방법 | |
US20240020806A1 (en) | System and method for dynamic binning | |
KR20060132519A (ko) | 오차 버퍼와 플래그 버퍼를 이용한 사진 트리에 기초한지형 시각화 방법 | |
JP5661134B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5300666B2 (ja) | ラベリング処理方法、並びにそのシステム、装置及びプログラム | |
KR100927131B1 (ko) | 안티 알리어싱 방법 및 장치 | |
KR101032835B1 (ko) | 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |