[go: up one dir, main page]

TW319852B - - Google Patents

Download PDF

Info

Publication number
TW319852B
TW319852B TW086102127A TW86102127A TW319852B TW 319852 B TW319852 B TW 319852B TW 086102127 A TW086102127 A TW 086102127A TW 86102127 A TW86102127 A TW 86102127A TW 319852 B TW319852 B TW 319852B
Authority
TW
Taiwan
Prior art keywords
hardware
graphics
batch
level
unit
Prior art date
Application number
TW086102127A
Other languages
English (en)
Original Assignee
Cirrus Logic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Application granted granted Critical
Publication of TW319852B publication Critical patent/TW319852B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Stored Programmes (AREA)

Description

經濟部中夬標準局員X消費合作社印製 A7 __;_B7__ 五、發明説明(ι ) 發明頜域 本發明係關於電腦控制顯示系統之頜域。特別的是’ 本發明係關於交介硬體圖形加速器之軟體程式。 發明背景 高品質高功效之電腦控制圖形實現系統主要依靠特別 的電子電路板以便高速處理圖形系資訊。這些特別的電子 電路板也稱爲「圖形加速器」或「圖形硬體單元」。如同 此技藝中所習知般*圖形加速器會特別設計成處理與幾何 素子(primitive)(例如,線、多邊形、三角形、加影或 阿爾發混合三角形等)有關之圖形資料以便在電腦顯示單 元上產生影像。供應給圖形加速器的圖形資料係以硬體相 依格式(硬體相依圖形資料)被供應,該硬體相依格式會 由圖形加速器辨識。此硬體相依圖形資料典型上係以電腦 記體中的顯示清單方式產生的。 在多層圖形系統中,圖形加速器會在最低層操作以操 縱像素以便在電腦顯示上產生影像。圖形加速器會執行低 階圖形運算,該低階圖形運算係將顯示清單中的微指令譯 成電腦顯示上的影像。在較高層中,在圖形系統中執行的 軟體程式(應用程式)會產生顯示某些影像之請求。這些 請求典型上包含不依賴硬體圖形幾何素子清單(例如,代 表影像),其會被傳送給中間高階圖形館,然後,再傳送 給圖形加速器用以描繪。高階圖形館會支援很多圖形指令 及特性並且典型上包含用以將應用程式的請求直接轉換成 本紙張尺度適用中國國家標率(CNS ) Α4说格(210_Χ297公麓) (請先閱讀背面之注意事項再填寫本頁) 衮 訂 4 經濟部中央標準局負X消費合作社印製 31SS52 A7 ____ B7_ 五、發明説明(2 ) 硬體依賴顯示清單之程序。 由於圖形加速器係硬體裝置,所以,它們係特定設計 及寶方特定設計。換言之,不同的圖形加速器會使用不同 的資料格式(例如,不同資料結構、不同圖形描繪碼、不 同記億體區分、等等)及使用不同快取指派以便操作。 圖1 A係說明根據上述之習知技藝的圖形顯示系統 5。系統5包含可在數位電腦系統中執行的高階應用程式 1 0。應用程式1 0會與高階圖形館1 2及1 4交介以便 將來自應用程式10的圖形顯示請求轉譯成硬體依賴顯示 清單。二習知圖形館係三維動態裝置驅動器介面(3 DDDI )館1 2及開放式圖形館(〇pen GL)館1 4。這些館 1 2及1 4含有一些可以經由介面1 6直接與圖形硬體單 元1 8 (例如加速器板)交介之硬體特定描繪常式(程序 )。介面16並不會使硬體單元18透明,其僅會便利館 1 2和1 4與硬體單元1 8之間的通訊協定。館1 2及 1 4的程序會從應用程式1 0輸入圖形描繪請求。圖形硬 體單元18會耦合至電腦螢幕10以便在其上描繪影像。 雖然分別顯示,但是在編繹及連結期間,典型上會包含圖 1 A的館12及14的所需程序,以形成高階應用程式 1 0的指令。應用程式1 0也包含源於一些圖形館1 2及 1 4之外的不同館之指令。 圖形館1 2及1 4的程序允許高階應用程式1 0藉由 產生非常結構化和硬體依賴之通訊協定及資料結構’而能 與圖形硬體單元18通訊(使用硬體獨立資料結構)。圖 本紙張尺度適用中國國家標準(CNS > A4規格(2丨0X2W公釐) -------A --装-- (請先閲讀背面之注意事項再填寫本頁)
.•IT 經濟部中央標準局員工消費合作社印取 31SS52 λ7 Α7 Β7 五、發明説明(3) 形館1 2及1 4包含非常高度硬體依賴常式集,這些常式 係依賴硬體但可提供應用程式1 0硬體透明介面。由於館 1 2及1 4係高階,所以,它們可支援眾多複雜圖形特性 及顯示選擇》爲實現館1 2或1 4以支援任何特別硬體單 元1 8,所有的館功能及特性必須以選取的硬體單元1 8 之特別格式實現。因此,這些高階圖形館1 2及1 4必須 針對它們所支援的每一不同硬體單元1 8重新擴充設計及 重寫》由於每一館1 2及1 4須要大幅地重新設計及重寫 軟體以支援不同的硬體單元1 8,所以,這些對於圖形系 統設計者而言是不希望的。所需要的是,提供一種容易地 適應圖形硬體單元1 8的改變及變化之圖形系統。特別是 ,將需要提供一種軟體系統,其應用至不同圖形硬體單元 1 8時,不需重新設計及重寫高階圖形館1 2及1 4。 參考圖1 A及1 B。圖1 B係說明習知的電腦所執行以 處理圖形幾何素子之處理3 0的流程圖。此處理3 0會在 習知的電腦控制圖形顯示系統5 (圖1A)中執行。處理 3 0從區塊3 2開始,在該區塊處,高階應用程式1 0會 請求將代表個別圖形幾何素子(例如,線、多邊形、三角 形等等)之資料結構描繪於顯示2 0之上。在區塊3 4, 應用程式1 0會將代表圖形幾何素子之硬體獨立資料結構 給圖形館12或14之程序。在區塊36 ,圖形館12或 14會將圖形幾何素子的資料結構轉譯成特別用於硬體單 元1 8之一組低階微指令β這些微指令通常是可由硬體單 元1 8所讀取的「顯示清單」之部份。在區塊3 8 ,硬體 本紙浪尺度適用中國國家標孪(CNS ) A4規格(2ίΟχ 297公釐) l^i - I—I - - I I IJ n I (請先聞讀背面之注意事項再填寫本頁) 訂 經濟部中央標隼局貝工消費合作社印取 A7 ___B7_五、發明説明(4 ) 單元1 8會存取顯示清單以便將圖形幾何素子描繪在顯示 螢幕2 0之上。然後,由於其典型上需要眾多圖形幾何素 子以描繪完整影像,所以源於應用程式1 0之後續幾何素 子會以類似方式被處理。 由於來自區塊3 2的每一幾何素子會在高階應用程式 1 0與硬體單元1 8之間(例如區塊3 2及3 8之間)被 逐次地處理,所以圖1B之處理3 0並未有效率地利用圖 形系統5內的記億體資源。特別的是,在單一圖形幾何素 子的描繪處理中,應用程式1 0內的程序會首先被執行, 圖形館(1 2或1 4)的程序跟隨於後,且針對後續的幾 何素子重覆此處理》由於在(1 )高階應用程式1 0與( 2 )圖形館1 2或1 4的程序執行期間•不同的資訊及指 定會通過快取單元,所以,此情形會在這些碼及資料快取 內造成分離。結果在描繪一組圖形幾何素子期間,造成很 多資料快取遺失及碼快取遺失。然後,此點將不利於提供 可更佳有效率地描繪包括一組源於應用程式10的圖形幾 何素子之影像的圖形描繪處理。 因此,本發明提供一種圖形系統,其可輕易地適用於 不同硬體單元而無需重新設I十或重寫高階圖形館。此外, 本發明提供一種圖形系統,其可有效率地利用記億體資源 以便從源於應用程式之眾多圖形幾何素子中描繪影像。 從下述之本發明說明中,本發明的這些及其它優點將 更加清楚。 -------:乂 -裝------訂------ί .4 (請先閱讀背面之注意事項再填寫本買) 本紙張尺度適用中國國家標隼(CNS ) Α4規格(210Χ297公釐) 3ίδδ52 Α7 Β7_ 五、發明説明(5 ) 發明概述 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作杜印裝 根據本發明,低度硬體依賴圖形館提供高階圖形館( 較佳地爲獨立於硬體之外)與圖形加速器硬體單元之間的 介面。低度硬體依賴館會提供相當低階介面,其可直接與 圖形加速器通訊及僅需要相當小量的重寫以適用於不同圖 形硬體單元,且只需些微修改或不需改變高度硬體不依賴 圖形館。低度硬度依賴館程序會提供可在低速處理高品質 插繪與低品質但較快速圖形描繪之間調整的品質量度。低 階硬體依賴館程序會藉由接收批次單元陣列而執收批次處 理,每一該批次單元包括分別的幾何素子陣列能以一次 設定而移交給低度硬體依賴館程序,然後被連續地處理。 此規劃可確保在陣列參數化期間(例如,適用於諸如8 Κ 的標準碼快取內的參數化常式)不會發生指令快取遺失* 並確保發生微量的資料快取遺失。而且,低度硬體依賴館 程序也允許在不同的織紋映射資料格式之間能自動轉譯, 以致於可使用RGB-阿爾發格式或使用利用調色盤索引之格 式β藉由提供低階介面,本發明可提供一種系統,其可輕 易地適用於不同硬體圖形加速器而無需修改圖形館》 特別的是,本發明的實施例包含電腦控制顯示系統, 其具有:耦合至匯流排的處理器;記億體單元,用以儲存 資訊,該資訊會配合處理器而操作;硬體圖形單元*用以 從儲存於記億體單元中的顯示清單中接收硬體依賴微指令 並用以將影像產生至顯示螢幕上;高階圖形館’包括由處 理器所執行的不依賴硬體圖形描繪程序’不依賴硬體圖形 本紙張尺度適用中國國家標隼(CNS ) Α4規格(2Η)Χ297公釐) 經濟部中央標苹局員工消費合作社印製 A7 _B7____ 五、發明説明(6 ) 描繪程序係用以處理來自高階應用程式之圖形描繪請求以 產生包含圖形運算元之不依賴硬體输出資料結構;及由處 理器所執行之低度硬體依賴圖形館’用以處理不依賴硬體 输出資料結構以從中產生用於硬體圖形單元之微指令,其 中高階圖形館可與多種不同硬體圖形單元並容而無須重新 設計,且其中來自高階圖形館的不依賴硬體輸出資料結構 包括批次單元陣列,每一批次單元代表要被執行的分別圓 形運算,且其中批次單元陣列會被傳送給低度硬體依賴圖 形館以便被連續處理而產生微指令。 實施例又包含上述且其中低度硬體依賴圖形館包括用 以處理多邊形幾何素子、圖形線組、及圖形點組之參數化 程序,其中參數化程序會進一步用於處理織紋映射格式之 間的位元準位傳送、填充及轉譯》 實施例進一步包含上述且其中低度硬體依賴圖形館進 一步包括由處理器執行的性能/品質調整程序,以調整描 繪性能速度及對應地調整顯示於顯示螢幕上的影像描繪品 質。實施例進一步包含根據上述用以產生顯示清單之方法 較佳實施例說明 在下述的本發明詳述中,揭示不同的特定細節便於完 整地瞭解本發明。但是,對於習於此技藝者而言,無須這 些特定細節或藉由使用可能的要件或方法,亦可實現本發 明,係顯而易知的。在其它實例中,已知的方法、程序ι 本紙張尺度適用中i國家標準(CNS ) Λ4規格(210X297公疫"1 ' I------^Λ-裝------訂------ί i (請先閱讀背面之注意事項再填寫本頁) 31S852 A7 ___B7__ 五、發明説明(7 ) 元件、及電路,將不詳細述明以免不必要地模糊本發明之 觀點。 觀念及術語 下述的詳細說明中的某些部份會以程序、邏輯區塊、 處理、及其它電腦記億體內的資料位元上的操作之符號標 示等說明之。這些說明及標示係習於資料處理技藝者所使 用的手段,以便最有效率地將他們工作的實質內容傳遞給 其它習於此技藝者。此處*程序、邏輯區塊、處理等一般 可被視爲導致所需結果之前後一致的步驟或指令序列。雖 然並不必須,但是,通常這些實體操作會採用能被儲存、 傳送、結合、比較、及其它可在電腦系統中操作的方式之 電氣或磁性訊號。爲方便起見及共同參考之用,這些訊號 會被視爲與本發明有關之位元、值、要件、符號、字元、 術語、數目或類似者。 經濟部中央標準局員工消費合作社印製 (請先聞讀背面之注意事項再填寫本頁) 但是,必須謹記在心,這些術語係被解譯爲參考的實 體操作及數量,並僅爲方便標示且在慮及此技藝中所共用 的術語下而被進一步解譯。除非在下述說明中另有特別說 明,否則應瞭解本發明的整個說明中,使用諸如「處理」 或「計算(computing)」或「計算(caculating)」或「 決定」或「顯示」等等,係指執行及轉換資料的電腦系統 或類似的電子計算裝置之動作及處理。資料係代表電腦系 統暫存器及記憶體內的實體(電子的)數量並會被轉換成 其它類似代表電腦系統記憶體或暫存器或其它諸如資訊儲 本紙張尺度適用中國國家標準(CNS ) A4規格(2j〇x297公瘦1~ ' ~~ -10 - 經濟部t央標準局貝工消費合作社印製 A7 __B7_ 五、發明説明(8 ) 存、傳送或顯示裝置內的實體數量之其它資料。 第一節 電腦系統 本發明的應用程式(圖3之2 10)、高階圖形館 2 2 0和2 3 0及低度硬體依賴圖形館(HDGL ) 2 4 0包 括存在於本發明之電腦控制圖形顯示系統中的電腦可執行 指令。將於下進一步說明這些要件。圖2係說明作爲根據 本發明的電腦控制圖形顯示系統的一部份之範例電腦系統 1 1 2。圖2之電腦系統1 1 2僅作爲舉例說明之用,且 本發明可在多種不同電腦系統中操作,舉例而言,這些電 腦系統包含一般用途的電腦系統、嵌入式電腦系統、及特 別用於圖形顯示之電腦系統*這些系統可能包括也可能不 包括與圖2相同方式所示的相同元件。 圖2之電腦系統112包含傳送資訊之位址/資料匯 流排1 0 0、耦合於匯流排1 0 0以處理資訊及指令之中 央處理單元1 0 1 、耦合於匯流排1 0 0以儲存用於中央 處理器1 0 1之資訊與指令的讀/寫記憶體1 0 2 (例如 隨機存取記憶體或諸如快閃(FLASH)記億體等其它讀/ 寫記憶體)、耦合於匯流排100用以儲存用於處理器 1 0 1之靜態資訊與指令之唯讀記億體1 0 3。系統 1 1 2包含耦合於匯流排1 0 0用以儲存資訊及指令之資 料儲存裝置1 0 4 (例如磁碟或光碟及碟片驅動)。系統 1 1 2也包含耦合至匯流排1 0 0 (或者經由匯流排 本紙伕尺度適用中國國家標準(CNS ) Λ4規格(2】0乂 297公釐) (請先閲讀背面之注意事項再填寫本頁) -裝 訂 3iSS52 A7 B7 五、發明説明(9 ) (請先閲讀背面之注意事項再填寫本頁) 1 0 Oa直接耦合至硬體單元2 5 0 )用以顯示資訊(例 如圖形幾何素子)予電腦使用者之顯示裝置1 0 5。系統 1 1 2可選擇性地包含耦合至匯流排以傳送資訊與指令選 取予中央處理器1 0 1之文數字輸入裝置1 0 6 (例如包 含文數字及功能鍵之裝置)β系統1 1 2能選擇性地包含 耦合至匯流排1 0 0以傳送使用者輸入資訊與指令選取予 處理器1 0 1之游標控制裝置1 0 7。系統1 1 2可選擇 性地包含耦合至匯流排以傳送指令選取予處理器101之 訊號產生裝置1 0 8。處理器1 0 1含有指令或碼快取 1 0 2 a及資料快取1 0 2 b (例如,特別配置之RAM )。 經濟部中央標準局員工消費合作杜印製 用於本發明之電腦系統112內之圖2的顯示裝置 1 0 5可爲液晶裝置、陰極射線管、或其它適於產生使用 者可辨認的圖形影像及文數字字元之顯示裝置。選取的游 標控制裝置1 0 7會允許使用者在顯示裝置1 0 5的顯示 螢幕上動態地發出可見符號(指標)二維移動之訊號。很 多已知的游標控制裝置之實施包含軌跡球、滑鼠、觸摸板 、搖桿或能發出給定方向或位移方式之文數字輸入單元裝 置1 0 5上的特別鍵。應可瞭解游標機構1 〇 7也可經由 來自使用特別鍵及鍵序列指令之鍵盤的輸入而被導引及/ 或致動。或者,游標也可經由來自上述數個特定適用的游 標導引裝置之輸入而被導引及/或致動。也會耦合至匯流 排1 0 0、或者直接耦合至顯示裝置1 〇 5 (經由匯流排 1 0 〇a)者係圖形硬體(例如圖形加速器)單元2 5 0 ’其係用於高速圖形描繪圖形硬體單元2 5 0也含有視 本紙倀尺度ΐϊ用中國國家標隼(CNS ) A4规格(21ϋΧ297公釐) — 12 A7 B7 五、發明説明(10 ) 頻及其它記憶體1 0 2’(例如用以儲存顯示清單及/或 暫存織紋映射之RAM)。 圖2係說明本發明之低度硬體依賴圖形館(HDGL ) 240可存在於RAM 102、ROM 103、儲存104中。 在操作期間,HDGL 2 4 0的一部份也存在於碼快取 1 0 2 a中。 圖3係根據本發明之電腦控制圖形顯示系統2 0 0的 功能層之邏輯說明》除了硬體單元2 5 0及顯示單元 1 0 5之外,圖3的其餘元件可作爲電腦系統1 1 2 (圖 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 2 )內的可執行指令並能存在於RAM1 0 2、R0M1 0 3、 儲存1 0 4並在操作期間,HDLG 2 4 0的一部份也能存在 於碼快取1 0 2a中。高階應用程式2 1 0 (例如,模擬 器、設計工具、多媒體應用、醫療影像應用 '遊戲等等) 包含需要在顯示螢幕1 0 5上產生影像之常式。影像包括 圖形幾何素子(點、線、多邊形、陰影多邊形、混合多邊 形等等)。應用程式210的常式會藉由請求某些圖形幾 何素子被顯示並藉由供應代表圖形幾何素子之不依賴硬體 圖形結構,存取高階圖形館2 2 0 ( 3 D-DDI)及/或 2 3 0 ( OPEN GL)的圖形描繪程序。以往,雖然這些圖 形館2 2 0及2 3 0使用不依賴硬體輸入,但是它們的輸 出卻是依賴硬體的,每一被支援的硬體單元2 5 0會需要 特別的實施。圖形館2 2 0及2 3 0的硬體依賴程序之使 用在此技藝中已是習知。3D-DDI2 2 0及OPEN GL2 3 0 係範例並與包含PC並容及MIX電腦之數個電腦系統一起操 本紙悵尺度適用中國國家標隼(CNS ) A4現格(210X297公釐) -13 - 經濟部中央標準局員工消費合作杜印製 3iS852 A7 __B7^ 五、發明説明(11 ) 作β 根據本發明,圖形館2 2 0及2 3 0的圖形描繪程序 和它們的輸入及輸出資料結構係不依賴硬體的。這些高階 館2 2 0及2 3 0會與特定用於圖形硬體單冗2 5 0之低 度硬體依賴圖形館(HDGL) 240交介。圖形硬體單元 2 5 0可爲圖形加速器電路板,嵌入式積體電路、或特定 電腦系統或類似者之內的電路子系統。不依賴硬體通訊介 面240 a會被用以提供高階圖形館220、230與 HDGL 2 4 0之間所需的逋訊連接。一些習知通訊介面中 的任一者可被用以作爲根據本發明之介面2 4 Oa- 多種不同的圖形硬體單元2 5 0可被用於本發明的範 圍之內。根據本發明,HDGL 2 4 0可輕易地適用於這些不 同的硬體單元2 5 0並同時僅要求些微改變或無須改變高 階不依賴硬體圖形館2 2 0及2 3 0 » 圖3之HDGL 2 4 0包含可與高階圖形館2 2 0及 2 3 0交介之一組硬體依賴低階程序,該高階圖形館 2 2 0及2 3 0包含一組不依賴硬體圖形描繪程序。介面 會使用結構化合不依賴硬體之輸入資料格式。HDGL 2 4 0 的輸出資料格式係硬體依賴並特定爲用於硬體單元2 5 0 • HGDL 2 4 0的程序可在非常低階處(例如靠近硬體單元 2 5 0 )執行並因而僅需要支援有限數目的操作。由於 HDGL 2 4 0係低階,所以,其可輕易地被重新設計以便與 多種不同的硬體單元2 5 0 —起實現或重新設計以便與特 定圖形硬體單元一起執行而取代重新設計較高階圖形館 本纸張尺度適用中國國家標苹(CNS) Λ4規格(210x297公f ) -14 - (請先閎讀背面之注意事項再填寫本頁) 裝 ,ιτ 經濟部中央標準扃員工消費合作杜印装 A7 __.__B7_ 五、發明説明(12 ) 2 2 0及2 3 0之複雜工作(以往所執行者)。由於圖形 館2 2 0及2 3 0含有根據本發明之不依賴硬體之圖形描 繪程序,所以,無須針對每一可應用之硬體單元2 5 0重 新設計或重寫這些館。 在本發明之下,高階圖形館2 2 0及2 3 0會依賴本 發明之HDGL 2 4 0以執行影像描繪所需的硬體特定功能。 以此方式,圖3的電腦控制圖形系統2 0 0藉由降低複雜 度(低階)之HDGL 2 4 0的修改便可輕易地適用於多種不 同的硬體單元250,且無須修改高階館220及23 0 。或者,一些不同的HDGL2 4 0可被包含在系統2 0 0內 ,每一不同HDGL 2 4 0特定用於特別硬體單元2 5 0 ^在 此另一實施例中,本發明可允許使用者選甩特別的硬體單 元2 5 0,且對應於所選取的硬體單元2 5 0之適當HDGL 會由系統200自動地使用。 在編譯及連結應用程式2 1 0時,所需的館2 2 0和 2 3 0之程序及HDGL 2 4 0的程序和其它所需要件會被連 結以產生應用程式210的可執行形式。 圖4係資料流程圖並說明用以在顯示螢幕上產生影像 之本發明電腦控制圖形顯示系統2 0 0的層之間的相關資 料流動。與資料流動有關的處理流程說明於圖7中並進一 步分別說明於下。 參考圖4,高階應用軟體2 1 0會產生包含代表圖形 幾何素子或影像之顯示資料的不依賴硬體圖形描繪請求( 圖形請求)。此不依賴硬體資料結構410包含用於描繪 本紙乐尺度適用中國國家標準(CNS ) A4規格(2丨OX297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝
、tT 3ΐδδ52 Α7 ____Β7 五、發明説明(l3 ) 個別圖形幾何素子或諸如位元準位傳送(BLT )或填充等 其它圖形描繪指令之資料。資料結構4 1 0包括單一幾何 素子或眾多幾何素子及/或指令。單一的不依賴硬體資料 結構4 1 0會一次被傳送給高階圖形館2 2 0或2 3 0, 或者很多請求會以陣列格式一次傳送給館2 2 0或2 3 0 經濟部中央榡準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 高階圖形館2 2 0或2 3 0會針對每一圖形請求而接 收不依賴硬體資料結構4 1 0並.收集它們直至從應用軟體 2 1 0收到一組資料結構4 1 〇爲止》組的大小係可變的 並根據高階圖形館2 2 0或2 3 0爲回應資料結構4 1 0 所產生的批次陣列4 2 0的可允許大小而被決定。如圖6 所示,批次陣列4 2 0係不依賴硬體的並包含諸如 4 2 Oa、4 2 Ob、4 2 Oc等批次單元序列。每一批次 單元代表至少一要被產生的圖形幾何素子及/或要被執行 的圖形描繪指令並含有運算元及與運算元有關的一組資料 °在批次陣列4 2 0內的批次單元的數目係可變的並可由 使用者以程式設計。一旦決定諸如X之批次單元的特定數 目’則高階圖形館220會在記億體10 2 (圖2)中建 構特別的批次陣列4 2 0直至符合X批次單元爲止或直至 達到某些其它時間關鍵點爲止。 參考圖4 * 一旦在記憶體(例如1 0 2 )中構成批次 陣列4 2 0時,其會被傳送至本發明的硬體依賴 HDGL 2 4 0。HDGL 2 4 0會連續地處理批次陣列4 2 0之 單元。對於每一單元而言,不依賴硬體資料結構及批次單 本紙悵尺度適用中國國家標隼(CNS ) A4規格(210X 297公釐) -16 - 經濟部中央樣準局員工消費合作社印策 A7 _______B7 五、發明説明(14 ) 元的運算元會被轉譯成硬體依賴微指定,這些微指令會被 加至硬體依賴顯示清單4 3 0 >顯示清單4 3 0也會被儲 存於記憶體(例如102)中。顯示清單430內的微指 令會由硬體單元2 5 0所使用以便將圖形幾何素子及/或 圖形描繪指令描繪至顯示螢幕1 〇 5之上。藉由以批次陣 列爲基礎處理源於應用程式210之圖形指令及幾何素子 ,本發明的HDGL2 4 0的硬體特定描繪程序可以有效地利 用本發明系統2 0 0內可資利用的資料和碼快取資源》 圖5係邏輯方塊圖,說明本發明的HDGL 2 4 0之主要 元件。HDGL 2 4 0包含一組用於結合相關資料結構(區塊 310)之低階程序(區塊320及330),該相關資 料結構(3 1 0 )會藉由在記億體的顯示清單(其也能存 在於系統1 1 2內或專用於硬體單元2 5 0內)內產生微 指令而與硬體單元2 5 0直接交介。HDGL會從高階圖形館 2 2 0和2 3 0接收關於圖形影像或要被描繪的影像之圖 形資訊(不依賴硬體)並從其中產生會被傳送給硬體單元 2 5 0及被用以描繪影像至顯示1 0 5上的硬體依賴顯示 清單*由HDGL 2 4 0所接收以產生圖形影像之圖形資訊典 型上係爲界定的圖形幾何素子及圖形指令形式。由 HDGL 2 4 0所產生的顯示清單係微指令清單,該微指令係 硬體依賴的並由硬體單元2 5 0用以描繪幾何素子以產生 圖形影像 參考圖5,HDGL 2 4 0之資料結構3 1 0包含輸入結 構,用以接收本發明內特定的不依賴硬體格式之圖形幾何 本紙浪尺度適用中國國家標半(CMS ) A4規格(2I0X;W公釐) -17 - -------r4.裝-- (請先閱讀背面之注意事項再填寫本頁)
.1T 經濟部中央標準局負工消費合作社印製 A7 ____B7_ 五、發明説明(is ) 素子資料並用以接收其它運算元和織紋映射。區塊3 2 0 包括用以轉換不依賴硬體圖形指令及幾何素子成爲硬體依 賴顯示清單微指令之一組運算或「參數化」。如同下述, 輸入的圖形指令及幾何素子會被儲存於批次單元內。區塊 3 2 0也包含用以調整系統2 0 0之描繪品質及描繪性能 的程序。區塊3 3 0包含織紋映射程序以暫存(例如轉譯 )、載入、及顯示織紋映射。區塊330的暫存程序會被 用以在索引成調色板之格式與使用RGB-阿爾發資料格式之 間轉譯織紋映射資料。將於第二節說明HDGL 2 4 0之範例 實施。 圖7係根據本發明HDGL 240的描繪處理5 0 0之邏 輯區塊的流程圖。應可瞭解*處理5 0 0係在諸如範例電 腦系統1 1 2的電腦系統內執行。 在區塊5 1 0,高階應用程式2 1 0會請求執行圖形 幾何素子及/或運算或幾何素子和/或圖形描繪運算組。 代表這些請求的資料結構410會從應用程式210供應 。高階應用程式210會一次請求幾何素子或者請求可由 已請求一段時間之一些個別的幾何素子及/或圖形描繪運 算所構成。區塊5 1 0期間所作的圖形描繪請求之格式係 不依賴硬體的。 在邏輯區塊515 ,高階圖形館220或230之不 依賴硬體圖形描繪程序會接收幾何素子及/或圖形描繪運 算並根據單一請求或一些連續從區塊510收到的請求而 構成批次陣列4 2 0。取決於批次陣列4 2 0的可允許大 本紙悵尺度適用中國國家標华ί CNS ) Λ4現格(210X297公i ) ~~ -18 - (請先閱讀背面之注意事項再填寫本頁) 裝 訂 3iS852 A7 _____B7__ 五、發明説明(16 ) 小,會需要數個個別的批次陣列4 2 0以處理自區塊 5 1 0所接收的請求。在邏輯區塊5 1 5,高階圖形館 2 2 0 或2 3 0之不依賴硬體圖形描繪程序會接收幾何素子 及/或圖形描繪運算並根據單一請求或一些連續從區塊 5 1 0收到的請求而構成批次陣列4 2 0。將視批次陣列 4 2 0的可允許大小,而需要數個個別的批次陣列4 2 0 以處理自區塊5 1 0接收的請求》批次陣列4 2 0會被儲 存於記憶體1 0 2中且批次陣列4 2 0之最後批次單元會 被標記爲「批次結束」單元。如圖8 Α所示,所構成的批 次陣列4 2 0的一部份會被儲存於資料快閃1 0 2b中。 假使批次陣列4 2 0夠小,則整個批次陣列4 2 0在資料 快閃記憶體1 0 2b內是適合的。雖然一些不同的記億體 大小可有效地與本發明一起操作,但是,資料快閃記億體 的範例大小爲8或更多仟位元組等級。批次陣列4 2 0的 批次格式係不依賴硬體的。 經濟部中央標準局—工消費合作社印t (請先閱讀背面之注意事項再填寫本頁) 在圓7的邏辑區塊5 2 0,批次陣列4 2 0會被傳送 至本發明的HDGL 240 β在本發明內,步驟520是不需 要真正的記億體轉移,取而代之的是指標可被轉移至標示 共用記憶體1 0 2中的批次陣列4 2 0之啓始記憶體區的 HDGL 240。在邏輯區塊525,HDGL 2 4 0的參數化常 式(圖4之區塊3 2 0 )會被用以個別地處理批次陣列 4 2 0的每一批次陣列單元以產生硬體特定微指令’這些 微指令會被加至電腦記憶體中的顯示清單4 3 0 (例如記 本紙$尺度適用中國國家標準(CNS ) Λ4规格(2丨0X297公釐_) _ A7 B7 3χ&852 五、發明説明(17 ) 億體1 0 2或其它可由硬體單元2 5 0直接存取的記憶體 )>參數化常式會以迴路形式、不被中斷之方式’在整個 批次陣列4 2 0上操作,直至遇到「批次結束」爲止。參 數化常式3 2 0會被規劃成它們完全適於如圓8 A所示的 碼快閃記憶體1 0 2 a內。 在圖8A中,由於批次陣列4 2 0內的一些批次單元 係在資料快閃1 0 2b內且由於HDGL 2 4 0的參數化程序 3 2 0係在碼快閃1 0 2a內,所以,因爲圖8 A所示的資 料不會遭遇資料快閃或碼快閃遺失,故本發明能提供這些 批次單元有效率的處理機構。換言之,根據本發明,大部 份的資料及執行參數化所需的所有碼會位於快閃記億體內 。當這些位於快閃1 0 2b內的批次單元正被處理時,顯 示清單4 3 0會被構造成代表性微指令,這些微指令會被 HDGL 2 4 0的參數化程序3 2 0針對每一批次單元將其加 至顯示清單4 3 0。如圖7之區塊5 2 5所示,當記億體 快閃1 0 2 b的批次單元被HDGL 240完全處理時,本發 明會如圖8 B所示將另一組批次單元載入資料快閃1 〇 2 b ,且此組會再度由參數化程序3 2 0有效率地處理而無資 料或碼快閃遺失。如圖8 C所示,針對又另一組批次陣列 420的批次單元重覆處理。 圖7的處理5 2 5會一直重覆,直至在批次陣列 4 2 0中遇到批次結束單元爲止。此時,硬體依賴顯示清 單4 3 0被完全慮及。在邏輯區塊5 3 0 ,顯示清單 4 3 0會被轉換至硬體單元2 5 0以便描繪。在本發明內 本紙張尺度適用中國國家標芈(CNS ) Λ4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) -装 訂 經濟部中央標準扃員工消費合作社印策 經濟部中央標準局負工消費合作社印製 A7 B7 五、發明説明(18 ) ,步驟5 3 0無須真正地轉換記憶體,取而代之的是指標 被轉換至硬體單元2 5 0以標示共用記憶體1 〇 2中的顯 示清單4 3 0之啓始記憶體區。在區塊5 3 0,顯示清單 的微指令會被硬體單元2 4 0處理且位元映射影像會被產 生在顯示螢幕1 0 5上並由框緩衝器或其它視頻記億體維 持直至被修改或改寫爲止。當硬體單元2 5 0正處理顯示 清單4 3 0時,處理器1 0 1可免於處理應用程式2 1 0 的指令》 藉由本發明之HDGL 2 4 0處理圖形幾何素子及/或圖 形描繪操作,可以有效率地利用資料及快閃記億體 10 2 b及1 0 2 a以儲存並供應所需的指令及資料以便 處理連績的批次單元》使用此方法,在參數化期間僅有少 量資料快閃遺失且無碼快閃遺失(例如,區塊5 2 5 )。 描繪品質/性能調整》本發明HDGL 2 4 0進一步允許 使用者可選擇調整,以改變HDGL 2 4 0所執行的描繪性能 等級(例如速度)並對應地改變影像品質描繪的等級特 別的是,HDGL 2 4 0提供圖9 A所示之使用者可調整性能 /品質控質面板。性能/品質控制面板6 1 0或「標度盤 (dial)」會被本發明顯示於螢幕1 0 5之上。面板 6 1 〇具有使用者可調整設定指示器6 1 5 ,該指示器可 由鍵盤控制經由單元1 0 6而改變或由游標1 0 7或類似 螢幕介面所改變。設定標示器6 1 5可延著標度盤6 1 0 被調整以改變部份6 1 0 a所標示的品質設定,該部份 6 1 0 a也會對應地改變部份6 1 0 b所標示的性能設定 本紙張尺度適用中國國家標準(CNS ) Λ4規格(210X297公釐) I.-41 裝— (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標隼扃I工消費合作社印製 A7 B7 五、發明説明(19 ) * 。刻度盤6 1 0會標示品質及性能的最小及最大設定(在 一實施例中,會使用代表8位元數的十進位範圍之0至 2 5 5刻度)。也可使用其它的刻度盤格式(例如圓形) 〇 圖9 A的品質及性能最小及最大設定係次序反轉以說 明二特性之間的倒轉關係。根據刻度盤6 1 0,當描繪品 質增加時*使用者會希望影像品質或描繪品質增加。由於 圖形系統2 0 0將要求更多處理時間以取得所需的影像品 質,所以,此動作將自動地減少描繪性能值。相反地,當 描繪性能增加時,圖形系統2 0 0會減少影像品質的等級 以便經由硬體單元2 5 0而更快速地處理圖形資訊。參考 範例實施例,第二節將說明用以輸入設定6 1 5值之程序 SetQualityDial ° 圖9 B之邏輯處理6 2 0係說明HDGL2 4 0的處理, 該處理係回應圖9 A的品質/性能控制面板6 1 0中的設 定6 1 5。使用圖2所示的電腦系統,執行處理620。 邏輯區塊6 2 5會根據設定顯示器6 1 5的位移,調整圖 形影像的透視描繪等級。如圖1 0 Α所示,圖形要件 6 5 0可以根據線性模式而被分割成次分割6 5 0a〇線 性次分割並不消耗計算時間且允許系統2 0 0之高性能速 率處理能取得良好的描繪性能。但是,如圖1 0 B所示, 圖形要件6 5 5也可根據透視模式而被次分割,該透視模 式相較於線性模式,可在螢幕1 〇 5上較佳地顯示要件的 三維方向。圖1 0 B係說明次分割6 5 5 a並非以線性形成 本紙浪尺度通用中國國家標準(CNS ) Λ4規格(210X 297公釐) !1-. - JI— In 1 - - — I (請先閲讀背面之注意事項再填寫本頁)
•tT 經濟部中央標準扃員工消費合作杜印袈 A7 ____B7 _ 五、發明説明(2〇 ) 而是部份根據要件6 5 5的三維方向並根據要件6 5 5的 深度方向(例如,Z軸657)漸變(以顯示透視圖)》 透視次分割會描繪較高品質圖形影像但需加強計算並減少 描繪性能速率。 當設定指示器615被移動以增加描繪性能速率時, 圖9 B的處理6 2 5會減少透視次分割的總量並增加線性 次分割總量。同樣地》當設定指示器6 1 5被移動以增力口 描繪品質時,處理6 2 5會增加透視次分割的總量並減少 線性次分割總量》根據本發明,可使用一些功能的任一項 以達到根據給定設定615之透視/線性次分割的程度》 在一實施例中,在設定6 1 5超過性能(6 1 Ob)的中 途點則所有次分割爲線性且假使設定6 1 5超過品質( 6 1 〇a)的中途點則所有次分割爲透視之情形下,決定 臨界值。在其它實施例下,當性能速率增加時會以透視次 分割程度爲代價而增量地增加線性次分割的程度或數目並 當品質增加時反向爲之。 .圖9Β的邏輯區塊6 3 0會根據設定6 1 5調整多邊 形(例如三角形)誤差修正因數。如圖1 0 C所示,當二 三角形6 6 0及6 7 0重疊於區域6 7 5時,用以計算誤 差修正因數或項次之特別程序會被用以準確地描繪重疊區 6 7 5 »本發明所使用之此誤差修正程序及誤差修正因素 揭示於美國專利申請號08 / 299 ,739 ,代理人標 號 9 8 4 1 2 8US,1 9 9 4 年一月由 Thomas Dye 申請並 讓渡給本發明之受讓人的「Incremental Orthogonal Er- 本紙悵尺度適用中國國家標準(CNS ) A4規格ί 210X297公嫠) (請先閱讀背面之注意事項再填寫本頁) 1裝 ,tr 31S852 A7 ___B7_ 五、發明説明(21 ) ror Correction for 3D Graphis」。根據區塊 6 3 0 · 假使設定6 1 5標示較髙速率的性能時,則本發明2 4 0 會減少或消除上述處理所計算及使用的誤差修正因數總量 。在此情形下,會以較差影像品質但良好的描繪性能速率 ,描繪三角形660及670 »或者,假使設定6 1 5標 示更高影像品質時,則本發明HDGL 2 4 0會增加上述處理 所訐算及使用的誤差修正因數總量或使其最大化β在此情 形下,會以較佳影像品質但較低速性能,描繪三角形 6 6 0 及 6 7 0 經濟部中央標準局眞工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 圖9 Β的邏輯區塊6 3 5會控制用以切斷透視描繪之 幾何素子的臨界尺寸設定。亦即•某些小尺寸的幾何素子 之影像品質由於其減少的尺寸而無法從透視描繪大幅改進 。可切斷所有臨界尺寸之下的幾何素子透視描繪技術的臨 界尺寸會由HDGL 240維持》當性能/品質設定615 ( 圖9Α)被設定爲較高影像品質時,由本發明的區塊6 3 5所維持的臨界尺寸會被減少以致於使用透視描繪技術顯 示大部份的幾何素子》當性能/品質設定615 (圖9Α )被設定爲較高描繪性能速率時,由本發明的區塊 6 3 5 5所維持的臨界尺寸會被增加以致於使用透視描繪 技術不顯示逐漸增加的較大圖形幾何素子或影像以增加性 能。根據本發明,可使用一些函數的任一項以達到根據給 定設定615之臨界切斷尺寸。 織紋映射格式轉譯。本發明的HDGL 2 4 0也會提供織 紋映射格式之間的轉譯以暫存織紋資訊(織紋)0在範例 本紙ί良尺度通用中國國家標準(CNS ) Α4現格(2ΙΟΧ 297公釐) -24 - 經濟部中央標準局員工消費合作社印製 A7 ____B7 五、發明説明(22 ) 實施例中,二織紋格式可用於本發明的圖1 1之電腦系統 執行轉譯程序7 0 0。一格式係每一像素被設定紅、綠、 藍及阿爾發值之RGB-alpha格式。第二格式係每一像素被 設定爲調色盤引數值之引數格式》內定格式會取決於硬體 單元2 5 0所採用的格式。上述格式中的任一者*或任何 其它格式,可爲內定格式*程序7 0 0係說明RGB-alpha 格式爲內定格式之範例實施例。 根據處理700,在邏輯區塊705,HDGL 2 4 0會 接收特別織紋格式之原始織紋資訊《此原始織紋資訊或資 料會被置入記億體1 0 2。在邏輯區塊7 1 0 ,本發明會 檢查預定旗標以決定織紋資訊是否爲引數格式(例如特別 調色盤引數)。假使是,則處理會繼續邏輯區塊715, 在此區塊處,織紋資料會從引數格式轉譯成RGB-alpha格 式。在區塊7 1 5,對織紋資料的每一像素而言,引數值 會被使用以便從調色板取得用於該像素之特別顏色屬性。 一旦發現顏色屬性時,則其紅、綠、藍及阿爾發值會被決 定並被以RGB-阿爾發格式記錄。然後,最終的織紋資訊會 被存入記億體1 0 2中的新區域中或存入與原始織紋資訊 相间的區域(例如改寫原始織紋資訊)。然後,處理會前 進至區塊7 2 0 β 在區塊7 1 0 ,假使引數格式並非引數模式,則假設 格式爲RGB-阿爾發。在處理回至區塊7 2 0之前,織紋會 被暫存。然後,處理會進行至邏輯區塊7 2 0 ,於其中織 紋資訊會被HDGL2 4 0的參數化程序3 2 0傳送及分配以 本紙悵尺度適用中國國家標準(CNS ) A4规格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 綵 經濟部中央標準局員工消費合作社印製 A7 ___B7_______ 五、發明説明(烈) 便使用。取決於硬體單元2 5 0,這會將織紋從記憶體 1 0 2 (系統記億體)載入可由硬體單元2 5 0直接存取 的記億體102'(典型上在其內)。然後’如同第二節 所述的實施例所示,暫存的織紋資訊會由一些本發明可辨 識的多邊形描繪操作所顯示。 應可瞭解,也可對織紋資訊之外的任何圖形資訊執行 圖1 1所示的轉譯處理700 «以便顯示。舉例而言,與 幾何素子有關的頂點可特定爲引數或RGB-阿爾發格式且本 發明會視給定的內定(特別說明詳見下述第二節)而在二 格式之間轉譯。 參數化。圖1 2係說明HDGL 2 4 0之電腦執行邏輯程 序8 0 0的流程圖,其係用以訊問批次陣列4 2 0的批次 單元並於其上執行參數化以建構用於顯示清單4 3 0的微 指令。處理800係對應圖7的處理525 ^程序800 的特別執行可參考下述第二節的BuildDisplayListo處理 8 0 0會處邏輯區塊8 0 5開始,於其中本發明會檢查圖 形程序是否被初始(例如,檢査IntiGraph是否被執行) ,假使結果爲否,則處理會經由邏輯區塊8 5 5而結束。 假使圖形被初始,則處理會進行至區塊邏輯8 1 〇,於其 中取得批次陣列4 2 0的批次單元並質詢來自批次單元的 參數。在一實施例中(說明於下述第二節),每一批次單 元含有運算元欄、標示關於單元中的資料之頂點數目的數 目欄,旗標攔、及用於每一頂點(例如顔色屬性、坐標等 等)的資料結構(或指向其之指標)。運算:元界 本紙伕尺度適用中國國家標準(CNS ) A4規格(210X 297公嫠)—~' ' ---- -26 - (請先閲讀背面之注意事項再填寫本頁) 裝
’IT 經濟部中央標苹局員工消費合作社印取 A7 B7 五、發明説明(24 ) 被描繪的幾何素子或要被執行的圖形指令或運算。 將視單元的運算元,而由切換邏辑區塊8 1 5呼叫 8 2 0 — 8 4 5的一程序。讀取批次單元的參數及從其中 產生微指令以置入顯示清單4 3 0的處理被稱爲「參數化 」並由邏輯區塊820 - 845所執行》假使運算標示 BLT ,則由邏輯區塊8 2 0執行第一螢幕區與第二螢幕區 之間的位元準位轉換。第一螢幕區係由二角座標(第一及 第二頂角)所辨認且第二螢幕區會由一座標(第三頂角) 所辨認。然後,第一座標內的像素會由BLT運算拷貝至第 二座檩。根據旗標欄,織紋資訊可被用作轉換源。而且, 第二旗標設定會使轉換與螢幕更新同步。根據BLT運算, 本發明HDGL 2 4 0會在硬體依賴顯示清單4 3 0內產生適 當的微指令。 假使來自區塊8 1 5的運算元爲FILL運算元,則邏輯 區塊8 2 5會被執行,於其中由二角(第一及第二頂角) 所指定的螢幕區會被指定的資訊源所填充。用於填充的選 取顏色係導源於第一頂角資料結構中的顏色屬性集。假使 Z-緩衝被設定於批次旗標中時,則Z-緩衝會被界定於數目 欄中的值所填充。根據FILL運算,本發明HDGL 2 4 0會在 硬體依賴顯示清單4 3 0內產生適當的微指令。 假使來自圖1 2的區塊8 1 5之運算元爲POINT,則 執行邏輯區塊8 3 0以便在顯示清單4 3 0中產生微指令 以顯示一些點,這些點係被界定於頂角資料結搆中,而要 被處理的點數目會被標示於數目攔內。根據POINTS運算, 本紙張尺度適用中國國家標芈(CNS ) Λ4規格(210X297公釐) I------^以-裝—丨 (請先閱讀背面之注意事項再填寫本頁) ,ιτ 319852 A7 ____ B7 五、發明説明(25 ) 本發明HDGL2 4 0會在硬體依賴顯示清單4 3 0內產生適 當的微指令。假使來自圖12的區塊815之運算元爲 POLYLINE運算元,則執行邏輯區塊8 3 5以便在顯示 清單4 3 0中產生微指令以顯示批次單元所界定的線或線 系列。包括線或複數個線的點係由頂點資料結構所界定且 點的數目會被界定於數目欄中》支擾三個線描繪模式,清 單、條或扇,且模式會被設定於旗標襴中。在清單模式中 ,會以代表每一線的端點之每一頂點對描繪獨立線集。在 條模式中,第二線會附加至前一線的端點》第一線會由一 對頂點界定且之後的每一線會由單一頂點所界定。在扇模 式中,第一頂點會界定用於所有線的一點(共用點)且之 後的每一頂點會界定從第一頂點至該點的線》在每一上述 模式中,數目攔會指定POLYLINE運算中的頂點數目。根據 POLYLINE運算,本發明HDGL 2 4 0會在硬體依賴顯示清單 4 3 0內產生適當的微指令以用於被處理的批次單元。 假使來自區塊8 1 5之運算元爲POLYGON運算元,則 執行邏輯區塊8 4 0以便在顯示清單4 3 0中產生微指令 經濟部中央標隼局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 以便顯示批次單元所界定的多邊形幾何素子或多邊形系列 。批次單元中所指定的頂點數目會被標示於數目攔中。支 援三個多邊形描繪模式,清單、條或扇,且模式會被設定 在旗標欄中。在清單模式中,每三個頂點界定多邊形。在 條模式中’首三頂點界定第一多邊形且之後的每一頂點界 定共用前一多邊形的二頂點之新多邊形。在扇模式中,頂 點資料結構中的第一頂點會由每一多邊形共用且之後的每 本紙浪尺度通州中國國家標準(CNS ) A4規格(2⑴X 297公釐) 經濟部中央榡準局員工消費合作社印製 A7 __B7_ 五、發明説明(26 ) 二頂點會界定新的多邊形β根據POLYGON運算,本發明 HDGL 2 4 0會在硬體依賴顯示清單4 3 0內產生微指令, 以便用於被處理的批次單元。 假使來自區塊8 1 5的運算元係控制運算元,則執行 邏輯區塊8 4 5以處理控制運算元。舉例而言,控制運算 元SaturatetoBounds集會將某些顏色控制暫存器的高及低 設定爲數目欄中的第一及第二位元組的值以用於顏色掩罩 及飽和。Set ZMask運算元會將用於碰撞偵測及物件辨認的 Zmask設定爲數目爛的值e SetDisplayPage控制運算元會 設顯示區的開端偏移。這會被用以使緩衝變爲二倍或三倍 。偏移值會被傳入數目欄。如同第二節所述,其它控制運 算元是可允許的。 在完成邏辑區塊8 2 0 - 8 4 5之後,它們會返回區 塊8 5 0,於其中被處理的批次之旗標欄會被測試以決定 其是否含有Batch_End旗標假是結果爲是,則批次陣列 4 2 0完成且執行會經由區塊8 5 5離開。假使Bat ch_ End旗標未被設定,則處理會返回區塊8 1 0以取還並處 理批次陣列4 2 0的下一批次單元。當系統2 0 0接收充 份旳顯示清單指令時,由圖1 2的處理所產生的顯示清單 會被描繪至顯示單元1 0 5之上(參見第二節之範例實施 例)。 用於處理8 0 0所需之指令集係夠小巧而能適用於大 部份電腦系統的大部份碼快閃記億體1 〇 2 a內。以此方 式,經由處理8 0 0的批次單元的批次陣列4 2 0之執行 本紙乐尺度逋用中园國家標箪(CNS ) A4規格(210X297公釐) -------7Λ-裝-- (請先閱讀背面之注意事項再填寫本頁) 訂 A7 ______B7 五、發明説明(27 ) 並不會造成碼快問遺失且參數化處理8 0 0會快速地被執 行。藉由連續地執行批次陣列4 2 0內的批次單元而不中 斷,則在參數化期間,也可使資料快閃1 0 2 b的使用最 大化。 第二節 HDGL 2 4 0的目的係提供可用於不依賴硬體圖形館 2 2 0及2 3 0之容易適用的硬體依賴介面。期望不同版 本的HDGL可在低階發展以便與多種不同硬體單元一起操作 。或者,HDLG組提供一些硬體單元以供使用者能在組之間 選擇。一HDGL 2 4 0版本的範例施例說明如下。雖然在本 發明的HDGL 2 4 0之範圍及精神下,可實現一些選擇實施 例,但是,下述之範例實施例係爲C語言下的模式。特別 的是,用於圖4的HDGL 2 4 0之資料結構區塊3 1 0及運 算區塊3 2 0之範例實施會被給定。習於此技藝者能利用 特定結構和程序及可提供所需結果之HDGL 2 4 0。 經濟部中央標隼局®:工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 範例硬體依賴圖形館資料結構310 下述基本欄型式界定如下: int 32位元有符號整數 DWORD 3 2位元無符號整數 WORD 1 6位元有符號整數 BYTE 8位元無符號字元 本紙張尺度適用中國國家標準(CNS ) A4规格(2丨OX297公釐) -30 - A7 經濟部中央標準局員工消費合作杜印掣 B7五、發明説明(28 ) FIX 32位元固定點數目,16位元爲整數, 1 6位元爲分數 bool 真(1 ) /假(0 )整數 HDGL 2 4 0作爲參數化層,其中圖形幾何素子(點、 線等等)的髙階說明會被處理且產生硬體等級碼並將其儲 存於顯示清單4 3 0。HDGL的輸入批次陣列4 2 0會被界 定爲BATCH (批次)結構陣列。每一批次單元含有至少一 BATCH結構。範例BATCH結構(例如用於批次陣列4 2 0 之批次單元)說明如下。 Batch DWORD dwOp, DWORD dwFlags, DWORD dffN, WORD wTexID, Vert* pVert; 上述BATCH結構係用於批次單元之原型。值「dwN」界 定關於Batch結構之幾何素子中的頂點點數。「cUOp」決 定Batch結構所執行的基本圖形運算並可爲下述之一: 1 · 2 D運算:運算元BLT會拷貝首二頂點所界定的長 方形區;例如,第一頂點界定左上角,第二頂點界定右下 角(含)β該區之目的地係由其左上方座標之批次陣列的 本紙張尺度適用f國國家標隼(CNS ) Λ4规格(210X297公釐) 一 31 - ^ 《.___- 訂 《線 (請先閱請背面之注意事項再填寫本頁) 經濟部中央標準扃員工消費合作社印繁 31SS52 A7 B7 五、發明説明(29 )
Batch結構中的第三頂點所界定<•假使旗標timeE^BLT被 設定,則將被執行的BLT運算會由儲存在單元的dwN欄中的 線數之視頻更新所觸發。假使TEXTURE出現在旗標中,則 織紋數dwN將成爲BLT運算的來源。運算元FILL設定螢幕的 長方形區之顏色或其它屬性^該區係由首二個頂點所界定 ;例如/第一頂點界定左上角,第二頂點界定右下角(含 )。假使Z緩衝被設定於dwFlags內,則2緩衝會被來自 dwN櫊的值(例如,低1 6位元)所填充。其在一實施中 通常被設定爲OXFFFF。從第一頂點顏色欄取出填充框緩 衝器(例如由硬體單元2 5 0所共用或存取的記憶體單元 )的顏色值。FILL運算元會辨識零填充並設定硬體單元 2 5 0所支援的快速清除運算。 2 _ 3 D運算:POINT運算元會描繪一組點,該組點的 座標係由頂點陣列所指標。點的數目會被界定在dwN攔內 。POLYLINE運算元會描繪由達到(dwN- 1 )頂點所組成的 多線幾何素子。POLYGON運算元會根據dwN個頂點而描繪多 邊形幾何素子。多邊形的正確型式係經由POLY*旗標指定 的。 3 .圖形描繪控制運算:在一實施例中,SATURATE_ T0_B0UNDS運算元會將比較暫存器的高及低設定爲0至 2 5 5範圍內的dwN中的第一位元組及第二位元組的值。 這會被用於顔色遮罩及飽和程序中》SET_Z_M ASK運算元會 將用於碰撞偵測及物件辨識之Z_mask設定爲dwN的值(例 如,低1 6位元)。物件辨識的下層原則係保留Z座標的 本紙浪尺度適用中國囤家標準(CNS ) Λ4規格(2[0X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 A7 B7 五、發明説明(30 ) 數個較高位元以保留物件辨識數號。在一實施例中,藉由 將它們的位元設定爲0而將其餘位元設定爲1 ,則此分割 爲硬體保護β稍後在碰撞偵測期間,已碰接之Ζο值會因該 位元串而被檢査以顯示被碰撞的物入之辨識。SET_ DISPLAY _PAGE運算元會設定顯示的偏移開端。這會被用 * 以使緩衝加倍或變成三倍。偏移會被傳入dwN欄。 關於Batch結構,「dwFlags」欄會標示額外特性: BATCH_END旗標會被設定在批次陣列4 2 0中的最後單元 以終止批次處理。假使僅有一批次單元,BATCH__END會被 設定在單元的dwFlags中。TIMED_BLT旗標會被設定在BLT 運算內以執行計時的BLT運算,該運算係與指定的螢幕更 新線同步〃 經濟部中央標準局員工消費合作社印製 —^1 -- 11 1-- ^^^1 1-^— ·· 二-^— ! f f I (請先閲讀背面之注意事項再填寫本頁) 線 「divFUgs」欄也會標示要使用的特別多線幾何素子 及多邊形幾何素子描繪模式。多線幾何素子可爲多重線並 被界定爲清單、條、或扇,指定下述之一 :(1) LINE_ LIST、或(2 ) LINE_STRIP、或(3 ) LINE-FAN。多邊形 幾何素子可爲多重三角形並被界定爲清單、條、或扇,指 定下述之一 :1 ) P0LY_LIST' 或(2 ) POLY_STRIP、 或(3 ) POLY_FAN。這些描繪模式之間的差異將說明如下 。LIST係有次序的點集合,其會藉由使用三點而界定多邊 形(例如,三角多邊形)。第一三角多邊形係由點0 ' 1 、2所界定。第二三角多邊形係由點3 、4、5所界定° 第三三角形係由點6、7'8所界定等等。STRIP係有次 序的點集合,其使用點0、1、2作爲第一三角多邊形。 本紙张尺度適用中國國家標準(CNS ) A4規格(2U)X 297公釐) 33 經濟部令央標準局員工消費合作社印製 A7 五、發明説明(31 ) 第二三角多邊形係由點1、2、3所界定。第三三角多邊 形係由點2、3 ' 4所界定等等e FAN係爲有次序的點集 合,其使用點0作爲很多三角多邊形的中心。第—三角多 邊形係由0、1、2所界定“第二三角多邊形係由點〇、 2、3所界定。第三三角多邊形係由點〇、3、4所界定 等等。 假使運算被設定爲Z緩衝,則下述旗標之一會被加入 「dwFLAGS」內:(1 ) ZBUFFER會執行標準Z運算;或 2ALWAYS寫像素及Z二者;或ZMASK執行標準Z運算,但不更 新Z緩衝器。此外,假使需要陰影,則GOURAUD旗標會被加 入多線及多邊形運算。在支援此特性的某些硬體單元中, ALPHA旗標會被加至多邊形運算以用於阿爾發混合。 TEXTUKE旗標織紋映射多邊形。此織紋化多邊形也能 有PERSPECTIVE加入以開啓透視修正。如同下述,值「 wTexID」代表暫存的織紋之織紋ID號 下述旗標係與織紋一起使用:(1 ) TEX_MAX_ NEAREST,共同內定;或(2 ) TEX_MAX_LINEAR ;及下述 之一:TEX_MIN_NEARB:ST’ 或 TEX_MIN —LINEAR,另一共同 內定。旗標TEX_TRANSP會被加入以用於透明織紋。將被視 爲透明之顏色會由運算SATURATE_T〇_BOUNDS設定爲低及高 值。 HDGL 2 4 0的另一資料結構係用於界定圖形幾何素子 之頂點的Vert結構。 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X 297公釐) HM 4— (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(32 )
Vert FIX X, y, z; un i i on c BYTE index; BYTE r, g, b, a; F I X u,v,; 在頂點的3D空間中之位置係由欄x、y及z座標所‘界定 。在二不同格式之中,「引數」格式(在一實施例中用於 8 bpp引數顏色模式)或指定爲分量之r、g、b、阿爾發格 式組合(在一實施例中,用於16,24 bpp顏色模式) ,顏色可被辨認。欄u及v會界定織紋空間中的座標且欄w 爲用於織紋計算的齊次座標。對於批次單元中的每一圖形 幾何素子而言,會於記憶體1 0 2中創造這些Vert結構的 陣列且Vert陣列的位址會經由批次陣列4 2 0的Batch單 元中之「pVert」登錄而傳送給HDGL2 4 0。結構也使一 對一映射至給定螢幕座標的織紋映射座標(u,v)更加便 利。這些會被用於織紋映射運算。參數「w」係該頂點的 透視因數’在一實施例中’其值設定爲「1」意指無透視 指定給頂點且任何較大的值意指織紋會更加被歪斜至頂點 ,造成更多的透視變形》 HDGL 2 4 0的另一資料結構係Texture結構,其界定 用於暫存之織紋映射。 本紙浪尺度適用中國國家標準( CNS ) A4規格(210x297公廣) I.------1.裝------訂------C 沐 (請先聞讀背面之注意事項再填寫本頁) 經濟部中央標準局貝工消費合作社印裝 A7 B7 五、發明説明(33 )
Texture WORD wHEAPID; WORD wWidth; WORD wHeight; BYTE* pbTex DWORD dwFlags; 資料結構具有織紋尺寸襴(寬度及高度)及指向位於系 統記億體1 0 2中的指標(pbTex )。其也含有指向被分 配給使用函數TextureHeapAlloc()之一使用者的所有織紋 之堆頭把柄(HeapID) 。「dwFlagsj欄持有織紋型式並 視硬體單元2 5 0而爲下述之一 :(1)用於4 bpp引數 織紋之TEX_4BBP*或(2 )用於4bpp引數織紋之TEX_ 8BBP,或(3 )用於真顏色5 6 5織紋之TEX_1 6BBP ,或(4 )用於真顏色8 8 8織紋或任何其它用戶設定之 TEX_ 2 4 BBP ° 而且,下述旗標能以邏輯方式被加入「dwF lags」: TEX_PR0TECT會保護使用者織紋免於在織紋辨識期間被其 硬體格式改寫。對於真織紋而言,在一實施例中,織紋資 料會以最低效位元組中爲紅色之3 D包封格式[alpha-BGR] 被寫入、線性地從左至右被儲存、及從頂線至底被儲存。 對於引數化的8 bpp而言,每一像素僅需一位元組,而對 4 bpp而言,二像素被包封成每一位元組,成對像素左方 之像素儲存於上半字節(nibble)。 本紙浪尺度適用十國國家標準(CNS ) A4現格(2丨0X 297公釐) -------i裝------訂-----从咏 (請先閱讀背面之注意事項再填寫本頁) 31S852 A7 B7 五、發明説明(34 ) HDGL2 4 0的另一資料結構係調色板結構,其界定調 色胞組的型式: (請先閲讀背面之注意事項再填寫本頁)
Palettei 2 5 6 ] BYTE r; BYTE g; BYTE b; 在一實施例中,此結構會藉一組2 5 6調色胞之紅、 綠及藍成份而界定它們的型式β HDGL 2 4 0的另一資料結構係Rect結構,其於螢幕上 界定包括長方形區:
RECT ?0RD xl ; WORD yl : WORD x2 ; WORD y2 ; 經濟部中央標準局員工消費合作社印掣 在一實施例中,格式(xl,yl)係界定左上角而(x2 ,y2 )係界定右下角。HDGL 2 4 0的另一資料結構係init 結構:
Ini t 本紙張尺度適用中國國家榡準(CNS ) A4規格(210X29?公釐) 37 3iS852 A7 B7 五、發明説明(35 ) WORD resolution WORD co1 or_raode ; WORD texspace; ' (請先鬩讀背面之注意事項再填寫本頁) 此結構會決定要被初始化之解析度及顏色模式。其也 會設定用以儲存載入的織紋之織紋(私有)記億體數量。 HDLG2 4 0之另一資料結構係DisplayContext結構, 其顯示任何時間點之硬體單元2 5 0的狀態:
DisplayContext WORD wHar dware; WORD wV i deoMemory ; WORD wTextareHeap ; WORD wTextu reAva i 1 ; DWORD f CapA 1 pha; DWORD fCapTexture ; DWORD f CapZmas k; 經濟部中央標準局員工消費合作社印裝 藉由呼叫另一初始程序,取得此系統寬結構之位址。 wHardware欄含有下層圖形硬體的碼並將返回支援的硬體 版本:(1 ) HARDffARE_A: HARDWARE_B; HARDWARE — C等。 wVideoMemory欄係顯示出現於硬體板(包含Z緩衝器)上 的視頻RAM數量。wTextureHeap欄係顯示可用於織紋之記 億體總量而wTextureAvail欄係顯不用於配置織紋之可資 本紙張尺度適用中國國家標準(CNS ) A4规格(2丨0x 297公釐) 經濟部中央標準局員工消費合作社印製 A7 _____B7^ 五、發明説明(36 ) 利用的記憶體總量。由於不同的使用者已分配堆頭予它們 的織紋,所以,此值係等於或小於ffTextureHeap。 範例硬體依賴圖形館運算3 2 0 假使函數成功(真)或失敗(假),則布林值會由某 些函數歸還給訊號。在失敗的情形下,GetErrCode ()可 被呼叫以歸還最後錯誤之錯誤碼且GetErrMsg ()可被呼 叫以便將指標歸還給說明最後錯誤之零終結串。 HDGL2 4 0程序,InitLib(),會在任何其它程序 之前被呼叫以使HDGL2 4 0初始。另一程序係InitGraph 程序: BOOL In i tG raph ( const WORD wResolution, const WORD wColorMode) 此程序會將圖形硬體單元2 5 0初始化並由系統 2 0 0呼叫且指定要被初始化的解析度及顏色模式。欄「 wResolution」係爲下述之一:(1 ) RES_GAME會將解析 度設定爲6 4 0 X4 8 0 ; ( 2 ) RES_STANDARD會將解析 度設定爲1 0 2 4 X 7 6 8。「wColorMode」欄會將圖形 模式內所需的模式設定爲:(1 ) C0L_8 ,用於8bpp調 色板;(2 ) C0L_ 16,用於 16bpp5-6-5 ;或( 3)C0L_2 4,用於 2 4bpp 真顏色 8-8-8。 取決於硬體單元2 5 0 1 「^Resolution」及「 本紙浪尺度適用中國國家標隼(CNIS ) Λ4規格(210x297公釐) -------ΓΆ 1-裝------訂-----▲紙 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A7 ___B7_ 五、發明説明(37 ) wColorMode」的有效結合可爲:(1 ) 6 4 0 x 4 8 Ο X 8引數化,db具有Y偏移640x480x8引數化,db具 有顯示指標捺跳器(toggle) ; (2)640x480 x 1 6tc* db 具有 Y 偏移;(3 ) 6 4 0x4 8 0x2 4tc , db具有Y偏移:(4) 1024x768x8引數化;(5 )1024x768x46tc:及(6) 1 0 2 4 x 7 6 8 x24tc»於成功時,程序會歸還「真」,否則爲「假」 。可能的歸還錯誤爲:(1) E_MEMTEST,硬體單元 250記憶體測試失敗:(2) E_ENGINETEST *硬體單元 2 50執行測試失敗;(3)£_?(:1,硬體單元2 5 0或 匯流排100不存在;(4) E_REGTEST,硬體單元 2 5 0於內部暫存器測試失敗;(5)£_1^0丁51^?01?了£0, 模式未受目前的硬體支援(例如對於一特別硬體單元 2 5 0-1 6 bpp爲開啓);及(6 ) E_PARAMS,對程序 爲無效參數。 HDGL 2 4 0內的另一程序爲Rest〇re TextMode程序: RestoreTextMode () 此程序會將視頻模式恢復爲VGA文字模式(例如,在 一實施例中爲模式號數3) »本程序係作爲InitGraph的 互補,但是,硬體單元2 5 0之狀態在此呼叫之後未界定 〇 H D G L 2 4 0 內的另一程序爲 D i s p 1 a y C ο n t e X t * 本紙张尺度適用中國國家標準(CNS ) A4規格(210Χ297公釐) I 裝 訂 ^ 泳 (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局—工消費合作社印I 319S52 A7 B7 五、發明説明(38) Q u e r y G r a p h h i c s D e v i c e 程序: D i sp1ayContext * QueryGraphhicsDevice 本程序會取得系統寬顯示內容結構之位址,該位址持 有關於硬體單元2 5 0的狀態之目前資訊。SetPalette程 序係HDGL2 4 0內的另一程序: BOOL SetPalette ( WORD int_palette [, Palette* palette, ffORD start, WORD count]) 本程序會使調色板暫存器初始化至下述集之一( init_palette的值爲):(1)?人1^_01^¥,用於灰階調色 板;(2 ) PAL_RGB,用於引數顏色(3 _ 3 - 2 )之模 擬;及(3 ) PAL_CUSTOM,在第三參數被貼放且爲指向使 用者調色板之指標的情形下,用於用戶調色板。「開啓」 及「計數」係界定開啓引數及界定要從給定調色板釋放之 調色胞的總數對於整個調色板而言,在一實施例中,其 分別爲0及256。於成功時,程會歸還「真」,否則歸 還「假」,可能的錯誤爲用於無效參數之E_PARAMS。 HDGL2 4 0 內的另一程序爲 SetQualityDial :
Se tQua 1i tyD i a 1 ( BYTE bQua1i ty ) 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -------Tf !裝------訂-----/線 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局買工消費合作社印製 A7 _______B7__ 五、發明説明(39 ) 在一實施例中,本程序會將品質/性能控制面板的值 設定爲[0,2 5 5]範圍內的值以調整性能及影像品質。 值愈低,則參數化愈快,但較不精確。假使目前框係動畫 步驟*則將此值設定爲某些小數(例如,小於1 〇 〇 )以 取得較佳速度,係有利的β假使需要精確時,則值會被設 定爲某些大值(例如,2 0 0以上)。 參數化常式之執行典型上係以速度作爲最高效因素 但是,此方法會犧牲描繪品質。爲取得適當平衡,將採用 調整「品質」。當其設定爲零時,描繪常式將使用最高性 能速率方法,該方法並非總是最高圖形精確。藉由增加此 值至最大,以稍微犧牲性能速率爲代價,而增加精確度》 取決於硬體單元2 5 0,精確度會反映Ζ及顏色計算中的 誤差項與圖形幾何素子重疊區。根據織紋映射,使用下述 啓發式:假使織紋被透視修正且垂直尺寸爲「小」或Ζ中 的差異爲「小」,則以線性而非透視方式描繪織紋,以加 速參數化步驟》 讀取批次陣列4 2 0之不依賴硬體批次胞並在記億體 中建立顯示清單4 3 0內的對應硬體依賴微指令之程序係 B u i 1 d D i s ρ 1 a y L i s t 程序: BOOL Bui1dDisp1ayList ( Batch*p ) 此程序會採用指向Batch型的批次陣列4 2 0之指標 (631;(^、)並在系統記億體1〇2或硬體單元2 5 0的 本紙浪尺度適用中國國家標準(CNS ) Λ4规格(2丨ϋΧ 297公釐) --------A J裝------訂-----、鉍 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印裝 A7 _B7___ 五、發明説明() RAM內建立顯示。這些命令列會建立顯示清單直至呼叫 FlushDisplayList以便將顯示清單描繪至螢幕1 〇 5之上 時爲止。此程序於成功時會歸還真,否則歸還假。 範例硬體依賴圖形館織紋映射程序3 3 0 在一範例實施例中,HDGL 2 4 0的織紋程序說明如下 ΰ BOOL TextureHeapAl1oc ( WORD* pwHeapID, WORD wHeapS i ze ) 此程序會織紋堆頭分配記憶體。其用於多使用者主機 以區別不同處理並管理它們自己的織紋堆頭空間。「 wHeaps ize」襴係代表使用者對堆頭尺寸之請求。此尺寸 必須等於或小於DisplayContext結構中所取得的值「 wTextureAvail」。於成功時,此程序會歸還「真」,否 則歸還「真」。於成功時,指標,5^pwHeapID,含有指定 給新堆頭空間的堆頭把柄。 HDGL 2 4 0 程序: BOOL RegisterTexture ( WORD *pwTexID, LL_ Texture* pTex) 本紙张尺度適用中國國家標準(CIVS ) A4規格(210x 297公釐) i ^ 1^衣 訂 I ▲ 紙 (請先閲讀背面之注意事項再填寫本頁) 31S852 A7 B7 五、發明説明(41 ) (請先閔讀背面之注意事項再填寫本頁) 會暫存織紋。所有織紋資訊會從使用者先前建立的 Texture資料結構中被讀取,但在呼叫之後不再需要。織 紋資料會被轉換成硬體單元依賴格式。新資料會被存回原 始織紋資料所處之相同記憶體(例如,其會改寫原始織紋 資料),或假使TEX_PROTECT位元被設定於「dwFlagj , 或新記億體區塊被分配給其時,則保留原先的原始織紋資 料。指向使用者原始織紋的指標^ pTex」會被保留。暫存 的織紋ID號會被儲存於pwTex ID所指的字中。於成功時此 程序會歸還真,否則歸還假0於成功時,假使硬體依賴織 紋格式被儲存於私有館堆頭中以取代原始織紋資料時則指 標、wTexID含有織紋把柄且N_LIB_MEM會被設定於dwFlags HDGL 2 4 0 程序: BOOL FreeTexture ( WORD wTexID ) 經濟部中央標準局員工消費合作社印製 會釋放由其暫存所歸還的織紋數wTexID。該織紋不再 被使用且從織紋館釋放。 HDLG 2 4 0 程序: BOOL LoadTexture ( WORD WTEXid)
Tp國國家標準(OS ) Λ4規格(210x297公釐) -44 _ 經濟部中央標準局—工消合作社印製 A7 ___B7___ 五、發明説明(42 ) 會將把柄爲wTex ID之織紋載入硬體單元2 5 0的織紋 記憶體中。織紋典型上在其wTexID被用於BATCH結構的 wTexID中之前會被載入。在一實施例中,此程序可能會 因織紋之多重載入及卸載所引起的記億體斷篇而錯誤。在 此情形下,HeapCollect程序會用於LoadTexture的再度嘗 試之垃圾收集。但是 * MacroAutoHeapCollect ( True)可 用以將館設定爲一模式,該模式係在不成功載入的情形下 ,自動執行垃圾收集。於成功時,此程序會歸還真,否則 歸還假。 HDLG 2 4 0 程序: BOOL UnloadTexture ( WORD wTEXid) 會從硬體單元250之私有記億體中卸載把柄爲wTexID 之織紋。此程序並未「釋放」織紋;織紋仍然被暫存且可 於稍後被重新載入β於成功時,程序會歸還真,否則歸還 假。 HDGL 2 4 0 程序:
HeapCollect ( WORD wHeapID) 會於硬體單元2 5 0的私有記憶體中執行織紋資料的 本紙悵尺度適用中國國家標準(CNS ) Λ4规格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 五、發明説明(43 ) 垃圾收集。假使LoadTexture因記億體斷篇而失敗時’則 使用此程序。爭論「wHeapId」係反斷篇堆頭之堆頭把柄 。該把柄係藉由TextureHeapAllocO呼叫而取得的。 藉由HDGL 2 4 0之此執行|也可使用堆頭收集巨集:
AutoHeapCol1ect ( WORD wHeapID, BOOL collect) 此程序會將自動堆頭收集設定爲開啓或關閉,以便將 織紋載入硬體單元2 5 0之私有織紋記憶體內。爭論「 wHeapID」係受影響的堆頭之堆頭把柄。該把柄可藉由 TextureHeapAlloc()呼叫而取得。 己說明本發明之較佳實施例,在高度不依賴硬體圖形 館與圖形硬體單元之間交界的低度硬體依賴圖形館,其也 含有彈性及有效率的圖形描繪程序。雖然以特別實施例說 明本發明*但是*應可瞭解本發明不應受限於這些實施例 ,而是根據下述申請專利範圍推斷》 經濟部中决標準局員工消費合作社印裝 (請先閱讀背面之注意事項再填寫本頁) 圖式簡述 圖1 A係顯示具有硬體依賴圖形館之習知圖形顯示系 統(例如,3 D-DDI 及 OPEN GL )。 圖1 B係說明用以描繪圖形幾何素子之習知處理的流 程圖。 圖2係本發明的電腦控制圖形顯示系統之電腦系統的 方塊圖。 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0乂 297公釐) 46 3x9852 A7 B7 五、發明説明(44 ) 圖3係說明具有不依賴硬體之髙階圖形館(例如3 D- DDI及OPEN GL)之本發明的電腦控制圖形顯示系統之層級 〇 (請先閱讀背面之注意事項再填寫本頁) 圖4係資料流程圖並說明包含不同層及層與層之間的 圖形資料/資訊流動的本發明電腦控制圖形顯示系統的元 件。 圖5係說明本發明的低度硬體依賴圖形館(11001或「 結合」館)之元件。 圖6係根據本發明之批次陣列的邏輯代表。 圖7係本發明的處理流程圖,使用批次單元陣列,在 顯示螢幕上有效率地描繪圖形幾何素子。 圖8 A係說明在根據本發明的批次陣列處理的第一層 期間,資料快取記憶體的內容與碼或指令快取記億體的內 容。 圖8 B係說明在根據本發明的批次陣列處理的第二層 期間,資料快取記億體的內容與碼或指令快取記億體的內 容。 經濟部中央標準局員工消費合作社印製 圖8 C係說明在根據本發明的批次陣列處理的第三層 期間,資料快取記憶體的內容與碼或指令快取記憶體的內 容。 圖9 A係說明根據本發明之品質/性能控制面板。 圖9 B係根據品質/性能控制面板的設定而調整描繪 品質與描繪性能之間的關係之本發明的處理流程圖。 圖1 0 A係使用線性次分割所次分割的圖形元素之圖 本紙張尺度適用令國國家標準(CNS ) Λ4規格(210x297公慶) 3iS852 A7 B7_五、發明説明(45 ) 形表示。 圖1 0B係使用透視次分割所次分割的圖形元素之圖 形表示。 圖1 0C係說明二三角多邊形之間的重疊區° 圖11係用以在用於織紋映射的彩色模式之間轉譯的 本發明之處理流程圖° 圖1 2係本發明的硬體依賴處理流程圖,用以根據儲 存於批次陣列的批次單元中的圖形資料/資訊,建立顯示 清單。 乂黎------ΐτ------f (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作杜印製 本紙張尺度適用中國國家標準(CNS ) Λ4規格(2丨0;< 297公釐) 48

Claims (1)

  1. 5852 B8 C8 D8 六、申請專利範圍 1 . 一種電腦控制圖形顯示系統*包括: 處理器,耦合至匯流排; 記憶體單元,用以儲存資訊; 硬體圖形單元,用以從儲存於該記憶體單元中的顯示 清單中接收硬體依賴微指令並在顯示螢幕上產生影像; 高階圖形館,包括由該處理器所執行的不依賴硬體圖 形描繪程序,該不依賴硬體圖形描繪程序係用以處理來自 高階應用程式之圖形描繪請求以產生包含圖形運算元之不 依賴硬體輸出資料結構;及 由該處理器所執行之低度硬體依賴圖形館,用以處理 不依賴硬體輸出資料結構以從中產生用於該硬體圖形單元 之該微指令,其中該高階圖形館可與多種不同硬體圖形單 元並容而無須重新設計。 2 .如申請專利範圍第1項之系統,其中該不依賴硬 體輸出資料結構包括批次單元陣列,每一批次單元代表要 被執行的分別圖形運算,且其中該批次單元陣列會被傳送 給低度硬體依賴圖形館以便被連續處理而產生該微指令。 經濟部中央標準局員工消費合作社印裝 (請先閲讀背面之注意事項再填寫本!) 3 .如申請專利範圍第2項之系統,其中該記憶體單 元包括碼快閃且其中該低度硬體依賴圖形館包括由該處理 器執行以產生該微指令的參數化程序,其中該批次單元陣 列會被處理而不被該參數化程序中斷以防止快閃遺失。 4 如申請專利範圍第2項之系統,其中該低度硬體 依賴圖形館包括用以處理多邊形幾何素子、圖形線集、及 圖形點集之參數化程序。 本紙張尺度適用t國國家標準(CNS ) A4規格(210X297公釐) D8 經濟部_央標準局員工消費合作社印裳 、申請專利範園 5 .如申請專利範圍第4項之系統,其中該參數化程 序會又用於處理位元準位轉換、填充、及織紋映射格式之 間的轉譯。 6 ·如申請專利範圍第2項之系統,其中該低度硬體 依賴館進一步包括由該處理器執行之性能/品質調整程序 *以調整性能速率且對應地調整顯示於該顯示螢幕上的該 影像之描繪品質 7 ·如申請專利範圍第6項之系統,其中由該處理器 所執行的該性能/品質調整程序係用以調整圖形描繪所執 行的線性水平及透視次分割並用以調整用於多邊形重疊的 誤差修正因數程度及用以調整用於透視描繪切斷之臨界幾 何素子尺寸。 8 . —種電腦控制圖形顯示系統,包括: 處理器,耦合至位址/資料匯流排; 記億體單元,用以儲存圖形資訊; 硬體圖形單元,用以從儲存於顯示清單中之硬體依賴 微指令並爲回應該處理而在顯示螢幕上產生影像: 高階圖形館,具有由該處理器所執行的不依賴硬體圖 形描繪程序,該不依賴硬體圖形描繪程序係用以接收來自 高階應用程式之圖形描繪請求並從其中產生硬體依賴批次 單元陣列,每一批次單元代表包含圖形幾何素子之個別圖 形描繪運算:及 由該處理器所執行之低度硬體依賴圖形館,用以從該 圖形描繪程序接收該批次單元陣列,該低度硬體依賴圖形 (請先閱讀背面之注意事項再填寫本頁) 裝 11Τ 表紙張又度適用中國國家標準(CNS ) Α4規格(210X297公釐) 50 A8 B8 C8 D8 經濟部中央標準局員工消費合作社印製 六、申請專利範圍 館係用以將該批次單元陣列的單元參數化以產生用於該硬 體圖形單兀之該微指令。 9 .如申請專利範圍第8項之系統,其中該記憶體單 元包括碼快閃和資料快閃且其中該低度硬體依賴圖形館包 括參數化程序,該參數化程序係儲存在該碼快閃中並針對 儲存在該資料快閃中的批次單元陣列之單元執行以產生該 微指令,其中該批次單元陣列之該單元會被處理而不被該 參數化程序中斷以防止碼快閃遺失。 1 0 ·如申請專利範圍第8項之系統,其中該低度硬 體依賴圖形館包括用以處理多邊形幾何素子、圖形線集、 及圖形點集之參數化程序。 1 1 ·如申請專利範圍第1 0項之系統,其中該參數 化程序會又用於處理位元準位轉換、填充、及織紋映射格 式之間的轉譯。 1 2 ·如申請專利範圍第8項之系統,其中該低度硬 體依賴館進一步包括由該處理器執行之性能/品質調整程 序,以調整性能速率且對應地調整顯示於該顯示螢幕上的 該影像之描繪品質。 1 3 .如申請專利範圍第1 2項之系統,其中由該處 理器所執行的該性能/品質調整程序係用以調整圖形描繪 所執行的線性水平及透視次分割並用以調整用於多邊形重 疊的誤差修正因數程度及用以調整用於透視描繪切斷之臨 界幾何素子尺寸。 1 4 .—種建造電腦控制圖形系統中的顯示清單之方 - I...... .^^1 ϋ $ - In in ϋ (請先閱讀背面之注意事項再填寫本頁) 、1T 本紙張尺度適用中國國家標準(CNS ) Λ4規格(210X29?公釐) 經濟部中央標準局員工消資合作杜印袈 A8 B8 , C8 D8 六、申請專利範園 法,在該電腦控制圖形系統,其包含耦合至匯流排的處理 器、用以儲存資訊之記億體單元、及根據該顯示清單内的 微指令而在顯示螢幕上提ϋ影像之硬體圖形單元、該方法 包括電腦執行步驟: / 使用該處理器所執行的高階應用程式*產生圖形描繪 -----~ 請求集,該静求集包·含用於描繪包含多邊形、線及點的圖 形幾何素子之請求; 使用該處理器所執行的高階圖形館之硬體依賴程序, 將該圖形描繪請求集轉譯成不依賴硬體的批次單元陣列, 每一批次單元包括個別的圖形運算; 使用低度硬體依賴圖形館,接收該不依賴硬體批次單 元陣列並藉由連續地處理該批次單元庫列之單元而從其中 產生微指令之硬體依賴顯示清單,該低階硬體依賴圖形館 係由該處理器所執行;及 存取該顯示清單並使用該硬體圖形單元將影像顯示於 該顯示螢幕上,其中該高階圖形館可與多種不同的硬體圖 形單元匹配而無須重新設計。 1 5 .如申請專利範圍第1 4項之方法,其中該接收 該不依賴硬體批次單元陣列並從其中產生微指令硬體依賴 顯示清單之歩驟包括下列步驟: 處理該批次單元內的多邊形幾何素子以從其中產生顯 示清單微指令: 處理該批次單元內的線集以從其中產生顯示清單微指 令:及 本紙張尺度適用中國國家標準(CNS U4規格(210X297公釐)一 ' (請先閲讀背面之注意事項再填寫本頁> 訂 A8 B8 C8 D8 經濟部中夬標搫局員工消費合作社印策 六、申請專利範圍 處理該批次單元內的點集以從其中產生顯示清單微指 令。 1 6 .如申請專利範圍第1 5項之方法,其中該接收 該不依賴硬體批次單元陣列並從其中產生微指令硬體依賴 顯示清單之步驟進一步包括下列步驟: 處理位元準位轉換以從其中產生顯示清單微指令; 處理填充運算以從其中產生顯示清單微指令;及 一處理織紋映射轉譯以便將織紋映射從一顯示格式轉譯 至另一格式。 1 7 .如申請專利範圍第1 4項之方法,其中該接收 該不依賴硬體批次單元陣列並從其中產生微指令硬體依賴 顯示清單之步驟包括下列步驟·‘ 將該硬體依賴圖形館之參數化程序載入快閃記億體單 元內;及 當藉由無中斷而連續地針對該批次單元陣列的該單元 執行來自該快閃單元的該參數化程序時,防止快閃遺失。 1 8 .如申請專利範圍第1 5項之方法,進一步包括 下列歩驟: 調整描繪於該顯示螢幕上的性能/品質控制面板之設 定; 根據該設定,增加及減少該硬體圖形單元的描繪性能 速率;及 根據該設定,對應地增加及減少該硬體圖形單元的描 繪品質。 -------i 4Γ- (請先閱讀背面之注意事項再填寫本頁) 、1T 参紙張尺度適用t國國家標準(CNS ) Λ4说格(21〇Χ297公釐)_ 319852 A8 D8六、申請專利範圍 1 9 .如申請專利範圍第1 8項之方法,其中根據該 設定而增加及減少該硬體圖形單元的描繪性能並對應地增 加及減少該硬體圖形單元的描繪品質之步驟*進一步包括 下列步驟·‘ 調整用於圖形描繪之線性及透視次分割的水平; 調整用於多邊形重疊期間之誤差修正因數的程度; 調整用於透視描繪切斷之臨界幾何素子尺寸° 2 〇 .如申請專利範圍第1 5項之方法,其中該圖形 描繪請求進一步包含織紋映射之描繪運算。 --------- \;L f (請先閱讀背面之注意事項再填寫本頁) 訂 專丨 經濟部中央標孳局負工消費合作杜印製 本紙浪尺度適用令國國家標準(CNS ) A4規格(210X 297公釐)r』 -54 -
TW086102127A 1995-12-21 1997-02-21 TW319852B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/576,872 US5675773A (en) 1995-12-21 1995-12-21 Graphics display system with a low level hardware dependent graphics library

Publications (1)

Publication Number Publication Date
TW319852B true TW319852B (zh) 1997-11-11

Family

ID=24306351

Family Applications (1)

Application Number Title Priority Date Filing Date
TW086102127A TW319852B (zh) 1995-12-21 1997-02-21

Country Status (5)

Country Link
US (1) US5675773A (zh)
EP (1) EP0783154B1 (zh)
JP (1) JP3260090B2 (zh)
DE (1) DE69635403T2 (zh)
TW (1) TW319852B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285373B1 (en) * 1996-03-29 2001-09-04 3Dlabs Inc. Ltd. Method and apparatus for texture transmission and storage
US6195734B1 (en) 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6192457B1 (en) 1997-07-02 2001-02-20 Micron Technology, Inc. Method for implementing a graphic address remapping table as a virtual register file in system memory
GB9800900D0 (en) 1998-01-17 1998-03-11 Philips Electronics Nv Graphic image generation and coding
US5999200A (en) * 1998-01-23 1999-12-07 Cirrus Logic, Inc. Method and apparatus for automatically controlling the destination of a graphics command in a register file
US6977649B1 (en) 1998-11-23 2005-12-20 3Dlabs, Inc. Ltd 3D graphics rendering with selective read suspend
US7050063B1 (en) * 1999-02-11 2006-05-23 Intel Corporation 3-D rendering texture caching scheme
US6952215B1 (en) * 1999-03-31 2005-10-04 International Business Machines Corporation Method and system for graphics rendering using captured graphics hardware instructions
US6621495B1 (en) * 2000-06-08 2003-09-16 International Business Machines Corporation Method and apparatus to handle immediate mode data streams in a data processing system
US7162716B2 (en) * 2001-06-08 2007-01-09 Nvidia Corporation Software emulator for optimizing application-programmable vertex processing
US6943804B2 (en) 2002-10-30 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for performing BLTs
US20040095348A1 (en) * 2002-11-19 2004-05-20 Bleiweiss Avi I. Shading language interface and method
US7106326B2 (en) * 2003-03-03 2006-09-12 Sun Microsystems, Inc. System and method for computing filtered shadow estimates using reduced bandwidth
JP2005078356A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 情報処理装置
US20060044582A1 (en) * 2004-08-27 2006-03-02 Seaman Mark D Interface device for coupling image-processing modules
US7499051B1 (en) * 2005-04-29 2009-03-03 Adobe Systems Incorporated GPU assisted 3D compositing
US7463261B1 (en) 2005-04-29 2008-12-09 Adobe Systems Incorporated Three-dimensional image compositing on a GPU utilizing multiple transformations
JP4425177B2 (ja) * 2005-05-20 2010-03-03 株式会社ソニー・コンピュータエンタテインメント グラフィックプロセッサ、情報処理装置
US7492371B2 (en) * 2005-12-02 2009-02-17 Seiko Epson Corporation Hardware animation of a bouncing image
FR2895104A1 (fr) * 2005-12-19 2007-06-22 Dxo Labs Sa Procede pour fournir des donnees a un moyen de traitement numerique
US8493388B2 (en) * 2006-08-09 2013-07-23 Siemens Medical Solutions Usa, Inc. Modular volume rendering using visual programming
US8149242B2 (en) * 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
US7928992B2 (en) * 2007-05-30 2011-04-19 Kabushiki Kaisha Toshiba System and method for transparent object rendering
US8035641B1 (en) 2007-11-28 2011-10-11 Adobe Systems Incorporated Fast depth of field simulation
US9001135B2 (en) * 2010-09-18 2015-04-07 Google Inc. Method and mechanism for delivering applications over a wan
US9032467B2 (en) 2011-08-02 2015-05-12 Google Inc. Method and mechanism for efficiently delivering visual data across a network
US10509658B2 (en) * 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9176895B2 (en) 2013-03-16 2015-11-03 Intel Corporation Increased error correction for cache memories through adaptive replacement policies
US10719303B2 (en) * 2015-06-07 2020-07-21 Apple Inc. Graphics engine and environment for encapsulating graphics libraries and hardware
US10417134B2 (en) * 2016-11-10 2019-09-17 Oracle International Corporation Cache memory architecture and policies for accelerating graph algorithms
US10474590B2 (en) * 2017-09-06 2019-11-12 Roland Corporation Storage medium storing device driver, peripheral device, and information processing system
US10387163B2 (en) 2017-12-14 2019-08-20 Oracle International Corporation Operating on data streams using chained hardware instructions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994962A (en) * 1988-10-28 1991-02-19 Apollo Computer Inc. Variable length cache fill
JPH0727505B2 (ja) * 1990-02-12 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション インターフェース方法及びインターフェース・システム
US5384908A (en) * 1991-12-30 1995-01-24 Xerox Corporation Avoiding oscillation in interactive animation
US5561752A (en) * 1994-12-22 1996-10-01 Apple Computer, Inc. Multipass graphics rendering method and apparatus with re-traverse flag

Also Published As

Publication number Publication date
DE69635403T2 (de) 2006-07-27
EP0783154B1 (en) 2005-11-09
US5675773A (en) 1997-10-07
JP3260090B2 (ja) 2002-02-25
JPH09297570A (ja) 1997-11-18
DE69635403D1 (de) 2005-12-15
EP0783154A2 (en) 1997-07-09
EP0783154A3 (en) 1997-11-19

Similar Documents

Publication Publication Date Title
TW319852B (zh)
US5801717A (en) Method and system in display device interface for managing surface memory
US11511188B2 (en) Virtual scene recognition and interaction key position matching method for application and computing device
US5249266A (en) Data processing apparatus with self-emulation capability
US6525743B1 (en) Method and apparatus for creating and performing graphics operation on device-independent bitmaps
JPS59210495A (ja) プラズマガスパネルデイスプレイシステム
WO2010000126A1 (zh) 交互信息生成方法及系统
US20080252652A1 (en) Programmable graphics processing element
US6323875B1 (en) Method for rendering display blocks on display device
US8907979B2 (en) Fast rendering of knockout groups using a depth buffer of a graphics processing unit
EP4451204A1 (en) Method for rendering image and related apparatus
CN104360860B (zh) 一种国产自主嵌入式计算机系统及其显卡驱动方法
CN109614086B (zh) 基于SystemC和TLM模型的GPU纹理缓冲区数据存储硬件及存储装置
JPS6329291B2 (zh)
US5999200A (en) Method and apparatus for automatically controlling the destination of a graphics command in a register file
JPS59165137A (ja) プラズマガスパネルデイスプレイのデイスプレイ管理システム
US20050275665A1 (en) System and method for efficiently supporting image rotation modes by utilizing a display controller
CN2605635Y (zh) 通用点阵液晶显示控制装置及其应用软件开发系统
CN116740241B (zh) 一种图像处理方法及电子设备
US11037329B2 (en) Encoding positional coordinates based on multiple channel color values
US20050134597A1 (en) Hardware display rotation
CN100573653C (zh) 基于应用程序环境动态编程窗口id配置的装置和方法
Buck Learning OpenGL ES for iOS: A hands-on guide to modern 3d graphics programming
Filkins Graphical Concepts In Image Processing-A Bridge Between Two Worlds
KR930001468B1 (ko) 컴퓨터 시스템에서의 한글 구현방법