專利名稱:圖形處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在計(jì)算機(jī)圖形系統(tǒng)中渲染圖像的過程,并且更具體地涉及在這樣的系 統(tǒng)中描邊曲線(stroked curve)的渲染。
背景技術(shù):
近年來,在計(jì)算機(jī)圖形學(xué)中利用向量圖形已變得越來越普遍。如本領(lǐng)域中已知的, 向量圖形與光柵圖形相比的一個(gè)重大優(yōu)點(diǎn)是提供與分辨率無關(guān)的圖像(即可以基本上被 無限地縮放而不降低質(zhì)量的圖像)的能力。例如,諸如TrueType 的計(jì)算機(jī)字體中的個(gè)別 字符(例如字母)典型地被存儲(chǔ)為預(yù)定義向量圖像。每個(gè)存儲(chǔ)的圖像(例如字母)然后被 視需要地操縱(縮放、旋轉(zhuǎn)等等)以便把期望的圖像顯示在顯示設(shè)備(例如屏幕、打印機(jī)等 等)上°向量圖形是基于個(gè)別定義的幾何對象的使用,并且典型地由一個(gè)或多個(gè)線段描 述,所述線段例如直線或曲線,諸如二次(貝塞爾)曲線、橢圓弧和三次(貝塞爾)曲線,其 被一起連接在錨定點(diǎn)(anchor point)以形成路徑。在本文中被稱為“用戶空間”的空間中定義和操縱向量圖形對象/路徑。然而為 了把向量圖形對象/路徑輸出到視頻顯示器或打印機(jī),在用戶空間中定義的對象/路徑需 要被轉(zhuǎn)換成合適的形式以便被顯示在屏幕上或被輸出到打印機(jī)上。這種轉(zhuǎn)換典型地涉及把 在用戶空間中定義的對象/路徑投影到通常被稱為“表面空間”的另一個(gè)空間,該另一個(gè)空 間對應(yīng)于要在其上查看對象/路徑的輸出顯示的透視(幾何)。用戶空間和表面空間之間 的變換將被稱為“用戶到表面變換”。一旦向量圖形對象/路徑已被轉(zhuǎn)換成表面空間表示,然后就渲染它們。如本領(lǐng)域中已知的,這個(gè)過程典型地涉及生成一個(gè)或多個(gè)覆蓋對象/路徑的表面 空間表示的圖形基元(primitive)(諸如三角形)并且把基元光柵化成基元內(nèi)的多個(gè)采樣 點(diǎn),所述多個(gè)采樣點(diǎn)然后被采樣以確定每個(gè)采樣點(diǎn)是否落在投影的對象/路徑內(nèi)?;谶@ 一確定,多個(gè)采樣點(diǎn)被分配數(shù)據(jù),諸如紅、綠和藍(lán)(RGB)色值以及“alpha”透明值(視情況 而定)以允許正確地顯示對象/路徑。這些過程通常分別被稱為光柵化和著色(shading)。(在3D圖形文獻(xiàn)中,術(shù)語“光柵化”有時(shí)用來意指到采樣位置的對象轉(zhuǎn)換和著色兩 者。然而,在本文中光柵化將用來僅指代把對象數(shù)據(jù)轉(zhuǎn)換到采樣點(diǎn)地址。)如本領(lǐng)域中已知的,典型地通過使用離散圖形實(shí)體來表示采樣點(diǎn),實(shí)施這些過程, 所述離散圖形實(shí)體往往被稱為對其實(shí)施圖形處理操作(諸如著色)的“片段(fragment)”。 因此,片段實(shí)際上是由圖形處理系統(tǒng)處理的圖形實(shí)體(其通過圖形流水線)。每個(gè)片段可以合理地被認(rèn)為事實(shí)上等效于被處理的畫面的“像素”。每個(gè)片段可以 對應(yīng)于單個(gè)或多個(gè)采樣點(diǎn)。每個(gè)片段可以對應(yīng)于最終顯示中的單個(gè)像素(像元)(因?yàn)橛?于像素是最終顯示中的奇點(diǎn),在圖形處理器對其操作的片段和顯示的像素之間存在一對一 的映射)。然而更典型地,將是如下情況例如在顯示最終圖像之前對渲染的圖像實(shí)施諸如 縮減的后處理的情況下,在片段和顯示像素之間不存在一對一的對應(yīng)。
在向量圖形中通常發(fā)現(xiàn)的兩種類型的對象是“填充(filled) ”和“描邊”對象。填充 的過程涉及對對象或封閉路徑內(nèi)的區(qū)域施加單塊顏色、梯度、圖案或圖像。同時(shí),描邊的過 程可以事實(shí)上被認(rèn)為通過沿路徑拖動(dòng)特定寬度的線形筆尖而給路徑增加寬度。更具體地, 筆尖的中心點(diǎn)遵循該路徑,并且該筆尖被定向成使得總是垂直于該路徑。因此等效地,描邊 路徑的邊界也可以由點(diǎn)的集合定義,從該點(diǎn)到路徑上的點(diǎn)可以繪制長度(至多)w/2(對于 描邊寬度w的描邊路徑而言)的線,該線垂直于該路徑。描邊路徑并且具體地是描邊曲線的渲染就CPU上的負(fù)荷而言傳統(tǒng)上是昂貴的操 作。例如,一種渲染描邊路徑的普通方法是在CPU上把路徑細(xì)分成多個(gè)個(gè)別線或填充路徑, 其每個(gè)然后可以被單獨(dú)地渲染。然而,這是處理密集型操作。通常用于渲染描邊路徑的另 一種方法是使用專用曲線渲染硬件。然而,盡管這種方法確實(shí)提供針對與上面描述的細(xì)分 技術(shù)相關(guān)聯(lián)的性能降低的解決方案,但是其要求例如在圖形處理系統(tǒng)中不總是可用的或期 望的專用硬件。因此申請人認(rèn)為存在用于渲染描邊路徑并且具體是描邊曲線的其它技術(shù)的范圍, 所述技術(shù)例如可以不需要使用附加的專用硬件但是與已知的細(xì)分技術(shù)相比仍然可以獲得 改進(jìn)的性能水平。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供一種用于在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示 的方法,該方法包括接收要顯示的定義在用戶空間中的輸入描邊曲線;使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示;以及對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣位置;使用預(yù)定信息來估計(jì)在沿著要顯示的描邊曲線的投影形式(projected form) 的長度的一位置處投影空間中要顯示的描邊曲線的投影形式在所定義方向上的范圍 (extent),所述位置對應(yīng)于投影空間中的采樣位置沿著描邊曲線的投影形式的長度的位 置;使用投影空間中要顯示的描邊曲線的投影形式在所定義方向上的估計(jì)范圍來確 定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi);以及依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分配用 于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)。根據(jù)本發(fā)明的第二方面,提供一種用于在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示 的設(shè)備,該設(shè)備包括用于接收要顯示的定義在用戶空間中的輸入描邊曲線的裝置;用于使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示的裝置; 以及用于對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣 位置的裝置;用于使用預(yù)定信息來估計(jì)在沿著要顯示的描邊曲線的投影形式的長度的一位置處投影空間中要顯示的描邊曲線的投影形式在所定義方向上的范圍的裝置,所述位置對應(yīng) 于投影空間中的采樣位置沿著描邊曲線的投影形式的長度的位置;用于使用投影空間中要顯示的描邊曲線的投影形式在所定義方向上的估計(jì)范圍 來確定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi)的裝置;以及用于依據(jù)所述確定給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分 配用于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)。在本發(fā)明中,要顯示的定義在用戶空間中的輸入描邊曲線通過首先把輸入描邊曲 線變換到表面空間(其將例如對應(yīng)于描邊曲線要顯示在其上的屏幕)而渲染。如本領(lǐng)域中 的技術(shù)人員會(huì)明白的,這類似于用于渲染描邊曲線的已知常規(guī)技術(shù)。然而,在本發(fā)明中,不是對照表面空間中的描邊曲線直接地測試表面空間中的采 樣點(diǎn)以查看它們是否落在曲線內(nèi),表面空間采樣點(diǎn)被映射到“投影”空間中的對應(yīng)采樣點(diǎn)并 且然后對照投影空間中要顯示的描邊曲線的投影形式來測試“投影”空間中的那些對應(yīng)采 樣點(diǎn)。因此,在本發(fā)明中,實(shí)際上通過為一個(gè)或多個(gè)采樣點(diǎn)確定投影空間中的對應(yīng)采樣 點(diǎn)是否落在投影空間中的描邊曲線的投影形式內(nèi)來渲染曲線進(jìn)行顯示。具體地,申請人已意識到關(guān)于采樣點(diǎn)是否在表面空間中的描邊曲線內(nèi)的確定實(shí) 際上可以針對“投影”空間中的描邊曲線的投影形式來間接地執(zhí)行,并且此外這可以提供一 種確定哪些表面空間采樣點(diǎn)落在描邊曲線內(nèi)或沒有落在描邊曲線內(nèi)的高效且簡單的方式。此外,在本發(fā)明中通過使用預(yù)定信息來估計(jì)在沿著描邊曲線的投影形式的長度的 適當(dāng)位置處即在沿著描邊曲線的投影形式的長度的具有與投影空間中的采樣位置相同的 位置的位置處描邊曲線的投影形式在所定義方向上(例如且優(yōu)選地并且如下面將進(jìn)一步 討論的,在“寬度”方向上)的范圍,來實(shí)施關(guān)于采樣點(diǎn)是否落在投影空間中的描邊曲線的 投影形式內(nèi)的確定。再次,如下面將進(jìn)一步討論的,申請人已意識到不僅可以以此方式渲染描邊曲線 進(jìn)行顯示而且可以提供眾多優(yōu)點(diǎn)。關(guān)于投影空間中的采樣點(diǎn)是否在描邊曲線的投影形式內(nèi)的確定的結(jié)果然后用來 給表面空間中的對應(yīng)采樣點(diǎn)分配用于顯示描邊曲線的合適渲染數(shù)據(jù)。本發(fā)明提供眾多優(yōu)點(diǎn)。首先,本發(fā)明使用預(yù)定信息來估計(jì)描邊曲線的投影形式在沿其長度的位置處在所 定義(例如寬度)方向上的范圍,如下面將進(jìn)一步討論的那樣其可以事實(shí)上是一維的并且 因此可以被存儲(chǔ)為一維表(例如且優(yōu)選地,存儲(chǔ)信息以用于導(dǎo)出針對一系列“長度”位置的 “寬度”值)并且使用一維“查找”進(jìn)行檢索。這就必須存儲(chǔ)的數(shù)據(jù)量而言以及就檢索使用 中的該數(shù)據(jù)而言(以及因此例如針對存儲(chǔ)器使用和帶寬)具有優(yōu)點(diǎn)。同樣且如下面將進(jìn)一步討論的,當(dāng)在本發(fā)明中渲染描邊曲線進(jìn)行顯示時(shí)為使用本 發(fā)明的預(yù)定信息所需的計(jì)算實(shí)施相對簡單并且可以使用現(xiàn)有的已知圖形處理技術(shù)和硬件 來實(shí)施。如下面將進(jìn)一步討論的,本發(fā)明因此適合于且有利于與已知的現(xiàn)有圖形處理技術(shù) 和硬件一起使用。因此且如下面將進(jìn)一步討論的,本發(fā)明可以被方便地且有效地實(shí)施在典型的圖形 處理系統(tǒng)中而例如不需要對這樣的系統(tǒng)的顯著修改或添加。
8
而且,本發(fā)明可以提供一種用于渲染描邊曲線且更具體地用于渲染那些被一個(gè)或 多個(gè)應(yīng)用重復(fù)(多次)需要的描邊曲線(諸如形成字體的字符或部分字符的曲線)的、例 如與使用“強(qiáng)制”細(xì)分和棋盤化(tessellation)技術(shù)相比更高效且方便的而不需要專用曲 線渲染硬件的機(jī)制。如下面將進(jìn)一步討論的,也使得本發(fā)明中使用的與描邊曲線的投影形式有關(guān)的預(yù) 定信息對于其所涉及的曲線的平移、旋轉(zhuǎn)和均勻縮放以及對于用戶空間中定義的對應(yīng)曲線 的描邊寬度的變化是不變的。這意味著例如給定的預(yù)定信息集可以以本發(fā)明的方式用來渲 染用戶空間中定義的用于顯示的對應(yīng)描邊曲線的各種不同形式,從而進(jìn)一步增強(qiáng)本發(fā)明的 有效性和實(shí)用性。 本發(fā)明一般可以用于要顯示的任何合適且期望形式的描邊曲線,盡管如下面將進(jìn) 一步討論的,其尤其適合于渲染可能被重復(fù)且頻繁使用的描邊曲線(諸如且優(yōu)選地是定義 要顯示的字體的字符(例如字母)或部分字符的描邊曲線)進(jìn)行顯示。如本領(lǐng)域的技術(shù)人員會(huì)明白的,本發(fā)明將用來渲染的要顯示的描邊曲線將典型地 由要求顯示曲線的應(yīng)用向圖形處理系統(tǒng)提供或指示。在這個(gè)階段,如上面所討論的,描邊曲 線將被定義在“用戶空間”中。在用戶空間中定義的描邊曲線可以以任何合適且期望的方式諸如且優(yōu)選地就曲 線的位置和與曲線有關(guān)的一個(gè)或多個(gè)參數(shù)而言進(jìn)行定義。例如,如上面所描述的,要顯示的描邊曲線將典型地由中心曲線和相關(guān)用戶空間 描邊寬度被定義在用戶空間中。中心曲線將典型地由用戶空間中的典型地包括起始點(diǎn)、終 止點(diǎn)和一個(gè)或多個(gè)中間點(diǎn)的多個(gè)控制點(diǎn)的位置以及在起始點(diǎn)和終止點(diǎn)之間要繪制的曲線 的類型指示來定義。例如,描邊的中心曲線可以包括直線;二次貝塞爾曲線(要求單個(gè)中 間控制點(diǎn));三次貝塞爾曲線(要求兩個(gè)中間控制點(diǎn));橢圓弧;以及(非均勻有理)B樣條。因此,在優(yōu)選的實(shí)施例中,本發(fā)明包括用于以用戶空間中的多個(gè)控制點(diǎn)的位置、指 示曲線的類型的信息以及指示用戶空間中的描邊寬度的信息的形式接收用戶空間中定義 的描邊曲線以被渲染進(jìn)行顯示的步驟或裝置。使用本發(fā)明的過程被渲染進(jìn)行顯示的(在用戶空間中定義的)描邊曲線可以是由 例如要求繪制曲線的應(yīng)用初始定義或指示的描邊曲線。然而,使用本發(fā)明被渲染進(jìn)行顯示的描邊曲線也可能是從例如定義在用戶空間中 的初始曲線中導(dǎo)出的曲線。換言之,也考慮使用本發(fā)明的過程被渲染的描邊曲線可以通過 把另一或初始曲線變換成其中其以本發(fā)明的方式被處理的形式來導(dǎo)出。例如,在優(yōu)選的實(shí) 施例中,使用本發(fā)明被渲染的描邊曲線可以通過對先前曲線應(yīng)用仿射變換(且具體地是僅 由平移、旋轉(zhuǎn)和/或均勻縮放分量組成的變換)來導(dǎo)出。也可能的是,要渲染的描邊曲線是由例如要求繪制曲線的應(yīng)用初始定義或指示的 另一或初始曲線的一部分。例如,如本領(lǐng)域的技術(shù)人員會(huì)明白的,應(yīng)用往往將要求渲染包括端到端連接的任 何數(shù)量的合適線段的描邊路徑,所述線段諸如盡管不限于以下中的任何一個(gè)或多個(gè)直線; 二次貝塞爾曲線;三次貝塞爾曲線;橢圓??;以及(非均勻有理)B樣條。每個(gè)這樣的線段 然后可以形成使用本發(fā)明的技術(shù)被渲染的“輸入”描邊曲線。在一個(gè)這樣的實(shí)施例中,構(gòu)成整個(gè)描邊路徑的每段可以使用本發(fā)明的技術(shù)進(jìn)行處理和渲染(即描邊路徑的每個(gè)線段以本發(fā)明的方式被個(gè)別地處理和渲染)??蛇x地,在另 一個(gè)實(shí)施例中,僅部分描邊路徑,例如形成描邊曲線的線段中的一個(gè)或多個(gè)線段,使用本發(fā) 明的技術(shù)進(jìn)行處理和渲染,并且使用一種或多種其它渲染技術(shù)來渲染描邊路徑的其余部分 (例如其它線段)。在尤其優(yōu)選的實(shí)施例中,本發(fā)明包括以本發(fā)明的方式處理用于顯示的一個(gè)或多個(gè) (且優(yōu)選地是多個(gè))描邊曲線的集合,其中曲線的集合一起形成或者在一些實(shí)施例中與其 它線段組合形成要顯示的總描邊路徑或?qū)ο?,諸如且優(yōu)選地是字體的字符(例如字母)。換 言之,該集合中的一個(gè)或多個(gè)描邊曲線的每個(gè)將形成總路徑或?qū)ο蟮墓?jié)段,并且一個(gè)或多 個(gè)描邊曲線的每個(gè)將以本發(fā)明的方式被渲染和處理。同樣考慮,使用本發(fā)明被渲染的描邊曲線可以通過細(xì)分被定義在用戶空間中的初 始曲線來導(dǎo)出。例如,申請人已意識到某些曲線,諸如具有自相交或尖點(diǎn)的三次曲線和自重疊的 曲線(即彎曲至使得描邊曲線重疊自己——描邊曲線的一個(gè)區(qū)域重疊(侵入)描邊曲線的 另一個(gè)區(qū)域的程度的曲線),也許不能使用本發(fā)明的技術(shù)被直接處理至足夠的準(zhǔn)確度。然 而,已意識到如果這樣的初始曲線首先被分成多個(gè)更合適的曲線區(qū)段或節(jié)段,然后每個(gè)曲 線區(qū)段或節(jié)段被個(gè)別地渲染,則這樣的曲線可以能夠使用本發(fā)明的技術(shù)被渲染。因此,在尤其優(yōu)選的實(shí)施例中,本發(fā)明還包括用于把定義在用戶空間中的描邊曲 線細(xì)分成多個(gè)描邊曲線段的步驟或裝置,其中描邊曲線段的一個(gè)或多個(gè)然后以本發(fā)明的方 式被處理和渲染。關(guān)于細(xì)分描邊曲線的適當(dāng)方式的確定優(yōu)選地由圖形處理系統(tǒng)基于一個(gè)或 多個(gè)預(yù)定義準(zhǔn)則來做出,所述預(yù)定義準(zhǔn)則諸如性能(例如渲染描邊曲線所花的時(shí)間)和質(zhì) 量(例如描邊曲線以其渲染形式的質(zhì)量)之間期望的折衷。因而,應(yīng)當(dāng)注意在本文中對“要渲染進(jìn)行顯示的輸入描邊曲線”的參考旨在指代 要經(jīng)受本發(fā)明的特定處理的曲線,除非上下文另外要求;并且該曲線可以例如是例如由 所討論的應(yīng)用初始定義的曲線;例如由所討論的應(yīng)用初始定義的曲線或路徑的一部分;或 者例如從初始定義的曲線中導(dǎo)出或與其有關(guān)的曲線,諸如該曲線的子區(qū)段。例如如本領(lǐng)域中已經(jīng)已知的,可以以任何期望且合適的方式完成定義在用戶空間 中的要顯示的輸入描邊曲線到表面空間表示的投影以便顯示描邊曲線。因此,這可以是且 優(yōu)選地是通過使用(實(shí)施)適當(dāng)?shù)摹坝脩舻奖砻妗笨臻g變換把用戶空間中定義的描邊曲線 映射到表面空間中而完成的。這個(gè)“用戶到表面”變換優(yōu)選地連同要渲染的描邊曲線一起 (同時(shí)或在不同時(shí)間)被輸入到圖形處理系統(tǒng)或向圖形處理系統(tǒng)指示,如本領(lǐng)域中已知的。 (換言之,用戶到表面變換不是由圖形處理系統(tǒng)確定的,而是相反作為預(yù)定義變換被輸入到 系統(tǒng)或向系統(tǒng)指示,以指示為把用戶空間中定義的描邊曲線投影到表面空間中的其期望形 式所需的映射。)—旦生成了要顯示的描邊曲線到表面空間中的變換(投影),則表面空間中的一 個(gè)或多個(gè)(且典型地是多個(gè))采樣點(diǎn)事實(shí)上對照表面空間中出現(xiàn)的描邊曲線進(jìn)行測試(但 是使用本發(fā)明的技術(shù))。事實(shí)上對照要渲染的曲線進(jìn)行測試的表面空間中的采樣點(diǎn)可以采用任何期望且 合適的形式,并且可以以任何合適的方式被視需要地導(dǎo)出和生成。這可能例如取決于圖形 處理系統(tǒng)賴其操作以渲染圖像進(jìn)行顯示的特定機(jī)制。
例如,在射線投射(ray casting)系統(tǒng)的情況下,每個(gè)采樣點(diǎn)可以且優(yōu)選地確實(shí)對 應(yīng)于“射線”,并且每個(gè)射線(采樣點(diǎn))然后將以本發(fā)明的方式對照描邊曲線的投影形式進(jìn) 行測試。(如本領(lǐng)域中已知的,射線投射是一種始于屏幕上的每個(gè)像素并且從觀看者的眼 睛跟蹤路徑(“射線”)通過該像素并進(jìn)到畫面中以確定射到什么(以及因此觀看者看到什 么)的技術(shù)。因此,每個(gè)射線事實(shí)上定義要測試的采樣點(diǎn)。)另一方面,在基于多邊形光柵化的圖形處理系統(tǒng)的情況下,可以例如且優(yōu)選地通 過首先生成一個(gè)或多個(gè)覆蓋表面空間中的投影描邊曲線的基元并且然后光柵化該一個(gè)或 多個(gè)基元(如本領(lǐng)域中已知的)以生成采樣點(diǎn)從而以本發(fā)明的方式對照描邊曲線進(jìn)行測 試,來生成采樣點(diǎn)。在這種情況下,在尤其優(yōu)選的實(shí)施例中本發(fā)明因此將還包括用于以下的步驟或裝 置生成一個(gè)或多個(gè)覆蓋表面空間中的投影描邊曲線的基元;并且對于表面空間中的一個(gè) 或多個(gè)基元內(nèi)的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè),然后確定投影空間中的對應(yīng)采樣位置(其然 后以本發(fā)明的方式對照描邊曲線的投影形式進(jìn)行測試)。這里還應(yīng)當(dāng)指出,雖然在射線投射系統(tǒng)的情況下在生成要測試的采樣點(diǎn)時(shí)例如生 成覆蓋表面空間中的投影描邊曲線的劃界基元(bounding primitive)不是必要的,但是例 如可以首先生成劃界基元并且如果需要的話然后以本發(fā)明的方式僅測試與劃界基元相交 的那些射線(采樣點(diǎn))。實(shí)際上,這可以促進(jìn)本發(fā)明在射線投射系統(tǒng)中的改進(jìn)實(shí)施,因?yàn)槭?先對照曲線的劃界基元測試射線并且如果發(fā)現(xiàn)該射線(采樣點(diǎn))首先與劃界基元相交的話 然后對照曲線“自己”測試該射線可能更加高效。在生成覆蓋表面空間中出現(xiàn)的描邊曲線的一個(gè)或多個(gè)圖形基元的情況下,則可以 使用任何合適的期望技術(shù),諸如通過定義覆蓋表面空間中出現(xiàn)的描邊曲線的一個(gè)或多個(gè)劃 界盒和/或通過定義緊密配合表面空間中出現(xiàn)的描邊曲線的末端(即在其起始和終止(控 制)點(diǎn))的劃界多邊形,來生成和定義該一個(gè)或多個(gè)圖形基元。表面空間中的(一個(gè)或多個(gè))基元內(nèi)的采樣點(diǎn)(其如本領(lǐng)域的技術(shù)人員會(huì)明白的 那樣最終被適當(dāng)?shù)刂燥@示曲線)然后被映射到“投影”空間中的對應(yīng)采樣位置(地點(diǎn))。 換言之,為顯示描邊曲線而被評價(jià)的表面空間中的每個(gè)采樣點(diǎn)(例如且優(yōu)選地在覆蓋表面 空間中的描邊曲線的所生成一個(gè)或多個(gè)基元內(nèi)的每個(gè)(適當(dāng)?shù)?采樣點(diǎn))被映射到投影空 間中的適當(dāng)對應(yīng)采樣點(diǎn)(該投影空間采樣位置然后將對照與要顯示的描邊曲線對應(yīng)的、投 影空間中的描邊曲線的投影形式進(jìn)行測試(如下面將進(jìn)一步討論的))。可以以任何合適或期望的方式確定與表面空間中的采樣位置對應(yīng)的投影空間中 的采樣位置。這可能例如取決于測試投影空間中的采樣位置所對照的、要顯示的描邊曲線 的“投影”形式的性質(zhì)。在尤其優(yōu)選的實(shí)施例中,通過首先把表面空間中的采樣點(diǎn)映射到用戶空間的對應(yīng) 位置并且然后把用戶空間中的對應(yīng)位置映射到描邊曲線的投影形式被定義在其中的投影 空間中的對應(yīng)位置,來確定與表面空間中的采樣位置對應(yīng)的投影空間中的采樣位置。在這種布置中,表面空間中的采樣點(diǎn)優(yōu)選地使用用于把所接收的描邊曲線投影到 表面空間的變換的逆(inverse)(即使用“用戶到表面”變換的逆)而被映射到用戶空間中 的對應(yīng)位置。(如上面所討論的,其逆將用作這個(gè)過程的一部分的“用戶到表面”變換將被 提供到圖形處理系統(tǒng)或向圖形處理系統(tǒng)指示。適當(dāng)?shù)哪妗坝脩舻奖砻妗弊儞Q(即“表面到用
11戶”變換)因此將簡單地為圖形處理系統(tǒng)所知道或可被其導(dǎo)出。)然后通過對采樣點(diǎn)應(yīng)用另一個(gè)變換,優(yōu)選地至少部分實(shí)施用戶空間中的對應(yīng)位置 到投影空間中的對應(yīng)位置的映射,該另一個(gè)變換事實(shí)上把采樣位置從用戶空間中的其初始 位置變換到投影空間中的其等效位置(或至少到從其可以簡單確定投影空間中的對應(yīng)位 置的變換位置)。這個(gè)后者變換在本文中將被稱為“用戶到投影(user to pro jected) ”變換,并且 如下面將更詳細(xì)討論的,事實(shí)上是當(dāng)把用戶空間中定義的描邊曲線轉(zhuǎn)換到投影空間中的其 投影形式時(shí)必須被應(yīng)用作為該過程的全部或部分的變換。在尤其優(yōu)選的實(shí)施例中(且如下面將更詳細(xì)討論的),這個(gè)“用戶到投影”變換旨 在被應(yīng)用于均勻(homogeneous)空間(“用戶空間”描邊曲線(和采樣點(diǎn))的均勻空間表 示),并因此在尤其優(yōu)選的實(shí)施例中,用于把用戶空間中的采樣點(diǎn)映射到投影空間中的對應(yīng) 位置的步驟或裝置包括用于如下的步驟或裝置首先把用戶空間中的采樣點(diǎn)放置在“均勻 用戶空間”中;對均勻用戶空間中的采樣點(diǎn)應(yīng)用(適當(dāng)?shù)?用戶到投影變換(以致采樣點(diǎn) 然后可以被認(rèn)為在“均勻投影空間”中);以及通過對均勻投影空間中的采樣點(diǎn)應(yīng)用適當(dāng)?shù)?透視除法(perspective division),把均勻投影空間中的如此變換的采樣點(diǎn)投影到投影空 間中。如下面將更詳細(xì)討論的,每個(gè)給定曲線典型地將具有其自己的特定“用戶到投影” 變換,并且用于給定曲線的用戶到投影變換可以一旦曲線已被圖形處理系統(tǒng)接收就從與要 顯示的曲線有關(guān)的信息中被直接計(jì)算,或者其可以被預(yù)先預(yù)定并存儲(chǔ)以在(和當(dāng))需要時(shí) 使用。更優(yōu)選地,對于給定的定義曲線的一個(gè)或多個(gè)(且優(yōu)選地多個(gè))預(yù)定義“用戶到投 影”變換優(yōu)選地連同它們應(yīng)用到的一個(gè)或多個(gè)曲線的指示一起被存儲(chǔ)在圖形處理系統(tǒng)內(nèi)的 或可由圖形處理系統(tǒng)訪問的數(shù)據(jù)庫(存儲(chǔ)器)中。對于要渲染的特定曲線的“用戶到投影” 變換然后在渲染過程期間在(和當(dāng))需要時(shí)(例如當(dāng)把相關(guān)的采樣點(diǎn)映射到投影空間時(shí)) 優(yōu)選地從數(shù)據(jù)庫(存儲(chǔ)器)進(jìn)行檢索(查找)。這是可能的且是期望的,因?yàn)樯暾埲艘岩庾R到如本文所討論的那樣本發(fā)明具有在 渲染重復(fù)需要渲染的描邊曲線方面具有特定好處。例如,形成用于應(yīng)用(例如在電子文件 中)或與應(yīng)用(例如在電子文件中)一起使用的特定字體的字母、數(shù)字、字符等等或者其部 分的那些描邊曲線和/或在衛(wèi)星導(dǎo)航(satnav)應(yīng)用中的地圖上形成標(biāo)記或其部分的那些 描邊曲線典型地將在使用中需要被反復(fù)地渲染。這意味著可以且將使用本發(fā)明被渲染的描邊曲線可以預(yù)先即在任何渲染操作的 開始之前被知道。因此,每個(gè)這種曲線所要求的“用戶到投影”變換可以被預(yù)先確定并且被 存儲(chǔ)以供圖形處理系統(tǒng)隨后使用,并且例如,適當(dāng)?shù)淖儞Q例如連同關(guān)于要顯示的描邊曲線 的信息一起向圖形處理系統(tǒng)供應(yīng)或指示,或者一旦接收了要顯示的描邊曲線就由圖形處理 系統(tǒng)從數(shù)據(jù)庫進(jìn)行查找。因而,在尤其優(yōu)選的實(shí)施例中,當(dāng)把用戶空間中的采樣點(diǎn)映射到投影空間中的對 應(yīng)采樣位置以對照描邊曲線的投影形式進(jìn)行測試時(shí),使用預(yù)定義或預(yù)定變換。類似地,在尤其優(yōu)選的實(shí)施例中,用于把表面空間中的采樣點(diǎn)映射到投影空間中 的對應(yīng)采樣位置的步驟或裝置包括優(yōu)選地以預(yù)定義的用戶到表面空間(用戶到表面)變換的逆以及然后預(yù)定義的“用戶到投影”變換的形式使用一個(gè)或多個(gè)預(yù)定義或預(yù)定變換。如本領(lǐng)域中的技術(shù)人員會(huì)明白的,盡管上面單獨(dú)地討論了“用戶到表面”和“用戶 到投影”變換,但是這些變換實(shí)際上可以被單獨(dú)地應(yīng)用或被組合成單個(gè)“表面到投影”變換。一旦確定了投影空間中的對應(yīng)采樣位置,則如上面所討論的,這個(gè)采樣位置對照 投影空間中要顯示的描邊區(qū)域的投影形式來測試這個(gè)采樣位置。申請人:已發(fā)現(xiàn)將用戶空間曲線的投影形式用作在測試采樣位置時(shí)使用的描邊曲 線的形式允許該過程(以及尤其是在本發(fā)明的過程中使用的關(guān)于曲線的預(yù)定信息)對于用 戶空間中定義的對應(yīng)描邊曲線的至少一些變化形式或變換是不變的。例如,其可以允許相 同的預(yù)定信息用于用戶空間中定義的不同形式(例如寬度、標(biāo)度、定向等等)的對應(yīng)描邊曲 線,并且也可以意味著例如為用戶空間中定義的描邊曲線可能經(jīng)受的到表面空間的每個(gè)變 換導(dǎo)出并存儲(chǔ)與給定描邊曲線相關(guān)不同的預(yù)定信息集不是必要的。描邊曲線的投影形式被定義在其中(且在其中測試采樣位置)的投影空間可以例 如根據(jù)描邊曲線的投影形式的和/或關(guān)于該曲線使用的預(yù)定信息的性質(zhì)而采用任何合適 且期望的形式。這里應(yīng)當(dāng)注意,在本文中對其中對照要顯示的描邊曲線的投影形式測試采樣位置 的投影空間的參考旨在僅指示(除非上下文另外要求)預(yù)定“范圍”(例如寬度)估計(jì)信息 涉及的描邊曲線的特定形式被定義在其中的空間并且尤其不旨在另外隱含投影空間的任 何特定屬性或要求。在優(yōu)選的實(shí)施例中,本發(fā)明的投影空間是在本發(fā)明中也考慮的不同“空間”到“用 戶空間”和“表面空間”(以及到“均勻用戶空間”和“均勻投影空間”)。然而,本領(lǐng)域的技術(shù) 人員會(huì)理解這不是必需的并且在某些情形下投影空間可以例如是與用戶空間相同的(等 效的)。在優(yōu)選的實(shí)施例中,投影空間是二維的,因?yàn)檫@于是將允許其“匹配”本發(fā)明尤其 適合于(諸如字體)的描邊曲線將針對其進(jìn)行定義的典型二維的用戶空間。投影空間因此 優(yōu)選地具有兩個(gè)(優(yōu)選地是正交)軸,關(guān)于這兩個(gè)軸可以定義要顯示的描邊曲線的投影形 式(以及投影空間中的采樣位置)。在優(yōu)選的實(shí)施例中,投影空間是笛卡爾(Cartesian)坐 標(biāo)空間,在這種情況下投影空間方向中的兩個(gè)軸將是該空間中的x軸和y軸。因此,在尤其優(yōu)選的實(shí)施例中,用于本發(fā)明的描邊曲線的投影形式是用戶空間中 的描邊曲線到定義的二維投影空間中的投影。被用作本發(fā)明的描邊曲線的投影形式的、投影空間中的“用戶空間”描邊曲線的投 影形式可以采用任何合適且期望的形式,盡管其應(yīng)當(dāng)具有這樣的形式以致其可以由信息表 示從而允許估計(jì)對于沿其長度的一個(gè)或多個(gè)點(diǎn)的其在所定義(例如且優(yōu)選地是“寬度”)方 向上的范圍(因?yàn)楸景l(fā)明使用該形式的預(yù)定信息來對照描邊曲線的投影形式測試投影空 間中的采樣點(diǎn))。然而,申請人已意識到,如下面將進(jìn)一步討論的,描邊曲線的某些投影形式在本發(fā) 明的背景下將尤其有利。例如,申請人已意識到,描邊曲線的投影形式為使得描邊曲線的端點(diǎn)位于特定位 置、優(yōu)選地是預(yù)定義位置、且最優(yōu)選地位于相同軸上是有益的。因此,在尤其優(yōu)選的實(shí)施例中,描邊曲線的投影形式是把曲線的端點(diǎn)放置在投影
13空間中的定義位置的、描邊曲線的形式。最優(yōu)選地,描邊曲線的投影形式的端點(diǎn)兩個(gè)都位于 投影空間中的相同軸上,諸如且優(yōu)選地是在x軸上。如下面將進(jìn)一步討論的,還已意識到為了關(guān)于本發(fā)明的描邊曲線的投影形式要使 用的預(yù)定信息能夠提供要顯示的描邊曲線的更準(zhǔn)確表示(并因此該曲線的更準(zhǔn)確渲染), 有益的是把用戶空間中的描邊曲線的中心線上的法向定向成描邊曲線的對應(yīng)投影形式中 僅可能地彼此平行,且最優(yōu)選地平行于投影空間中的、將為其估計(jì)投影描邊曲線的范圍的 定義(例如“寬度”)方向(例如且優(yōu)選地,如下面將進(jìn)一步討論的,平行于軸方向(諸如且 優(yōu)選地是y軸))。在本質(zhì)上,這是因?yàn)槿缦旅鎸⑦M(jìn)一步討論的那樣如果曲線的用戶空間法線平行于 描邊曲線的對應(yīng)投影形式中的所討論的定義(例如寬度(例如軸))方向,則描邊曲線的投 影形式在該方向上的范圍則應(yīng)當(dāng)(經(jīng)受任何縮放因子)對應(yīng)于用戶空間定義的描邊寬度 (這將是已知的參數(shù))。如下面將進(jìn)一步討論的,這然后將允許關(guān)于本發(fā)明中的描邊曲線的 投影形式使用的預(yù)定信息提供描邊曲線在相關(guān)點(diǎn)處的范圍(寬度)的更準(zhǔn)確估計(jì)。因此, 優(yōu)選的是把在描邊曲線的對應(yīng)投影形式中出現(xiàn)的、曲線的用戶空間法線對準(zhǔn)以便盡可能地 平行于相關(guān)定義的(例如寬度(例如軸))方向。雖然理想地描邊曲線的對應(yīng)投影形式中的每一個(gè)用戶空間法線將平行于投影空 間中的相關(guān)定義的(例如寬度(例如軸))方向,但是這可能不大容易,所以申請人已意識 到優(yōu)選的是將用戶空間法線的至少兩個(gè)布置成彼此平行且最優(yōu)選地平行于期望的方向,因 為如果這么做,則其它法線也應(yīng)當(dāng)更接近該方向,如果就曲線的端點(diǎn)的法線而言這么做時(shí) 尤其如此。因此,在尤其優(yōu)選的實(shí)施例中,描邊曲線的投影形式是描邊曲線的如下形式其中 與用戶空間中的對應(yīng)描邊曲線的端點(diǎn)相關(guān)聯(lián)的法向向量被配置成使得彼此平行且最優(yōu)選 地使得沿(平行于)投影空間中的特定(優(yōu)選地預(yù)定或選定)方向(該方向優(yōu)選地是投 影空間中的、預(yù)定信息允許為其確定描邊曲線的投影形式的范圍的定義(例如“寬度”)方 向)。如下面將進(jìn)一步討論的,在描邊曲線的投影形式中這些法向向量優(yōu)選地平行于投影空 間的軸,諸如且優(yōu)選地是y軸。在尤其優(yōu)選的實(shí)施例中,從用戶空間中定義的描邊曲線通過對描邊曲線尤其應(yīng)用 特定(且合適的)變換來生成描邊曲線的投影形式。換言之,描邊曲線的投影形式至少部 分是用戶空間中定義的描邊曲線的變換版本。這種變換將是上面討論的“用戶到投影”變換,并且如上面討論的其被優(yōu)選地用在 把采樣位置從用戶空間映射到投影空間時(shí)??赡艿氖?,“用戶到投影”變換可以被直接應(yīng)用到用戶空間中的描邊曲線以生成描 邊曲線的投影形式。然而如上面所討論的,在尤其優(yōu)選的實(shí)施例中,這種變換旨在被執(zhí)行在 均勻空間中,所以從用戶空間中定義的描邊曲線生成描邊曲線的投影形式的過程另外將涉 及首先把曲線放置在“均勻用戶空間”中(生成用戶空間中定義的描邊曲線的均勻空間表 示)以及在對均勻用戶空間中的曲線應(yīng)用用戶到投影變換以形成“均勻投影空間”中的曲 線后,然后使均勻投影空間中的變換曲線經(jīng)受透視除法以把曲線投影到投影空間中(到其 投影形式)。因此,在尤其優(yōu)選的實(shí)施例中,可以通過首先把用戶空間(該用戶空間例如且優(yōu)選地是二維空間)中定義的描邊曲線放置到均勻用戶空間(例如且優(yōu)選地是三維空間)中 來生成描邊曲線的投影形式。均勻用戶空間中的曲線然后被優(yōu)選地變換(使用“用戶到投 影”變換),并且均勻投影空間中的由此變換的曲線然后(以本領(lǐng)域中已知的方式)經(jīng)受透 視除法以把其投影到投影空間中(以致該曲線再次被表示在與用戶空間的相同維度的空 間中),從而生成曲線在投影空間中的投影形式。在這種情況下,“用戶到投影”變換將是應(yīng)用于均勻用戶空間中的曲線(即曲線在 放置在均勻空間中時(shí)的用戶空間形式)的變換。申請人:已意識到,有利的是如果用戶空間中的描邊曲線到投影空間中的其對應(yīng)投 影形式的映射是經(jīng)由均勻空間(即與用戶空間相比具有額外維度的空間)完成的。例如, 經(jīng)由均勻空間把用戶空間中的描邊曲線轉(zhuǎn)換到其期望的投影形式是有益的,因?yàn)槠淇梢源?進(jìn)使用可以與轉(zhuǎn)換過程相關(guān)聯(lián)的各種數(shù)學(xué)運(yùn)算。這例如類似于在常規(guī)計(jì)算機(jī)圖形學(xué)(例如 透視變換)中使用齊次坐標(biāo)(homogeneous coordinates),其中一個(gè)空間中的三維坐標(biāo)被 表示為均勻空間中的四維坐標(biāo)。在生成描邊曲線的投影形式時(shí)使用的“用戶到投影”變換可以例如根據(jù)描邊曲線 的期望投影形式而采用任何合適且期望的形式。然而,出于上面討論的原因,“用戶到投 影”變換優(yōu)選地如上面所討論的那樣把描邊曲線變換成描邊曲線的特定對應(yīng)投影形式(或 者在變換要被應(yīng)用到曲線的均勻用戶空間表示時(shí),如上面所討論的那樣把曲線變換成其在 經(jīng)受透視除法時(shí)將提供曲線的特定投影形式的形式(在這種情況下,在均勻空間中應(yīng)用的 “用戶到投影”變換應(yīng)當(dāng)是使得確保該曲線將具有投影空間中的期望形式(即在透視除法 后)))。因此,如上面所討論的,在優(yōu)選的實(shí)施例中,“用戶到投影”變換包括(例如在透視 除法后,其中這是在變換后完成的)將導(dǎo)致用戶空間中定義的描邊曲線上的至少兩個(gè)點(diǎn)被 映射到投影空間中的預(yù)定或預(yù)定義位置的變換。因此,該變換優(yōu)選地采用描邊曲線(的中心曲線)上的第一點(diǎn)(優(yōu)選地是曲線的 一個(gè)端點(diǎn))并且(在透視除法后,其中這是在變換后完成的)把其映射到第一預(yù)定義位置, 并且也采用描邊曲線(的中心曲線)上的第二點(diǎn)(優(yōu)選地是曲線的另一個(gè)端點(diǎn))并且(在 透視除法后,其中這是在變換后完成的)把其映射到第二預(yù)定義位置。最優(yōu)選地,用戶到投 影變換(在透視除法后,其中這是在變換后完成的)把曲線的起始和終止控制點(diǎn)映射到相 同軸(諸如且優(yōu)選地是X軸)上的(單獨(dú))點(diǎn)。類似地,如上面所討論的,“用戶到投影”變換也優(yōu)選地或者作為代替在一些實(shí)施 例中是使得用戶空間中定義的描邊曲線的法向向量在其變換后(以及在透視除法后,其中 這是在變換后完成的)彼此更加平行,且優(yōu)選地使得它們(再次在透視除法后,視情況而 定)將更加平行于投影空間的所定義(例如“寬度”)方向(優(yōu)選地是軸方向)。如上面所討論的,這是優(yōu)選地通過以下實(shí)現(xiàn)的定義“用戶到投影”變換以致使得 與描邊曲線上的兩個(gè)點(diǎn)相關(guān)聯(lián)的法向向量且優(yōu)選地是與描邊曲線上的兩個(gè)端點(diǎn)相關(guān)聯(lián)的 法向向量在變換后(以及在透視除法后,其中這是在變換后完成的)正好平行(且優(yōu)選地 平行于期望的(例如“寬度”(例如軸))方向)。雖然在這樣的變換后,投影空間中出現(xiàn)的 其它法向向量可能未變得正好平行,但是申請人已發(fā)現(xiàn)這樣的變換應(yīng)當(dāng)仍然導(dǎo)致它們被定 向成處于改進(jìn)的對準(zhǔn)程度。
因此,在優(yōu)選的實(shí)施例中,被用作把用戶空間中的描邊曲線投影到用于本發(fā)明的 投影空間中的其對應(yīng)投影形式的全部或部分過程的“用戶到投影”變換包括改變與描邊曲 線上的兩個(gè)或更多點(diǎn)(例如且優(yōu)選地是描邊曲線的起始點(diǎn)和終止點(diǎn))相關(guān)聯(lián)的法向向量的 相對定向的變換。在尤其優(yōu)選的實(shí)施例中,該變換是改變那些法向向量的相對定向以致它 們在曲線的變換形式中彼此平行(并指向相同方向)且最優(yōu)選地以致那些法向向量將沿投 影空間中的、預(yù)定信息允許針對其估計(jì)描邊曲線的投影形式的范圍的定義(例如寬度)方 向(例如軸方向)指向的變換。因而,在本發(fā)明的其中關(guān)于正交x軸和y軸定義投影空間的優(yōu)選實(shí)施例中,“用戶 到投影”變換優(yōu)選地是使得重定向與用戶空間中的描邊曲線的起始和終止控制點(diǎn)相關(guān)聯(lián)的 法向向量以致在描邊曲線的對應(yīng)投影形式中那些法向向量被定向成彼此平行且平行于投 影空間中的軸之一(例如且優(yōu)選地是y軸)。(如本領(lǐng)域的技術(shù)人員將理解的,如上面所討論的那樣改變描邊曲線的兩個(gè)或更 多點(diǎn)的法向向量的定向的“用戶到投影”變換將使得曲線上的每個(gè)點(diǎn)處的法向向量的角度 從(相對于特定點(diǎn)處曲線的切線的)90°改變?yōu)槊柽吳€的變換形式中的非90°度,該角 度典型地對于曲線上的每個(gè)點(diǎn)而言是不同的。然而,雖然描邊曲線的變換形式中的這些向 量因此可能不是常規(guī)意義上的“法向向量”,即它們將不垂直于描邊曲線的變換形式,但是 為方便起見它們將在本文中繼續(xù)被稱為“法向向量”。因此,被稱為“法向向量”的在描邊曲 線的例如變換(和投影)形式中的向量因此是那些對應(yīng)于描邊曲線的“用戶空間”形式中 的法向向量的向量,除非上下文另外要求。)“用戶到投影”變換因此優(yōu)選地包括把描邊曲線上的至少兩個(gè)點(diǎn)映射到預(yù)定或預(yù) 定義位置的變換;和/或改變與描邊曲線上的兩個(gè)或更多點(diǎn)相關(guān)聯(lián)的法向向量的相對定向 以致它們在對應(yīng)的變換描邊曲線中平行的變換(在這兩種情況下在透視除法后,如果這是 要作為部分“投影”曲線生成過程完成的)。在尤其優(yōu)選的實(shí)施例中,用戶到投影變換包括 執(zhí)行這兩個(gè)動(dòng)作且優(yōu)選地關(guān)于用戶空間中的描邊曲線的相同兩個(gè)或更多點(diǎn)執(zhí)行的變換。在把用戶空間中的描邊曲線映射到投影空間中的用于本發(fā)明的其對應(yīng)投影形式 時(shí)將使用的上面的“用戶到投影”變換例如可以表示為仿射變換(分量)和投影變換(分 量)。變換的仿射分量用來滿足描邊曲線上的至少兩個(gè)點(diǎn)通過變換被映射到預(yù)定或預(yù)定義 位置的條件,而變換的投影分量用來滿足曲線上的至少兩個(gè)點(diǎn)的用戶空間法向向量(至少 在透視除法后,其中該變換要在均勻空間中被執(zhí)行)在曲線的投影形式中平行(且優(yōu)選地 平行于給定方向)的條件。然而如將會(huì)明白的,該變換可以以任何合適且期望的方式被表 示(和計(jì)算)。在“用戶到投影”變換可以用來生成描邊曲線的投影形式的情況下,則如上面所討 論的,正是這個(gè)“用戶到投影”變換被優(yōu)選地用于(作為全部或部分)把表面空間中的采樣 點(diǎn)映射到投影空間中的對應(yīng)采樣位置的過程。因此,在尤其優(yōu)選的實(shí)施例中,如上面所討論的,多個(gè)這樣的用戶到投影變換針對 期望能夠渲染的相應(yīng)描邊曲線被導(dǎo)出和存儲(chǔ)(并且然后視情況而定在當(dāng)渲染相應(yīng)描邊曲 線時(shí)把采樣位置從用戶空間映射到投影空間時(shí)被使用)。如本領(lǐng)域的技術(shù)人員會(huì)明白的,這 些變換可以以任何合適且期望的方式針對用戶空間中定義的描邊曲線或每個(gè)描邊曲線被 容易地導(dǎo)出。
在本發(fā)明中,對照投影空間中的描邊曲線的投影形式測試投影空間中的采樣位置 以查看它們是否落在投影空間中的描邊曲線的投影形式內(nèi)不是通過直接對照描邊曲線的 投影形式測試采樣位置而是相反通過使用預(yù)定信息來估計(jì)在沿著描邊曲線的投影形式的 長度的、與所討論的采樣位置對應(yīng)的位置處描邊曲線的投影形式在所定義方向上的范圍而 實(shí)施的。用于估計(jì)在本發(fā)明中使用的描邊曲線的投影形式在所定義方向上的范圍的預(yù)定 信息可以采用任何合適且期望的形式,即可以采用允許單獨(dú)地或與其它信息組合地使用預(yù) 定信息來估計(jì)描邊曲線的投影形式的相關(guān)范圍的任何形式(如下面將進(jìn)一步討論的)。這里應(yīng)當(dāng)注意,對如允許估計(jì)描邊曲線的投影形式在所定義方向上的范圍的預(yù)定 信息的參考旨在指示該預(yù)定信息允許估計(jì)該曲線在給定方向上的范圍。定義方向可以是關(guān) 于曲線的任何合適且期望的方向,但最優(yōu)選地是一般橫跨曲線的“寬度”(對照沿“長度,,) 的方向(即該定義方向不是沿曲線的長度而是一般可以被認(rèn)為是橫跨曲線的寬度)。因此, 在尤其優(yōu)選的實(shí)施例中,在本發(fā)明中使用的預(yù)定信息允許估計(jì)描邊曲線的投影形式在寬度 方向上的范圍。然而,也應(yīng)當(dāng)注意,把方向定義為“寬度”方向不旨在要求預(yù)定信息允許估計(jì)曲線 在與曲線的中心線精確垂直的方向上的范圍(曲線上的一些點(diǎn)的情況可能如此,但是如下 面將進(jìn)一步討論的,一般不是沿曲線的所有點(diǎn)的情況都是如此)。事實(shí)上,也不旨在要求可 以使用預(yù)定信息來估計(jì)用戶空間中定義的描邊寬度。相反,如下面將進(jìn)一步討論的,發(fā)明在于可以估計(jì)描邊曲線在一般橫跨其寬度的 方向上的范圍的估計(jì),因?yàn)槿缦旅鎸⑦M(jìn)一步討論的,已發(fā)現(xiàn)這促進(jìn)描邊曲線的至少一些形 式的高效且足夠準(zhǔn)確的渲染。預(yù)定信息涉及的定義(例如寬度)方向優(yōu)選地沿曲線不變化,即優(yōu)選地存在單個(gè) 定義(例如寬度)方向并且該預(yù)定信息允許確定在沿曲線的長度的各點(diǎn)處曲線在該單個(gè)定 義方向上的范圍。因此,在優(yōu)選的實(shí)施例中,預(yù)定信息所涉及的該定義(例如寬度)方向是對沿著描 邊曲線的投影形式的所有點(diǎn)都是相同的方向。類似地應(yīng)當(dāng)理解,對沿著描邊曲線的投影形式的“長度”的位置的參考旨在指代一 般沿著描邊曲線的投影形式的長度(與橫跨寬度相區(qū)別)延伸的位置,而不隱含對那些位 置的任何進(jìn)一步的約束或要求。換言之,一般而言,在其投影形式中,描邊曲線將能夠被認(rèn)為實(shí)際上一般在給定方 向上延伸并且正是這個(gè)方向?qū)殛P(guān)于曲線的“長度”方向?!皩挾取狈较騽t旨在是一般橫跨 或垂直于該長度方向的方向,盡管其不需要(但可能是)正好垂直于“長度”方向。在一個(gè)優(yōu)選的實(shí)施例中,“長度”方向被視為聯(lián)接描邊曲線的投影形式的起始點(diǎn)和 終止點(diǎn)的(直)線。在尤其優(yōu)選的實(shí)施例中,該定義(例如寬度)方向被視為近似平行于描邊曲線在 其投影形式中的法線(且優(yōu)選地平行于描邊曲線在其投影形式中的起始點(diǎn)和終止點(diǎn)的處 的法線)的方向?!伴L度”方向則是大體垂直于該方向的且在優(yōu)選的實(shí)施例中垂直于該方向 的方向。這里也應(yīng)當(dāng)注意,雖然沿在本發(fā)明中使用和定義的曲線的點(diǎn)處描邊曲線的投影形
17式在定義(例如寬度)方向上(例如在y方向上)的范圍實(shí)際上可以被認(rèn)為表示在該點(diǎn)處 曲線在該方向上的“寬度”(并且實(shí)際上將允許估計(jì)在該點(diǎn)處曲線在該方向上的“寬度”), 但是這個(gè)“范圍”指示(例如曲線的“y范圍”)將僅對應(yīng)于描邊曲線的用戶空間定義的描 邊寬度w,如果描邊曲線的投影形式的“突出”方向垂直于該點(diǎn)處的定義方向(例如y軸) (并且經(jīng)受任何縮放因子)。因此,本發(fā)明不是僅僅存儲(chǔ)和使用在沿曲線的“長度”方向的 每個(gè)點(diǎn)處的用戶空間描邊寬度,而是使用允許估計(jì)在每個(gè)點(diǎn)處曲線在適當(dāng)方向上的范圍的 值(或多個(gè)值)。在尤其優(yōu)選的實(shí)施例中,預(yù)定信息允許針對其估計(jì)描邊曲線的投影形式的范圍的 定義(例如“寬度”)方向平行于投影空間的軸之一。因此,在尤其優(yōu)選的實(shí)施例中,預(yù)定信 息允許估計(jì)描邊曲線的投影形式在平行于投影空間的軸之一的方向上的范圍(并因此在 本文中指代的定義(例如“寬度”)方向?qū)⑹窃撦S的方向)。在這種情況下,沿著描邊曲線 的投影形式的“長度”的對應(yīng)方向優(yōu)選地平行于投影空間的另一個(gè)軸。因此,在尤其優(yōu)選的實(shí)施例中,本發(fā)明包括用于使用預(yù)定信息來估計(jì)在沿著投影 空間中的第二軸方向的與所討論的采樣點(diǎn)在該第二軸方向上的位置對應(yīng)的位置處描邊曲 線的投影形式在投影空間中的第一軸方向(其將是定義(例如“寬度”)方向)上的范圍的 步驟或裝置。在投影空間為二維且具有正交x軸和y軸的優(yōu)選情況下,第一軸方向(例如 定義的“寬度”方向)可以例如且優(yōu)選地沿y軸而第二軸方向(“長度”方向)沿x軸(或 者反之亦然)。因此,根據(jù)本發(fā)明的第三方面,提供一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯 示的方法,該方法包括接收要顯示的定義在用戶空間中的輸入描邊曲線;使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示;以及對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣位置;使用預(yù)定信息來估計(jì)在沿著投影空間中的第二軸方向的與投影空間的采樣點(diǎn)沿 投影空間的第二軸方向上的位置對應(yīng)的位置處投影空間中要顯示的描邊曲線的投影形式 在投影空間中的第一軸方向上的范圍;使用要顯示的描邊曲線的投影形式在投影空間的第一軸方向上的估計(jì)范圍來確 定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi);以及依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分配用 于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)。根據(jù)本發(fā)明的第四方面,提供一種用于在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示 的設(shè)備,該設(shè)備包括用于接收要顯示的定義在用戶空間中的輸入描邊曲線的裝置;用于使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示的裝置; 以及用于對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè),確定投影空間中的對應(yīng)采樣 位置的裝置;用于使用預(yù)定信息來估計(jì)在沿著投影空間中的第二軸方向的與投影空間的采樣點(diǎn)沿投影空間的第二軸方向上的位置對應(yīng)的位置處投影空間中要顯示的描邊曲線的投影 形式在投影空間中的第一軸方向上的范圍的裝置;用于使用要顯示的描邊曲線的投影形式在投影空間的第一軸方向上的估計(jì)范圍 來確定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi)的裝置;以及用于依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分 配用于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)的裝置。如本領(lǐng)域的技術(shù)人與會(huì)明白的,發(fā)明的這些方面可以且優(yōu)選地確實(shí)包括本文描述 的本發(fā)明的優(yōu)選且任選的特征中的任一個(gè)或多個(gè)或全部(視情況而定)。因此,例如,第一 軸方向優(yōu)選地沿投影空間中的y軸,而第二軸方向優(yōu)選地沿x軸。要明白,在這些布置中,描邊曲線的投影形式實(shí)際上將就在沿曲線在一個(gè)軸方向 (例如x方向)上的范圍的各個(gè)點(diǎn)處其在另一個(gè)軸方向(例如y方向)上的范圍而言進(jìn)行定義。換言之,不是就中心路徑和沿該路徑的固定垂直描邊寬度(如上面所討論的,其 正常將是在用戶空間中定義這種曲線的方式)而言定義描邊曲線,至少在一些實(shí)施例中本 發(fā)明將使用允許確定在沿一個(gè)軸方向上的曲線的一個(gè)或多個(gè)點(diǎn)處該曲線在另一個(gè)軸方向 上的范圍的描邊曲線的定義。申請人:已意識到,可以以此方式表示和定義描邊曲線,并且對于描邊曲線的此類 定義對渲染描邊曲線有用且在實(shí)際中能夠至少為描邊曲線的一些形式提供足夠準(zhǔn)確的渲 染效果。本發(fā)明因此也延伸到描邊曲線的這種定義的使用。因此,根據(jù)本發(fā)明的第五方面,提供一種定義用于圖形處理系統(tǒng)中的描邊曲線的 方法,該方法包括就用于估計(jì)針對沿給定空間的一個(gè)軸方向的多個(gè)位置的、曲線在給定空間的另一 個(gè)軸方向上的范圍的信息而言定義曲線。因此,根據(jù)本發(fā)明的第六方面,提供一種定義用于圖形處理系統(tǒng)中的描邊曲線的 設(shè)備,該設(shè)備包括用于就用于估計(jì)針對沿給定空間的一個(gè)軸方向的多個(gè)位置的、曲線在給定空間的 另一個(gè)軸方向上的范圍的信息而言定義曲線的裝置。因此,根據(jù)本發(fā)明的第七方面,提供一種定義用于圖形處理系統(tǒng)中的描邊曲線的 數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)值陣列,用于估計(jì)針對沿給定空間的一個(gè)軸方向的多個(gè)位置的、描邊曲線在 給定空間中的另一個(gè)軸方向上的范圍。如本領(lǐng)域的技術(shù)人與會(huì)明白的,發(fā)明的這些方面可以且優(yōu)選地確實(shí)包括本文描述 的本發(fā)明的優(yōu)選且任選的特征中的一個(gè)或多個(gè)或全部(視情況而定)。因此,例如,給定空 間優(yōu)選地是二維的,并且兩個(gè)軸方向優(yōu)選地是正交的且優(yōu)選地沿笛卡爾空間中的x軸和y 軸(或者反之亦然)。用于本發(fā)明的預(yù)定“范圍估計(jì)”信息可以允許以任何合適且期望的方式估計(jì)在沿 著描邊曲線的投影形式的長度的位置處描邊曲線的投影形式在相關(guān)定義的(例如寬度)方 向上的范圍。
在尤其優(yōu)選的實(shí)施例中,預(yù)定信息允許估計(jì)描邊曲線的投影形式覆蓋的在所定義 的(例如寬度(例如軸))方向上的位置范圍。(這個(gè)位置范圍然后對照投影空間中的采樣 點(diǎn)位置進(jìn)行測試以查看采樣點(diǎn)是否落在曲線內(nèi)。)在沿著描邊曲線長度的特定位置處由描邊曲線的投影形式覆蓋的在所定義的 (例如寬度)方向上的位置范圍可以以任何合適且期望的方式被估計(jì)(其中預(yù)定信息被相 應(yīng)地配置)。在尤其優(yōu)選的實(shí)施例中,預(yù)定信息可以且優(yōu)選地用來估計(jì)描邊曲線的投影形式覆 蓋的在所定義方向上的最大和最小位置值。在尤其優(yōu)選的實(shí)施例中,這是通過使用預(yù)定信息來估計(jì)曲線的外邊界(邊緣)在 相關(guān)定義的(例如寬度(例如軸))方向上的位置而完成的。例如,預(yù)定信息優(yōu)選地用來確定沿定義(例如寬度(例如軸))方向的表示描邊曲 線的投影形式的第一(例如上)外邊界的估計(jì)的第一位置、以及沿定義(例如寬度(例如 軸))方向的表示描邊曲線的投影形式的另一(下)外邊界的估計(jì)的第二位置。由描邊曲線的投影形式覆蓋的在所定義的(例如寬度)方向上的位置范圍則將是 曲線的這些估計(jì)邊界之間的位置范圍。如將會(huì)明白的,雖然至少在其中經(jīng)由均勻空間生成描邊曲線的投影形式的情況 下,在沿曲線的給定點(diǎn)處從曲線的投影形式的中心線到曲線的一個(gè)(例如上)外邊緣(邊 界)沿定義(例如寬度)方向的距離可能與在該點(diǎn)處中心線到曲線的另一個(gè)(例如下)外 邊緣沿寬度方向的距離相同,但是更普遍的情況可能是從曲線的中心線上的給定點(diǎn)到曲線 的投影形式中的每個(gè)邊緣的距離將由于在均勻投影空間中出現(xiàn)的描邊曲線被投影到投影 空間中時(shí)發(fā)生的透視除法而不同。因此優(yōu)選的是獨(dú)立地估計(jì)曲線的每個(gè)邊緣(外邊界)的位置,而不是僅估計(jì)一個(gè) 邊界的位置以及然后對曲線的每側(cè)(在曲線上方和下方)取該位置(盡管如果需要的話可 以這么做)。因此,在使用具有x軸和y軸的投影空間的情況下,例如預(yù)定“范圍估計(jì)”信息優(yōu) 選地允許估計(jì)在給定的x位置處曲線所覆蓋的投影空間中的最小和最大y值,該最小和最 大y值然后將表示在所討論的點(diǎn)處描邊曲線的投影形式的上和下外邊界(邊緣)在y軸上 的位置估計(jì)。預(yù)定“范圍估計(jì)”信息本身可以允許確定描邊曲線的投影形式在所定義(例如寬 度)方向上的范圍。然而,在優(yōu)選的實(shí)施例中,預(yù)定信息要與其它信息一起使用來獲得描邊 曲線的投影形式的相關(guān)范圍的估計(jì)。在尤其優(yōu)選的實(shí)施例中,與描邊曲線的投影形式有關(guān)的預(yù)定信息要與要顯示的曲 線在用戶空間中的描邊寬度(如上面所討論的,其將為圖形處理系統(tǒng)所已知)一起使用 (并與其一起使用)來估計(jì)描邊曲線在相關(guān)定義(例如寬度(例如軸))方向上的范圍。如下面將進(jìn)一步討論的,使用要與要顯示的曲線在用戶空間中的描邊寬度結(jié)合使 用的預(yù)定信息尤其有利,因?yàn)樗试S預(yù)定信息用于所討論的描邊曲線而與不管用戶空間中 的描邊寬度(原因在于當(dāng)估計(jì)描邊曲線的投影形式的范圍時(shí)將考慮到期望的描邊寬度)。 換言之,這允許預(yù)定信息對預(yù)定信息所對應(yīng)的曲線的期望用戶空間描邊寬度中的變化是不 變化的。
(在這種情況下,(由圖形處理系統(tǒng)接收的)預(yù)定信息和描邊曲線的用戶空間描邊 寬度實(shí)際上將被組合地用來確定對照其測試投影空間中的采樣位置的、描邊曲線的“投影” 形式的范圍。)在估計(jì)描邊曲線的投影形式在所定義方向上的范圍時(shí)使用的預(yù)定“范圍估計(jì)”信 息可以采用任何合適且期望的形式,該形式例如將允許估計(jì)在沿著描邊曲線的投影形式的 長度的相關(guān)位置處由投影空間中的描邊曲線的投影形式覆蓋的位置范圍。在尤其優(yōu)選的實(shí)施例中且如從本文的討論中將會(huì)明白的,在經(jīng)由均勻空間實(shí)施到 描邊曲線的投影形式的變換時(shí),使用預(yù)定“范圍估計(jì)”信息的過程可以且優(yōu)選地確實(shí)包括 在均勻投影空間中確定曲線的中心點(diǎn)和(經(jīng)調(diào)節(jié)的-如下面將討論的)單位法線,并且使 用其以及用戶空間描邊寬度來估計(jì)均勻投影空間中曲線邊界的位置,并且然后通過透視除 法把估計(jì)的曲線邊界點(diǎn)投影到投影空間中以及對照投影空間中的如此估計(jì)的曲線邊界點(diǎn) 測試投影空間中的采樣點(diǎn)的(映射)位置(并且然后對曲線的外邊緣(邊界點(diǎn))重復(fù)此過 程)。因此,在尤其優(yōu)選的實(shí)施例中,要用來估計(jì)描邊曲線的投影形式在所定義(例如 寬度)方向上的范圍的預(yù)定“范圍估計(jì)”信息包括如下信息其可以用來估計(jì)在沿著描邊曲 線的均勻投影空間形式的長度的相應(yīng)位置處、在描邊曲線的均勻投影空間中出現(xiàn)的用戶空 間中的描邊曲線的單位法向向量在均勻投影空間中的相關(guān)(例如寬度)方向上的分量。如下面將進(jìn)一步討論的,申請人已意識到描邊曲線的外邊緣相距曲線中心線的距 離可以通過把在所討論的位置處曲線的單位法向向量(的均勻投影空間形式)的相關(guān)分量 縮放一半用戶空間描邊寬度w來估計(jì)(由于把單位法向向量縮放一半用戶空間描邊寬度將 把法向向量從曲線的中心線上的點(diǎn)延伸到曲線邊界上的點(diǎn))。因此,單位法向向量分量信息可以連同用戶空間中的描邊曲線的寬度(其將是已 知的)一起使用來估計(jì)描邊曲線的均勻投影空間形式在期望方向上的范圍。此外,如果允許單位法向向量的相關(guān)范圍(分量)的預(yù)定信息被確定和使用,則這 是有利的,因?yàn)槠湓试S該信息用于所討論的特定曲線的所有期望的用戶空間描邊寬度(與 例如必須確定和存儲(chǔ)其可能期望渲染的每個(gè)不同描邊寬度的信息集相對照)。而且,如下面將進(jìn)一步討論的,申請人已意識到如果沿著描邊曲線的相關(guān)(例如 寬度)方向的距離的這種估計(jì)被“添加”到描邊曲線的均勻投影空間形式的中心線在相關(guān) (例如寬度)方向上的位置,則可以估計(jì)在該點(diǎn)處描邊曲線的均勻投影空間形式所覆蓋的 相關(guān)方向上的邊界位置。因此,在尤其優(yōu)選的實(shí)施例中,關(guān)于描邊曲線的投影形式使用的預(yù)定信息也包括 允許估計(jì)在相關(guān)長度位置處描邊曲線的均勻投影空間形式的中心線在相關(guān)方向(例如寬 度)方向上的位置的信息(即包括用于估計(jì)描邊曲線的均勻投影空間形式的中心線在“寬 度”方向上的位置)。這個(gè)信息然后可以例如與在該位置處用戶空間中的對應(yīng)描邊曲線的單位法向向 量在均勻投影空間中的分量估計(jì)以及與用戶空間中的描邊寬度一起使用來估計(jì)要顯示的 描邊曲線的投影形式將在投影空間中覆蓋的y值的范圍,如上面所討論的。因此,在本發(fā)明的尤其優(yōu)選的實(shí)施例中,在估計(jì)描邊曲線在投影空間中的給定方 向上的范圍時(shí)使用的預(yù)定信息包括用于估計(jì)描邊曲線的均勻投影空間形式的中心線上的
21點(diǎn)的位置的信息、以及用于估計(jì)在描邊曲線的均勻投影空間形式上的該點(diǎn)處描邊曲線的均 勻投影空間形式中出現(xiàn)的用戶空間單位法向向量的定義(寬度)方向分量的信息。申請人:還已意識到如下面將進(jìn)一步討論的,可以通過在估計(jì)曲線的單位向量在相 關(guān)方向上的分量時(shí)應(yīng)用調(diào)節(jié)因子來提供在沿曲線的長度的位置處沿著描邊曲線的均勻投 影空間形式的相關(guān)(例如寬度)方向的范圍的更準(zhǔn)確估計(jì)。這樣的更準(zhǔn)確估計(jì)可以獲得更 好的渲染質(zhì)量,并且可能例如在要渲染的描邊曲線的寬度相對較大時(shí)尤其是期望的。因此,在本發(fā)明的尤其優(yōu)選的實(shí)施例中,預(yù)定“范圍估計(jì)”信息包括允許確定曲線 的用戶空間單位法向向量的均勻投影空間形式在相關(guān)方向上的分量的調(diào)節(jié)估計(jì)的信息。最 優(yōu)選地,其實(shí)際上允許確定單位法向向量的分量加(或減)調(diào)節(jié)因子。在這些布置中進(jìn)行的調(diào)節(jié)(以及要應(yīng)用的調(diào)節(jié)因子)可以被視需要地選擇和導(dǎo) 出。然而,在尤其優(yōu)選的實(shí)施例中且如下面將進(jìn)一步討論的,其基于或使用沿曲線的長度的 相關(guān)位置處曲線的中心線的切線向量(且優(yōu)選地是在該過程經(jīng)由均勻空間發(fā)生時(shí)在均勻 投影空間中出現(xiàn)的切線向量)。最優(yōu)選地,該調(diào)節(jié)(因子)實(shí)際上使用或考慮到在沿曲線的長度的相關(guān)位置處曲 線的中心線的單位切線向量在相關(guān)(例如寬度)方向上的分量。如下面將進(jìn)一步討論的, 這然后可以用來“調(diào)節(jié)”對應(yīng)單位法向向量的估計(jì)從而然后提供描邊曲線的相關(guān)范圍的更 準(zhǔn)確估計(jì)。(再次,使用使用單位切線向量的相關(guān)分量的預(yù)定信息是有利的,因?yàn)槠溆谑窃试S 該信息用于所討論的特定曲線的所有期望的用戶空間描邊寬度)。因此,在尤其優(yōu)選的實(shí)施例中,在估計(jì)在沿著描邊曲線的均勻投影空間形式的長 度的位置處描邊曲線的投影形式在所定義(例如寬度)方向上的范圍時(shí)使用的預(yù)定信息包 括基于或涉及在沿著描邊曲線的相關(guān)位置處描邊曲線的單位法向向量的信息、優(yōu)選地以及 基于或涉及在沿著描邊曲線的相關(guān)位置處曲線的中心線的單位切線向量的信息。在尤其優(yōu)選的實(shí)施例中,調(diào)節(jié)因子(分量)取決于切線向量和“法向”向量偏離投 影空間中的定義(寬度)方向的范圍。要明白,在用于本發(fā)明的預(yù)定信息旨在允許估計(jì)描邊曲線的均勻投影空間形式的 中心線的位置和曲線的均勻投影空間形式中的用戶空間單位法向向量的分量的情況下,則 預(yù)定信息實(shí)際上將涉及要顯示的對應(yīng)描邊曲線的中心線(路徑)到投影空間中的投影,并 且這然后將連同要顯示的描邊曲線的定義用戶空間描邊寬度w—起使用,以實(shí)際上“生成” 對照其測試投影空間中的采樣位置的、要顯示的描邊曲線的“實(shí)際”投影形式。預(yù)定“范圍估計(jì)”信息本身可以采用任何合適的允許估計(jì)與描邊曲線的投影形式 有關(guān)的信息的形式。在尤其優(yōu)選的實(shí)施例中,在如上面所討論的那樣經(jīng)由在均勻空間中實(shí)施的變換來 導(dǎo)出描邊曲線的投影形式的情況下,預(yù)定“范圍估計(jì)”信息包括關(guān)于均勻投影空間中的曲線 的變換形式所導(dǎo)出的信息。尤其是,申請人已意識到通過在這樣的布置中導(dǎo)出和存儲(chǔ)與均 勻投影空間中的曲線的變換形式有關(guān)的信息,仍然簡單可以導(dǎo)出上面針對投影空間中的描 邊曲線的投影形式所討論的對應(yīng)信息,原因在于該信息通過實(shí)際上實(shí)施透視除法或使用與 均勻投影空間中的曲線有關(guān)的信息、或者事實(shí)上通過直接使用與均勻投影空間中的曲線有 關(guān)的信息,是可導(dǎo)出的。
例如,在預(yù)定信息是允許在沿曲線的長度的給定位置處估計(jì)曲線的中心線在所定 義(例如寬度)方向上的位置的情況下,則在三維均勻投影空間例如由x、y和z軸定義的 情況下,在均勻投影空間中的給定x位置處曲線的中心線的位置的y和z分量可以用來估 計(jì)在投影空間中的曲線的中心線上的該x位置處的y位置,原因在于投影空間中的y位置 將是均勻投影空間中的y分量除以均勻投影空間中的z分量。因此,通過例如把均勻投影 空間中的曲線的位置的y和z分量存儲(chǔ)為預(yù)定“范圍估計(jì)”信息,這于是將允許估計(jì)針對所 討論的x位置的、投影空間中的曲線的中心線的對應(yīng)y位置。類似的評論應(yīng)用于用戶空間法向向量的相關(guān)分量的情況。再次,如果均勻投影空 間中的曲線的變換形式中的用戶空間單位法向向量具有x、y和z分量,則在給定x(長度) 位置處在透視除法后投影空間中的單位法向向量的y分量將由均勻投影空間中的變換單 位法向向量的y分量除以均勻投影空間中的變換單位法向向量的z分量來給出。因而,再次 通過把均勻投影空間中的曲線的變換形式中的單位法向向量的y和z分量存儲(chǔ)為預(yù)定“范 圍估計(jì)”信息,該信息于是可以被簡單地用來導(dǎo)出投影空間中的單位法向向量的對應(yīng)位置。此外,在如上面所討論的那樣調(diào)節(jié)因子要被應(yīng)用于單位法向向量的情況下,則如 下面將進(jìn)一步討論的,這樣的調(diào)節(jié)因子可以被簡單地導(dǎo)出并應(yīng)用于均勻投影空間中的變換 曲線的單位法向向量的每個(gè)相應(yīng)分量(例如y和z分量),該調(diào)節(jié)的分量然后可以仍然如上 面所討論的那樣用來導(dǎo)出關(guān)于投影空間中的描邊曲線的投影形式要使用的對應(yīng)單位法向 向量分量。因此,在尤其優(yōu)選的實(shí)施例中,在本發(fā)明中使用和存儲(chǔ)的預(yù)定“范圍估計(jì)”信息包 括針對沿均勻投影空間中的曲線的“長度”(沿均勻投影空間中的軸方向)的給定位置,與 在該位置處均勻投影空間中的其變換形式中的曲線的中心線的位置有關(guān)的信息、以及與在 該位置處均勻投影空間中的曲線的變換形式中的單位法向向量有關(guān)的信息。后者優(yōu)選地包 括基于或涉及在所討論的位置處均勻投影空間中的變換曲線的中心線的切線向量的因子。因此,在尤其優(yōu)選的實(shí)施例中,在渲染給定的描邊曲線進(jìn)行顯示時(shí)使用的投影空 間中的描邊曲線的投影形式包括用戶空間中的描邊曲線經(jīng)由均勻空間到投影空間中的投 影的情況下,在估計(jì)投影空間中的定義方向上的描邊曲線的范圍時(shí)使用的預(yù)定信息包括涉 及(至少部分定義)均勻投影空間中變換的描邊曲線的中心線上的點(diǎn)的位置的信息、以及 涉及(至少部分定義)在均勻投影空間中的變換描邊曲線上的該點(diǎn)處用戶空間單位法向向 量在均勻投影空間中的方向的信息。這里應(yīng)當(dāng)注意,如從上面將會(huì)明白的,盡管對照描邊曲線測試采樣點(diǎn)“邏輯上”如 上所述發(fā)生在投影空間中,但是該測試的實(shí)施不必使用投影空間本身的或涉及投影空間本 身的坐標(biāo)或預(yù)定信息(盡管可以這么做),而是可以例如如上所述作為代替或也使用來自 或涉及例如均勻投影空間的坐標(biāo)和預(yù)定信息。因此,例如,使用來自均勻投影空間的坐標(biāo) (而實(shí)際上不對那些坐標(biāo)執(zhí)行透視除法)的等效測試可以在實(shí)施本發(fā)明的過程時(shí)被使用。 (但是采樣點(diǎn)的測試仍然將(對照描邊曲線的投影形式)邏輯上發(fā)生在投影空間中,這僅僅 是因?yàn)榭梢允褂蒙婕熬鶆蛲队翱臻g的信息來實(shí)施該測試。)如上面所討論的,對于二維用戶空間以及因此三維均勻空間,針對沿著描邊曲線 的長度的給定位置的預(yù)定信息因而優(yōu)選地包括兩個(gè)標(biāo)量值,每個(gè)表示在沿均勻投影空間中 的變換描邊曲線的長度的位置處均勻投影空間中的描邊曲線的中心線的位置的分量(例
23如且優(yōu)選地是y和Z分量)(并且其一起可以用來估計(jì)投影空間中的描邊曲線的中心線在 寬度方向上的位置)。類似地,預(yù)定信息可以且優(yōu)選地確實(shí)還包括兩個(gè)標(biāo)量值,每個(gè)表示或涉及在所討 論的位置處均勻投影空間中的變換描邊曲線的單位法向向量的兩個(gè)分量(例如且優(yōu)選地 是y和z分量)。優(yōu)選地,這兩個(gè)值包括(考慮到)調(diào)節(jié)因子,該調(diào)節(jié)因子基于在沿均勻投 影空間中的描邊曲線的與沿投影空間中的描邊曲線的投影形式的長度的位置對應(yīng)的位置 處均勻投影空間中的變換曲線的中心線的切線向量。因此,在尤其優(yōu)選的實(shí)施例中,為沿曲線的長度的給定點(diǎn)存儲(chǔ)的預(yù)定信息包括四 個(gè)離散值。要理解,在上面的實(shí)施例中,描邊曲線的投影形式在所定義(例如寬度)方向上的 范圍可以被估計(jì)為用戶空間描邊寬度的線性有理函數(shù)(因?yàn)槊柽厡挾缺挥脕砜s放相關(guān)估 計(jì)的“單位”向量值)。然而也考慮,可以使用用戶空間描邊寬度的其它函數(shù)。例如,作為代 替可以使用二次(或更高)有理近似以便提高估計(jì)的準(zhǔn)確度,并因此提高渲染質(zhì)量(如果 需要的話)。(如將會(huì)明白的,二次(或更高)有理近似將解釋均勻投影空間中曲線的切線 和曲線本身之間的間隙、以及校正法向向量的導(dǎo)數(shù)。)如從上面將會(huì)明白的,預(yù)定“范圍估計(jì)”信息優(yōu)選地具有多個(gè)離散值(優(yōu)選地四個(gè) 離散數(shù)據(jù)值)的形式,其可以個(gè)別或組合地且單獨(dú)或(優(yōu)選地)與其它數(shù)據(jù)一起用來例如 且優(yōu)選地估計(jì)描邊曲線的投影形式的中心線在寬度(例如軸)方向上的位置以及在相關(guān) “長度”位置處描邊曲線的投影形式在所定義(例如寬度)方向上的范圍。關(guān)于要顯示的描邊曲線的投影形式使用的預(yù)定信息可以以任何合適的方式被配 置和存儲(chǔ)以供圖形處理系統(tǒng)使用。在尤其優(yōu)選的實(shí)施例中,例如且優(yōu)選地具有上面討論的 形式的多個(gè)離散數(shù)據(jù)值或數(shù)據(jù)值集被存儲(chǔ)以用于要顯示的描邊曲線的給定形式。最優(yōu)選地,適當(dāng)?shù)摹胺秶?例如寬度)估計(jì)”數(shù)據(jù)(例如且優(yōu)選地是上面描述的預(yù) 定信息)是關(guān)于沿投影空間中的描邊曲線的相關(guān)“長度”方向的多個(gè)優(yōu)選等距點(diǎn)(以及因 此最優(yōu)選地針對沿投影空間中的軸方向(例如x軸)等距的多個(gè)點(diǎn))提供和存儲(chǔ)的。存儲(chǔ)針對多個(gè)點(diǎn)且優(yōu)選地針對多個(gè)等距點(diǎn)的“范圍(例如寬度)估計(jì)”數(shù)據(jù)具有 眾多優(yōu)點(diǎn)。例如,因?yàn)榇鎯?chǔ)針對沿相關(guān)長度方向的多個(gè)點(diǎn)的信息,所以該信息可以被存儲(chǔ)為 一維(1D)數(shù)據(jù)結(jié)構(gòu)(即為針對沿單個(gè)方向的多個(gè)點(diǎn)中的每個(gè)的數(shù)據(jù)集)。類似地,通過以此方式存儲(chǔ)預(yù)定“寬度估計(jì)”數(shù)據(jù),該數(shù)據(jù)可以使用單個(gè)參數(shù)即感 興趣的沿曲線的相關(guān)長度方向的位置的度量來檢索(“查找”)。因此,例如,如果存儲(chǔ)針對 沿投影空間中的例如x軸的多個(gè)點(diǎn)的預(yù)定“范圍(寬度)估計(jì)”數(shù)據(jù),則投影空間中的采樣 位置的相關(guān)X值可以用來在數(shù)據(jù)結(jié)構(gòu)中查找對該特定X值適當(dāng)?shù)姆秶?寬度)估計(jì)數(shù)據(jù)。因此,在尤其優(yōu)選的實(shí)施例中,預(yù)定范圍(“寬度”)估計(jì)數(shù)據(jù)是針對沿投影空間中 的給定(優(yōu)選為選擇的)方向(其將是“長度方向”)(該方向優(yōu)選地平行于投影空間中的 軸,例如x軸)等距的多個(gè)點(diǎn)中的每個(gè)存儲(chǔ)的。“范圍估計(jì),,數(shù)據(jù)被優(yōu)選地存儲(chǔ)成使得其可以通過參考其涉及的相關(guān)“長度”方向 位置來檢索(識別)。這可以例如通過將“范圍估計(jì)”數(shù)據(jù)的每個(gè)相應(yīng)集與其沿“長度”方 向的對應(yīng)位置(例如x值)相關(guān)聯(lián)和/或通過把數(shù)據(jù)存儲(chǔ)在對應(yīng)于相應(yīng)長度位置的陣列中 來實(shí)現(xiàn)。
這然后將允許例如當(dāng)期望確定給定的采樣點(diǎn)是否落在描邊曲線的投影形式內(nèi)時(shí) 使用沿投影空間中的采樣位置的相關(guān)長度方向的位置(例如其x坐標(biāo))來采樣(查找)數(shù) 據(jù)庫中適當(dāng)?shù)念A(yù)定范圍(“寬度”)估計(jì)數(shù)據(jù)。檢索的預(yù)定“范圍估計(jì)”信息然后可以例如 且優(yōu)選地以上面描述的方式用來確定在采樣位置沿投影空間中的“長度”方向的位置處描 邊曲線的投影形式在相關(guān)(寬度)方向上的范圍。針對多個(gè)點(diǎn)中的每個(gè)的預(yù)定范圍(例如“寬度”)估計(jì)數(shù)據(jù)可以以任何合適且期望 的方式被存儲(chǔ)。然而,在尤其優(yōu)選的實(shí)施例中,數(shù)據(jù)被存儲(chǔ)成一個(gè)或多個(gè)圖形紋理的形式, 且最優(yōu)選地成一個(gè)或多個(gè)1D(—維)圖形紋理。這是尤其有利且有益的,因?yàn)橐约y理的形 式存儲(chǔ)預(yù)定數(shù)據(jù)允許通常包含在圖形處理系統(tǒng)中的現(xiàn)有紋理映射過程被用來以本發(fā)明的 方式渲染描邊曲線。例如且優(yōu)選地,紋理中的每個(gè)紋理元素可以存儲(chǔ)給定長度位置的適當(dāng)范圍(例如 寬度)估計(jì)數(shù)據(jù),并且適當(dāng)?shù)拈L度位置然后用來查找適當(dāng)?shù)囊粋€(gè)或多個(gè)紋理元素(采樣紋 理)從而以正常的方式檢索適當(dāng)?shù)念A(yù)定范圍(寬度)估計(jì)信息。在這點(diǎn)上要明白,在優(yōu)選的實(shí)施例中,多個(gè)這樣的數(shù)據(jù)結(jié)構(gòu)(例如紋理)將被提供 并存儲(chǔ)以供圖形處理系統(tǒng)使用,每個(gè)與要渲染的給定描邊曲線有關(guān)(并相關(guān)聯(lián))。每個(gè)這樣 的數(shù)據(jù)結(jié)構(gòu)可以被單獨(dú)地存儲(chǔ)(例如作為個(gè)別紋理)或者多個(gè)這樣的數(shù)據(jù)結(jié)構(gòu)可以(以單 個(gè)總體結(jié)構(gòu))被一起存儲(chǔ),例如一個(gè)接一個(gè)地存儲(chǔ)在相同的紋理中。類似地,每個(gè)數(shù)據(jù)結(jié)構(gòu) (例如紋理)可以存儲(chǔ)單個(gè)曲線或多個(gè)曲線的數(shù)據(jù)。
關(guān)于要測試的給定采樣位置使用的適當(dāng)預(yù)定信息可以被視需要地識別和檢索。然而,在優(yōu)選的實(shí)施例中且如上面所討論的,所討論的采樣位置沿著描邊曲線的 投影形式的“長度”方向的相對位置用來檢索或采樣(查找)用于估計(jì)在該位置處描邊曲 線的投影形式在所定義(例如寬度)方向上的范圍的預(yù)定信息。因此,例如在描邊曲線的投影形式關(guān)于具有正交x和y軸的投影空間定義的情況 下,如在本發(fā)明的優(yōu)選實(shí)施例中,對于投影空間中的給定采樣位置Oq,yi),采樣位置的x位 置Xl優(yōu)選地用來查找用于估計(jì)在沿著描邊曲線的投影形式的長度與采樣位置的x位置Xl 對應(yīng)的位置處描邊曲線投影形式在寬度方向上的范圍的信息。如本領(lǐng)域的技術(shù)人與會(huì)明白的,在以圖形紋理的形式存儲(chǔ)預(yù)定信息的情況下,這 個(gè)“查找”可以僅通過以正常的方式采樣對應(yīng)采樣位置的紋理來實(shí)現(xiàn)。如將會(huì)明白的,由于沿為其存儲(chǔ)范圍(例如寬度)估計(jì)數(shù)據(jù)的曲線的長度的有限 數(shù)量點(diǎn),也許可能并且事實(shí)上往往可能的是不為所考慮的采樣點(diǎn)在投影空間中的精確位置 存儲(chǔ)范圍估計(jì)數(shù)據(jù)。因此,在一個(gè)實(shí)施例中,所使用的預(yù)定信息可以是與到被測試的采樣位置的位置 最近的點(diǎn)有關(guān)的存儲(chǔ)信息。然而,在優(yōu)選的實(shí)施例中,當(dāng)查找預(yù)定信息時(shí)使用內(nèi)插或?yàn)V波過程,以便在例如不 存在為所考慮的“長度”位置精確存儲(chǔ)的數(shù)據(jù)值集的情況下提供提高的準(zhǔn)確度。例如,在尤其優(yōu)選的實(shí)施例中,使用合適濾波或內(nèi)插過程諸如線性濾波來采樣存 儲(chǔ)的預(yù)定信息(例如紋理)。這將允許提高渲染的準(zhǔn)確度,同時(shí)仍然使用相同的存儲(chǔ)數(shù)據(jù)。 (事實(shí)上,正是使用圖形紋理來存儲(chǔ)預(yù)定信息的優(yōu)點(diǎn)以致標(biāo)準(zhǔn)的紋理采樣和濾波技術(shù)然后 可以以此方式用來檢索該信息。)
在其中數(shù)據(jù)被存儲(chǔ)為圖形紋理的情況下,標(biāo)準(zhǔn)紋理濾波技術(shù)諸如雙線性濾波可以 且優(yōu)選地被使用。(也可能通過提高沿為其存儲(chǔ)預(yù)定信息的曲線的長度方向的點(diǎn)數(shù)量來提高所存儲(chǔ) 數(shù)據(jù)的絕對分辨率。然而,這可能不總是期望的。在采樣預(yù)定信息時(shí)濾波或內(nèi)插過程的使 用因此提供一種提高渲染準(zhǔn)確度而無需提高所存儲(chǔ)數(shù)據(jù)的絕對分辨率的可選方式。)描邊曲線的投影形式在所定義(例如寬度)方向上的估計(jì)范圍可以以任何合適且 期望的方式用來確定“投影”空間中的采樣位置是否落在描邊曲線的投影形式內(nèi)。然而,在優(yōu)選的實(shí)施例中,描邊曲線的投影形式在所定義(例如寬度)方向上的估 計(jì)范圍如上面所討論的那樣被用來確定描邊曲線的投影形式覆蓋的在所定義(寬度)方向 上的位置范圍,并且然后將該位置范圍與所討論的采樣位置沿該方向的對應(yīng)位置進(jìn)行比較 以查看采樣位置是否落在該位置范圍內(nèi)(以及因此落在描邊曲線的投影形式內(nèi))。如上面 所討論的,描邊曲線所覆蓋的位置范圍優(yōu)選地通過確定曲線的邊界點(diǎn)的估計(jì)來估計(jì)。如上面所討論的,描邊曲線的投影形式所覆蓋的在相關(guān)定義(寬度)方向上的位 置范圍可以且優(yōu)選地通過使用曲線的投影形式在所定義(例如寬度)方向上的估計(jì)范圍、 以及在沿曲線的長度的該點(diǎn)處描邊曲線的投影形式的中心曲線在所定義(例如寬度)方向 上的位置來確定。因此,例如,在其中描邊曲線的投影形式關(guān)于x和y軸(以笛卡爾坐標(biāo))被定義的 優(yōu)選情況下,則對于投影空間中的采樣位置(Xl,yi),預(yù)定信息被優(yōu)選地用來估計(jì)在采樣位 置的x位置Xl處曲線的投影形式所覆蓋的y位置(值)的范圍,并且投影空間中的y位置 的估計(jì)范圍然后與投影空間中的采樣位置的y位置yi進(jìn)行比較以確定采樣位置的y位置 以及因此采樣位置作為整體是否落在描邊曲線的投影形式內(nèi)。如果投影空間中的采樣位置落在確定的位置范圍內(nèi),則采樣位置可以被認(rèn)為落在 描邊曲線的投影形式內(nèi)??蛇x地,如果采樣位置落在確定的范圍之外,則采樣位置可以被認(rèn) 為在描邊曲線的投影形式之外。一旦確定了投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi),該信息然后 因而可以用來渲染(著色)表面空間中的對應(yīng)采樣位置,即如果發(fā)現(xiàn)(投影空間中的)對應(yīng) 采樣位置落在描邊曲線的(估計(jì))投影形式內(nèi)則將其顯示為在描邊曲線內(nèi),反之亦然。例 如,然后基于該確定的結(jié)果,可以給表面空間中的每個(gè)采樣點(diǎn)分配諸如紅、綠和藍(lán)(RGB)色 值以及“alpha”(透明)值之類的數(shù)據(jù)。在尤其優(yōu)選的實(shí)施例中,該確定的結(jié)果事實(shí)上用來從關(guān)于描邊曲線的進(jìn)一步處理 中保留或丟棄對應(yīng)的表面空間采樣位置(視情況而定)。優(yōu)選地,如果該確定示出表面空間 采樣位置應(yīng)當(dāng)被認(rèn)為在描邊曲線內(nèi),則基元中的對應(yīng)位置因而被著色(例如色彩化),但是 如果其要被認(rèn)為在描邊曲線外,則基元中的對應(yīng)位置不被著色成具有所討論的描邊曲線所 需的屬性(例如且優(yōu)選地從關(guān)于描邊曲線的進(jìn)一步處理中被丟棄)。在其它實(shí)施例中,代替如果其被認(rèn)為在描邊曲線外則從進(jìn)一步處理中丟棄采樣 點(diǎn),所討論的采樣點(diǎn)可以被著色以便完全透明并因此實(shí)際上不可見。從上面將會(huì)明白,至少在本發(fā)明的優(yōu)選實(shí)施例中,與表面空間中的采樣點(diǎn)對應(yīng)的 投影空間中的采樣位置優(yōu)選地用來查找與要顯示的描邊曲線的投影形式有關(guān)的預(yù)定信息, 并且該信息然后用來估計(jì)在沿著描邊曲線的投影形式的長度的與投影空間中的采樣點(diǎn)的位置相關(guān)聯(lián)的點(diǎn)處描邊曲線的投影形式在所定義(例如寬度)方向上的范圍。優(yōu)選地通過 使用描邊曲線的投影形式的估計(jì)范圍來估計(jì)在所定義(例如寬度)方向上的、描邊曲線的 投影形式所覆蓋的位置范圍并且然后確定采樣點(diǎn)是否落在該位置范圍內(nèi),描邊曲線的投影 形式在所定義方向上的估計(jì)范圍然后優(yōu)選地用來確定投影空間中的采樣點(diǎn)是否在描邊曲 線的投影形式內(nèi)。因此,在尤其優(yōu)選的實(shí)施例中,本發(fā)明包括用于如下的步驟或裝置使用投影空間中的相關(guān)采樣點(diǎn)沿投影空間中的一個(gè)軸的位置來查找預(yù)定信息以 用來估計(jì)在沿著投影空間中的第一軸的該位置處描邊曲線沿投影空間中的第二軸的范圍; 以及將在沿著投影空間中的第一軸的該位置處描邊曲線的投影形式沿投影空間中的 第二軸的估計(jì)范圍與投影空間中的采樣位置沿投影空間中的第二軸的位置進(jìn)行比較以確 定投影空間中的采樣位置否落在投影空間中的描邊曲線的投影形式內(nèi)。例如在使用笛卡爾坐標(biāo)系統(tǒng)(即x和y軸)的這種布置中,則對于具有位置(Xl, yi)的要測試的給定采樣位置,采樣位置的x坐標(biāo)Xl將用來查找信息以允許估計(jì)在x位置Xl 處描邊曲線的投影形式在y方向上的范圍,并且在x位置Xl處描邊曲線的投影形式的估計(jì) "y范圍”(其優(yōu)選地如上面所討論的那樣就曲線應(yīng)當(dāng)被認(rèn)為覆蓋的y值范圍而言被確定) 與被測試的采樣位置的y位置yi進(jìn)行比較以查看采樣位置是否位于描邊曲線的投影形式 內(nèi)。如本領(lǐng)域的技術(shù)人員會(huì)明白的,這個(gè)測試步驟(即查找和使用預(yù)定信息來確定采 樣點(diǎn)是否落在描邊曲線的投影形式內(nèi))應(yīng)當(dāng)針對要測試的表面空間中的每個(gè)采樣點(diǎn)進(jìn)行 重復(fù)。因此其在實(shí)際中典型地針對多個(gè)采樣點(diǎn)被執(zhí)行以便渲染描邊曲線進(jìn)行顯示。盡管主要參考渲染給定的單個(gè)描邊曲線進(jìn)行顯示來描述了本發(fā)明,但是如本領(lǐng)域 的技術(shù)人員會(huì)明白的且如上面所討論的,本發(fā)明可應(yīng)用于多種不同形式的描邊曲線并且在 優(yōu)選的實(shí)施例中可以用來渲染多個(gè)不同描邊曲線的每個(gè)。因此,在尤其優(yōu)選的實(shí)施例中,多個(gè)不同的預(yù)定信息(例如紋理)集被提供并存儲(chǔ) 以供圖形處理系統(tǒng)使用,每個(gè)表示要渲染的不同描邊曲線。然后對于要繪制的任何給定曲 線,對該曲線最適當(dāng)?shù)念A(yù)定信息(紋理)可以被識別和選擇并且用來渲染該曲線。因而,通 過以本發(fā)明的方式表示曲線的合適范圍,則應(yīng)當(dāng)可以渲染各種描邊曲線,諸如且優(yōu)選地是 渲染給定字體進(jìn)行顯示所必需的描邊曲線。表示描邊曲線的預(yù)定信息(紋理)集優(yōu)選地被預(yù)先生成,并且然后被合適地存儲(chǔ) 以供圖形處理系統(tǒng)使用,例如且優(yōu)選地連同圖形處理系統(tǒng)可以使用的其它紋理圖一起供圖 形處理系統(tǒng)使用。給定的預(yù)定信息(紋理)集然后可以被選擇并且在要渲染所討論的描邊 曲線的適當(dāng)時(shí)候使用。用于要渲染進(jìn)行顯示的給定描邊曲線的適當(dāng)預(yù)定信息(紋理)集可以被視需要地 識別和選擇。例如,要求繪制描邊曲線的應(yīng)用可以向圖形處理系統(tǒng)指示要使用哪個(gè)(哪些) 預(yù)定信息(例如一個(gè)或多個(gè)紋理)集。從上面將會(huì)明白,本發(fā)明實(shí)際上不是對照描邊曲線本身的投影形式測試投影空間 中的采樣點(diǎn),而是使用與描邊曲線的投影形式有關(guān)或從其導(dǎo)出的預(yù)定信息來測試采樣位 置。此外,這個(gè)預(yù)定信息 際上通過使用用戶空間中定義的描邊曲線(或至少該曲線的中心路徑)的定義投影形式來導(dǎo)出。因此,根據(jù)本發(fā)明的第八方面,提供一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯 示的方法,該方法包括接收要顯示的定義在用戶空間中的輸入描邊曲線;使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示;以及對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣位置;使用投影空間中的采樣位置的位置來采樣預(yù)定信息集,該預(yù)定信息包含從描邊曲 線的定義投影中導(dǎo)出的信息;使用采樣的預(yù)定信息來確定投影空間中的采樣位置是否落在描邊曲線的投影形 式內(nèi);以及依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分配用 于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)。因此,根據(jù)本發(fā)明的第九方面,提供一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯 示的設(shè)備,該設(shè)備包括用于接收要顯示的定義在用戶空間中的輸入描邊曲線的裝置;用于使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示的裝置; 以及用于對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè),確定投影空間中的對應(yīng)采樣 位置的裝置;用于使用投影空間中的采樣位置的位置來采樣預(yù)定信息集的裝置,該預(yù)定信息包 含從描邊曲線的定義投影中導(dǎo)出的信息;用于使用采樣的預(yù)定信息來確定投影空間中的采樣位置是否落在描邊曲線的投 影形式內(nèi)的裝置;以及用于依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分 配用于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)的裝置。如本領(lǐng)域的技術(shù)人員會(huì)明白的,本發(fā)明的這些方面和實(shí)施例可以且優(yōu)選地確實(shí)包 括本文描述的本發(fā)明的優(yōu)選且任選的特征中的任一個(gè)(視情況而定)。因此,例如預(yù)定信息 集被優(yōu)選地存儲(chǔ)成圖形紋理的形式,優(yōu)選地為1D紋理。如上面所討論的,在本發(fā)明中尤其優(yōu)選的是把預(yù)定“范圍(例如寬度)估計(jì)”信息 存儲(chǔ)成一個(gè)或多個(gè)圖形紋理的形式,因?yàn)檫@是尤其有利且有益的。事實(shí)上,認(rèn)為這種形式的圖形紋理(即包含在由圖形處理系統(tǒng)渲染描邊曲線中使 用的寬度估計(jì)數(shù)據(jù)的圖形紋理)的使用可能本身是新的且有利的。此外,這樣的紋理可以 如上面所討論的那樣被預(yù)先生成,并因此例如本身被提供為商品以與圖形處理系統(tǒng)一起使 用,例如為紋理集以被加載以供圖形處理系統(tǒng)使用。本發(fā)明因而也擴(kuò)展到這種紋理的構(gòu)造以及這種紋理它們本身。因此,根據(jù)本發(fā)明的第十方面,提供一種在渲染描邊曲線進(jìn)行顯示時(shí)用于圖形處 理系統(tǒng)中的圖形紋理,其中該紋理的每個(gè)紋理元素將其與用于確定在曲線上的一點(diǎn)處被定 義在所定義空間中的描邊曲線在所定義方向上的范圍的估計(jì)的信息相關(guān)聯(lián)。
因此,根據(jù)本發(fā)明的第十一方面,提供一種在渲染描邊曲線進(jìn)行顯示時(shí)構(gòu)造用于 圖形處理系統(tǒng)中的圖形紋理的方法,該方法包括在用戶空間中定義描邊曲線;確定用于變換描邊曲線以致該描邊曲線具有所定義變換形式的變換;確定用于確定在沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的每個(gè)處描邊曲線 的變換形式在一個(gè)或多個(gè)所定義方向上的范圍的估計(jì)的信息;以及生成并存儲(chǔ)一個(gè)或多個(gè)圖形紋理,每個(gè)圖形紋理包括紋理元素陣列,其中一個(gè)或 多個(gè)紋理的每個(gè)紋理元素與沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的至少一個(gè)相關(guān) 聯(lián)并且包含該至少一個(gè)點(diǎn)的一些或所有確定的信息。因此,根據(jù)本發(fā)明的第十二方面,提供一種在渲染描邊曲線進(jìn)行顯示時(shí)構(gòu)造用于 圖形處理系統(tǒng)中的圖形紋理的設(shè)備,該設(shè)備包括用于在用戶空間中定義描邊曲線的裝置;用于確定用于變換描邊曲線以致該描邊曲線具有所定義變換形式的變換的裝 置;用于確定用于確定在沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的每個(gè)處描邊 曲線的變換形式在一個(gè)或多個(gè)所定義方向上的范圍的估計(jì)的信息的裝置;以及用于生成并存儲(chǔ)一個(gè)或多個(gè)圖形紋理的裝置,每個(gè)圖形紋理包括紋理元素陣列, 其中一個(gè)或多個(gè)紋理的每個(gè)紋理元素與沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的至 少一個(gè)相關(guān)聯(lián)并且包含該至少一個(gè)點(diǎn)的一些或所有確定的信息。如本領(lǐng)域的技術(shù)人員會(huì)明白的,本發(fā)明的這些方面和實(shí)施例可以且優(yōu)選地確實(shí)包 括本文描述的本發(fā)明的優(yōu)選且任選的特征中的任一個(gè)(視情況而定)。因此,例如,描邊曲 線的變換形式優(yōu)選地如上面所討論的并且該變換優(yōu)選地在均勻空間中被執(zhí)行。類似地,該 過程優(yōu)選地涉及把描邊曲線放置在均勻空間中;對均勻空間中的曲線應(yīng)用變換;以及借 助于透視除法,把變換曲線投影到投影空間中,并且然后確定用于確定在沿著描邊曲線的 投影和/或變換形式的長度的多個(gè)點(diǎn)中的每個(gè)處描邊曲線的投影和/或變換形式(均勻投 影空間形式)在一個(gè)或多個(gè)所定義方向上的范圍的估計(jì)的信息。類似地,圖形紋理優(yōu)選地包括1D紋理,并且為每個(gè)紋理元素存儲(chǔ)的信息優(yōu)選地包 括優(yōu)選地具有本文討論的(一個(gè)或多個(gè))形式的多個(gè)(最優(yōu)選地四個(gè))數(shù)據(jù)值,最優(yōu)選地 其可以連同其它信息(例如用戶空間中描邊曲線的描邊寬度)一起用來估計(jì)在紋理元素所 涉及的點(diǎn)處投影空間中的描邊曲線在所定義(例如“寬度”)方向上的范圍。用于把描邊曲 線變換到其變換形式的所確定的變換優(yōu)選地也被存儲(chǔ)(并與其所涉及的曲線相關(guān)聯(lián))。針對沿曲線的長度的給定點(diǎn)的預(yù)定信息可以被存儲(chǔ)在圖形紋理的單個(gè)紋理元素 中。例如,在四通道圖形紋理(存儲(chǔ)RGBA)中,每個(gè)紋理元素可以用來存儲(chǔ)上面討論的四個(gè) 值??蛇x地,針對投影空間中的點(diǎn)的預(yù)定信息(例如四個(gè)值)可以被存儲(chǔ)在單個(gè)圖形 紋理的或多個(gè)圖形紋理的多個(gè)紋理元素中。例如,對于單通道(灰度)圖形紋理,圖形紋理 的四個(gè)個(gè)別紋理元素可以用來存儲(chǔ)上面討論的四個(gè)值(預(yù)定信息項(xiàng))。盡管如上面所討論的,單個(gè)圖形紋理可以用來存儲(chǔ)用于渲染任何數(shù)量的描邊曲線 的預(yù)定寬度估計(jì)數(shù)據(jù),但是在尤其優(yōu)選的實(shí)施例中,單個(gè)圖形紋理用來存儲(chǔ)僅針對單個(gè)描
29邊曲線的寬度估計(jì)數(shù)據(jù)。換言之,每個(gè)圖形紋理優(yōu)選地包含為僅渲染特定描邊曲線所需的 fn息o例如,本發(fā)明的圖形處理系統(tǒng)優(yōu)選地使用(能夠訪問)多個(gè)圖形紋理,其中每個(gè)紋 理包含用于渲染特定描邊曲線(例如形成特定字體的字母、數(shù)字、符號等等或其部分的描 邊曲線)的信息。以此方式構(gòu)造圖形紋理尤其是有益的,因?yàn)槠湓试S在適當(dāng)?shù)臅r(shí)候例如當(dāng)通過給系 統(tǒng)已經(jīng)可獲得使用的多個(gè)紋理添加相關(guān)圖形紋理(用于渲染新字體)來創(chuàng)建新字體時(shí)更新 圖形處理系統(tǒng)。如將會(huì)明白的,圖形處理系統(tǒng)要使用的多個(gè)數(shù)據(jù)結(jié)構(gòu)例如圖形紋理可以被視需要 地構(gòu)造并提供給圖形處理系統(tǒng)。例如,在一個(gè)優(yōu)選的實(shí)施例中,例如圖形紋理中的一些或全部可以且優(yōu)選的由圖 形處理系統(tǒng)本身構(gòu)造并然后存儲(chǔ)在系統(tǒng)的或系統(tǒng)可訪問的合適數(shù)據(jù)庫(例如存儲(chǔ)器)中。在這種情況下,要求渲染描邊曲線的應(yīng)用可以例如初始定義要渲染的描邊路徑, 其可以包括一個(gè)或多個(gè)線段。優(yōu)選地,描邊路徑由用戶空間中的一個(gè)或多個(gè)控制點(diǎn)的位置、 關(guān)于在控制點(diǎn)之間繪制(由控制點(diǎn)定義)的曲線(線)的類型的信息、以及指示用戶空間 中的描邊寬度的信息來定義。定義要渲染的描邊路徑的這個(gè)信息然后優(yōu)選地由應(yīng)用傳送到 圖形處理系統(tǒng),該圖形處理系統(tǒng)將渲染描邊曲線。優(yōu)選地,圖形處理系統(tǒng)然后將基于從應(yīng)用中接收的信息來確定初始由應(yīng)用定義的 描邊路徑是否需要例如被細(xì)分為形成描邊路徑的單獨(dú)線段和/或因?yàn)橐秩镜奶囟柽?曲線不能以其當(dāng)前的形式被渲染,并且如果需要的話,必要時(shí)基于這一確定的結(jié)果把初始 定義的描邊曲線細(xì)分為多個(gè)個(gè)別描邊曲線進(jìn)行渲染。所接收的描邊曲線或者在細(xì)分后生成的每個(gè)個(gè)別描邊曲線優(yōu)選地然后被圖形處 理系統(tǒng)分配(提供)標(biāo)識符,例如具體的標(biāo)識(ID)號。優(yōu)選地也被傳送到應(yīng)用的這個(gè)標(biāo)識 符將被圖形處理(實(shí)施方式)和應(yīng)用用來(例如在將來)識別曲線。圖形處理系統(tǒng)然后依據(jù)本發(fā)明優(yōu)選地確定為渲染一個(gè)或多個(gè)曲線所需的信息,并 且把這個(gè)信息與所討論的每個(gè)相應(yīng)曲線的標(biāo)識符例如ID號相關(guān)聯(lián)。例如,系統(tǒng)優(yōu)選地為要 渲染的每個(gè)曲線確定用戶到投影變換和預(yù)定信息(例如一個(gè)或多個(gè)特殊構(gòu)造的圖形紋理 的形式)。這個(gè)信息然后可以被存儲(chǔ)并與所討論的曲線相關(guān)聯(lián)以然后(和在將來)用來以 本發(fā)明的方式渲染曲線。還考慮多個(gè)數(shù)據(jù)結(jié)構(gòu)(例如圖形紋理)和用戶到投影變換可以在圖形處理系統(tǒng)之 外被確定并且被提供給圖形處理系統(tǒng)進(jìn)行使用。這可以例如在任何合適的處理器或計(jì)算機(jī) 系統(tǒng)(諸如主機(jī)系統(tǒng))上完成。所生成的數(shù)據(jù)結(jié)構(gòu)等等然后例如可以例如被存儲(chǔ)在便攜式 計(jì)算機(jī)可讀介質(zhì)諸如閃存卡、CD-ROM、ROM等上,并且便攜式計(jì)算機(jī)可讀介質(zhì)上的信息然后 轉(zhuǎn)移到圖形處理系統(tǒng)(或可由其訪問)的合適數(shù)據(jù)庫(例如存儲(chǔ)器)進(jìn)行使用。如果需要 的話,這樣的數(shù)據(jù)轉(zhuǎn)移也可以或作為代替例如經(jīng)由因特網(wǎng)、無線地、等等完成。這可能尤其適合于(例如)用于渲染字體的紋理,因?yàn)樵谶@種情況下曲線(以及 因此紋理)可以全部被預(yù)定義。要明白,在這些布置中,在渲染描邊曲線之前,圖形處理系統(tǒng)將針對該信息可用于 的每個(gè)描邊曲線訪問包含在渲染描邊曲線時(shí)使用的預(yù)定“范圍估計(jì)”信息的存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)(其優(yōu)選地以圖形紋理的形式)、以及在渲染描邊曲線時(shí)使用(用于把采樣點(diǎn)映射到描邊曲 線的投影形式被定義在的投影空間)的預(yù)定義的用戶到投影變換兩者。(如上面所討論的, 用戶到投影變換和/預(yù)定信息可以由系統(tǒng)本身確定(計(jì)算),或者可選地可以從例如計(jì)算機(jī) 可讀介質(zhì)中獲得。)這個(gè)信息將優(yōu)選地與一個(gè)或多個(gè)適當(dāng)?shù)臉?biāo)識符相關(guān)聯(lián)地被存儲(chǔ)以允許基于描邊 曲線的給定標(biāo)識符檢索它。為了然后渲染描邊曲線進(jìn)行顯示,要求曲線的應(yīng)用優(yōu)選地指定要渲染的一個(gè)或多 個(gè)曲線的用戶到表面變換、用戶空間描邊寬度以及一個(gè)或多個(gè)標(biāo)識符(例如(一個(gè)或多個(gè)) ID號),并且把信息傳送到圖形處理系統(tǒng)。這些信息片可以同時(shí)或可選地且如本領(lǐng)域的技 術(shù)人會(huì)明白的那樣在不同的時(shí)間被傳送到系統(tǒng)。圖形處理系統(tǒng)然后可以使用一個(gè)或多個(gè)所接收的曲線標(biāo)識符來查找(檢索)與所 討論的一個(gè)或多個(gè)曲線相關(guān)聯(lián)的存儲(chǔ)預(yù)定渲染信息,例如用戶到投影變換和一個(gè)或多個(gè)特 殊構(gòu)造的紋理,并且然后可以例如且優(yōu)選地以上面描述的方式使用該信息來選擇一個(gè)或多 個(gè)描邊曲線進(jìn)行顯示。因此,根據(jù)本發(fā)明的其它方面,提供一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯 示的方法,其中針對描邊曲線的一個(gè)或多個(gè)預(yù)定義形式中的每個(gè)且以對圖形處理系統(tǒng)可訪 問的方式、與預(yù)定信息和預(yù)定義用戶到投影變換所涉及的曲線的標(biāo)識符相關(guān)聯(lián)地存儲(chǔ)預(yù)定 信息和描邊曲線的預(yù)定義用戶到投影變換,所述預(yù)定信息用于估計(jì)在沿著描邊曲線的投影 形式的長度的多個(gè)點(diǎn)中的每個(gè)處投影空間中的描邊曲線的投影形式在所定義方向上的范 圍,該方法包括應(yīng)用要求與要渲染的描邊曲線的預(yù)定義形式之一對應(yīng)的描邊曲線,向圖形處理系 統(tǒng)提供識別要渲染的描邊曲線的標(biāo)識符、用于把要渲染的描邊曲線變換到表面空間進(jìn)行顯 示的所定義用戶到表面變換、以及描邊曲線的期望用戶空間描邊寬度;以及圖形處理系統(tǒng)使用要渲染的描邊曲線的所提供標(biāo)識符來檢索用于該曲線的所存 儲(chǔ)的預(yù)定范圍估計(jì)信息和用戶到投影變換,并且然后使用該信息以及指定的用戶到表面變 換和用戶空間描邊寬度來渲染描邊曲線進(jìn)行顯示。根據(jù)本發(fā)明的其它方面,提供一種用于渲染描邊曲線的圖形處理系統(tǒng),在該系統(tǒng) 中針對描邊曲線的一個(gè)或多個(gè)預(yù)定義形式中的每個(gè)且以對圖形處理系統(tǒng)可訪問的方式、與 預(yù)定信息和預(yù)定義用戶到投影變換所涉及的曲線的標(biāo)識符相關(guān)聯(lián)地存儲(chǔ)預(yù)定信息和描邊 曲線的預(yù)定義用戶到投影變換,所述預(yù)定信息用于估計(jì)在沿著描邊曲線的投影形式的長度 的多個(gè)位置中的每個(gè)處投影空間中的描邊曲線的投影形式在所定義方向上的范圍,該系統(tǒng) 包括用于從要求與要渲染的描邊曲線的預(yù)定義形式之一對應(yīng)的描邊曲線的應(yīng)用中接 收識別要渲染的描邊曲線的標(biāo)識符、用于把要渲染的描邊曲線變換到表面空間進(jìn)行顯示的 所定義用戶到表面變換、以及描邊曲線的期望用戶空間描邊寬度的裝置;以及用于使用要渲染的描邊曲線的所提供標(biāo)識符來檢索用于該曲線的所存儲(chǔ)的預(yù)定 范圍估計(jì)信息和用戶到投影變換,并且然后使用該信息以及指定的用戶到表面變換和用戶 空間描邊寬度來渲染描邊曲線進(jìn)行顯示的裝置。如本領(lǐng)域的技術(shù)人員會(huì)明白的,本發(fā)明的這些方面和實(shí)施例可以且優(yōu)選地確實(shí)包括本文描述的本發(fā)明的優(yōu)選且任選的特征中的任一個(gè)或多個(gè)或全部(視情況而定)。因此, 例如,預(yù)定信息等等優(yōu)選地用來以本文描述的一個(gè)或多個(gè)方式渲染描邊曲線進(jìn)行顯示。本發(fā)明可以用來渲染描邊曲線的任何期望形式。如上面所討論的,認(rèn)為本發(fā)明將 尤其盡管不是專門適合于要用來構(gòu)造字體的(例如形成字體的所有或部分字符諸如字母 的)描邊曲線的渲染。因此,在尤其優(yōu)選的實(shí)施例中,在本發(fā)明中要顯示的描邊曲線是涉及 字體的字符的描邊曲線。類似地,在優(yōu)選的實(shí)施例中,存儲(chǔ)和使用多個(gè)預(yù)定義信息(例如紋 理)集等等,每個(gè)涉及與字體的字符有關(guān)的描邊曲線。如本領(lǐng)域的技術(shù)人員將會(huì)明白的,對如上面和這里描述的本發(fā)明的各種修改、變 型和添加將是可能的。例如,在優(yōu)選的實(shí)施例中,在透視除法中用來把均勻投影空間中的變換描邊曲線 投影成投影形式的這些值,例如典型地是3D均勻空間的第三坐標(biāo)值,優(yōu)選地被交叉相乘, 因?yàn)檫@將有助于優(yōu)化估計(jì)過程。如果這樣做,則可優(yōu)選的是確保所有這些值(即透視除法 中使用的值)嚴(yán)格為正。這可以例如通過檢查用于渲染曲線的基元(例如劃界多邊形)在 均勻空間中如上面所討論的那樣被合適地變換后所有都具有正的第三坐標(biāo)值(或者不管 在透視除法中使用什么值)來實(shí)現(xiàn)。在那些值被線形內(nèi)插在頂點(diǎn)之間的情況下,則優(yōu)選地 直接僅檢查劃界多邊形的頂點(diǎn)的值(因?yàn)槿绻切┲凳钦模瑒t這應(yīng)當(dāng)確?;獌?nèi)的所有 值也是正的)。例如也可以使用“兩遍(two pass) ”方法來實(shí)施本發(fā)明的測試步驟,其中基于指定 的曲線標(biāo)度(curve scale)和線寬來導(dǎo)出曲線在所定義(例如寬度)方向上的范圍的中間 查找表。例如,在“一遍”方法中,為了確定表面空間中的采樣點(diǎn)是否落在描邊曲線內(nèi),紋理 中的相關(guān)預(yù)定數(shù)據(jù)優(yōu)選地與用戶空間描邊寬度組合來確定在沿其長度的相關(guān)位置處由描 邊曲線的投影形式所覆蓋的在例如寬度方向上的位置范圍(確定沿寬度方向的第一(最 大)和第二(最小)位置)。采樣點(diǎn)沿寬度方向的位置然后優(yōu)選地與確定的第一(最大) 和第二(最小)位置進(jìn)行比較,并且該結(jié)果用來確定采樣點(diǎn)是否在描邊曲線內(nèi)。在“兩遍”方法中,針對其信息被存儲(chǔ)的沿“長度”方向的每個(gè)位置,(例如)在一 個(gè)或多個(gè)圖形紋理中存儲(chǔ)的預(yù)定信息可以連同用戶空間描邊寬度一起用來在第一“遍”中 確定在沿其長度的每個(gè)位置處描邊曲線的投影形式所覆蓋的在寬度方向上的位置范圍并 且將其存儲(chǔ)在紋理中(例如確定沿寬度方向的第一(最大)和第二(最小)位置)。在第一遍中構(gòu)造的為沿“長度”方向的每個(gè)位置存儲(chǔ)確定的第一(最大)和第二 (最小)位置(例如兩個(gè)標(biāo)量值)的這個(gè)紋理然后可以用于第二“遍”中來(通過采樣所構(gòu) 造的紋理以獲得沿采樣點(diǎn)的寬度方向的第一(最大)和第二(最小)值,并且將所獲得的 范圍與采樣點(diǎn)沿寬度方向的位置進(jìn)行比較)確定采樣點(diǎn)是否在描邊曲線內(nèi)。以此方式使用“兩步”方法執(zhí)行本發(fā)明可能在某些情況下是有益的,因?yàn)槠鋵⒁恍?處理從每片段操作(2D域)移到每x操作(1D域),盡管潛在地以域的建立開銷和潛在不均 勻采樣為代價(jià)。本發(fā)明的方法和系統(tǒng)可以以任何合適且期望的方式被實(shí)現(xiàn)和實(shí)施在圖形處理系 統(tǒng)上或中。例如,圖形處理系統(tǒng)可以包括已適合被編程為執(zhí)行本發(fā)明的步驟的可編程片段 著色器硬件。可選地,圖形處理系統(tǒng)可以包括合適的固定功能硬件。
例如,在圖形處理系統(tǒng)具有可編程片段著色器硬件的情況下,用于確定在落入表 面空間中的描邊曲線內(nèi)時(shí)是否保留或丟棄表面空間采樣點(diǎn)的“比較和丟棄”過程可以例如 使用比較和條件丟棄例程來實(shí)施。在本發(fā)明例如以使得禁用標(biāo)準(zhǔn)的多重采樣反混淆(antialiasing)的方式被實(shí)施 在片段著色器中的情況下,則如果需要的話,這可以例如通過確定接近曲線邊界的片段的 覆蓋值來補(bǔ)償。利用具有固定功能硬件的圖形處理系統(tǒng),這個(gè)操作可以通過例如把采樣點(diǎn)傳送經(jīng) 過圖形處理流水線一次或多次以便實(shí)施關(guān)于期望序列中的每個(gè)采樣點(diǎn)的必要操作來實(shí)施。在尤其優(yōu)選的實(shí)施例中,本發(fā)明的各種功能被實(shí)施在單個(gè)圖形處理平臺上,所述 單個(gè)圖形處理平臺生成并輸出被寫到顯示設(shè)備的幀緩沖器的數(shù)據(jù)。本發(fā)明可應(yīng)用于任何形式或配置的渲染器(renderer),例如具有“流水線”布置的 渲染器(在這種情況下,該渲染器將以渲染流水線的形式)。在優(yōu)選的實(shí)施例中,該渲染器 被應(yīng)用于硬件圖形渲染流水線。本發(fā)明的各種功能和元件等可以根據(jù)需要來實(shí)施,例如并 且優(yōu)選地通過使用適當(dāng)?shù)墓δ軉卧?、處理邏輯、電路、處理器和微處理器布置等來?shí)施。如上面所討論的,本發(fā)明可應(yīng)用于所有形式的渲染,例如基于光柵化的渲染或 射線跟蹤、快速方式渲染(immediate mode rendering)、延遲模式渲染(deferred mode rendering)、基于碎片的喧染(tile-based rendering)等等。如從上面將會(huì)明白的,本發(fā)明尤其但不專門可應(yīng)用于3D圖形處理器和處理設(shè)備, 并且因而擴(kuò)展到包括依據(jù)本文所描述的發(fā)明的任一或多個(gè)方面的設(shè)備或者依據(jù)本文所描 述的本發(fā)明的任一或多個(gè)方面操作的設(shè)備在內(nèi)的3D圖形處理器和3D圖形處理平臺。以實(shí) 施上面討論的特定功能所需要的任何硬件為條件,這樣的3D圖形處理器可以另外包括3D 圖形處理器所包括的任何一個(gè)或多個(gè)或全部的常用功能單元等。本發(fā)明類似地?cái)U(kuò)展到2D圖形處理器并且擴(kuò)展到2D圖形處理。本領(lǐng)域的技術(shù)人員也會(huì)明白,本發(fā)明的所有描述的方面和實(shí)施例可以并且優(yōu)選地 確實(shí)包括本文所描述的優(yōu)選和任選的特征的任一個(gè)或多個(gè)或全部(視情況而定)。依據(jù)本發(fā)明的方法可以至少部分地使用軟件例如計(jì)算機(jī)程序來實(shí)施。因此將會(huì)看 到當(dāng)從其它方面來看時(shí),本發(fā)明提供尤其適于在被安裝在數(shù)據(jù)處理裝置上時(shí)實(shí)施本文所 描述的方法的計(jì)算機(jī)軟件、包括用于在該程序單元在數(shù)據(jù)處理裝置上運(yùn)行時(shí)執(zhí)行本文所描 述的方法的計(jì)算機(jī)軟件代碼部分的計(jì)算機(jī)程序單元、以及包括代碼構(gòu)件的計(jì)算機(jī)程序,所 述代碼方法構(gòu)件在該程序運(yùn)行在數(shù)據(jù)處理系統(tǒng)上時(shí)適于執(zhí)行本文所描述的一種或多種方 法的所有步驟。數(shù)據(jù)處理器可以是微處理器系統(tǒng)、可編程FPGA(現(xiàn)場可編程門陣列)等等。本發(fā)明也擴(kuò)展到計(jì)算機(jī)軟件載體,所述計(jì)算機(jī)軟件載體包括這樣的軟件所述軟 件在被用于操作包括數(shù)據(jù)處理裝置的圖形處理器、渲染器或者微處理器系統(tǒng)時(shí),結(jié)合所述 數(shù)據(jù)處理裝置使所述處理器、渲染器或者系統(tǒng)實(shí)施本發(fā)明的方法的步驟。這樣的計(jì)算機(jī)軟 件載體可以是物理存儲(chǔ)介質(zhì),例如ROM芯片、CD ROM或者磁盤,或者可以是信號,例如導(dǎo)線 上的電信號、光信號或者諸如到衛(wèi)星等的無線電信號。此外還要明白,不是本發(fā)明的方法的所有步驟都需要由計(jì)算軟件來實(shí)施,并且因 此根據(jù)另一寬泛的方面,本發(fā)明提供計(jì)算機(jī)軟件,并且這樣的軟件被安裝在計(jì)算機(jī)軟件載 體上以實(shí)施本文所提出的方法的步驟中的至少之一。
33
本發(fā)明因而可以被合適地實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品以與計(jì)算機(jī)系統(tǒng)一起使用。這樣 的實(shí)施方式可以包括一系列計(jì)算機(jī)可讀指令,所述指令要么固定在有形介質(zhì)例如計(jì)算機(jī)可 讀介質(zhì)(例如磁盤、CD-ROM、ROM或者硬盤)上,要么可以經(jīng)由調(diào)制解調(diào)器或者其它接口設(shè) 備通過包括但不限于光學(xué)或者模擬通信線的有形介質(zhì)或者無形地使用包括但不限于微波、 紅外或其它傳輸技術(shù)的無線技術(shù)而可傳輸?shù)接?jì)算機(jī)系統(tǒng)。該系列的計(jì)算機(jī)可讀指令實(shí)現(xiàn)在 本文中前面所描述的全部或者部分功能。本領(lǐng)域的技術(shù)人員會(huì)明白,這樣的計(jì)算機(jī)可讀指令可以以多種編程語言來編寫以 與許多計(jì)算機(jī)體系結(jié)構(gòu)或者操作系統(tǒng)一起使用。此外,這樣的指令可以使用任何當(dāng)前的或 者未來的、包括但不限于半導(dǎo)體、磁的、或者光學(xué)的存儲(chǔ)技術(shù)來存儲(chǔ),或者使用任何當(dāng)前的 或者未來的、包括但不限于光學(xué)的、紅外的或者微波的通信技術(shù)來傳輸。所考慮的是這 樣的計(jì)算機(jī)程序產(chǎn)品可以作為具有附帶印刷或者電子文獻(xiàn)的可移動(dòng)介質(zhì)(例如現(xiàn)成套裝 (shrink-wrapped)軟件)來發(fā)布,例如與計(jì)算機(jī)系統(tǒng)一起預(yù)裝在系統(tǒng)ROM或者固定磁盤上, 或者從服務(wù)器或者電子公告牌通過網(wǎng)絡(luò)(例如因特網(wǎng)或者萬維網(wǎng))來發(fā)布。
現(xiàn)在將參照附圖且僅以示例的方式來描述本發(fā)明的眾多優(yōu)選的實(shí)施例,在附圖 中
圖1示意性地示出將那個(gè)描邊曲線從其在用戶空間中的定義渲染到顯示器上的 曲線輸出的過程;圖2示出用戶空間中的描邊曲線到投影空間中的期望形式的變換;圖3示出示出用戶空間中的描邊曲線到均勻用戶空間中的放置;圖4示出示出圖3的均勻用戶空間中的描邊曲線到均勻投影空間中期望形式的變 換,即通過由如下面討論的矩陣R進(jìn)行變換;圖5示出根據(jù)本發(fā)明第一實(shí)施例的圖4的變換描邊曲線經(jīng)由透視除法從均勻投影 空間到投影空間中的投影;圖6示出根據(jù)本發(fā)明第二實(shí)施例的圖4的變換描邊曲線經(jīng)由透視除法從均勻投影 空間到投影空間中的投影;以及圖7示出投影空間中的所接收描邊曲線的投影形式以及包含用于渲染描邊曲線 的數(shù)據(jù)的相關(guān)紋理的一部分。除非另外指出,在各圖中相同的參考數(shù)字用于相同的部件。
具體實(shí)施例方式圖1示意性地示出其中一個(gè)或多個(gè)預(yù)定義描邊曲線被渲染用于顯示的本發(fā)明實(shí) 施例的原理過程。使用本發(fā)明技術(shù)進(jìn)行渲染的預(yù)定義描邊曲線可以例如是字體集中的字符 (例如字母、數(shù)字、符號等等)的部分或者衛(wèi)星導(dǎo)航(satnav)系統(tǒng)中的地圖上的標(biāo)記(例如 箭頭)的部分。在本實(shí)施例即圖1所示的實(shí)施例中,示出要被渲染的預(yù)定義描邊路徑,其中描邊 路徑由共同形成字母“e”的六個(gè)個(gè)別線段la-lf形成。
現(xiàn)在將針對標(biāo)為la的線段來描述本發(fā)明實(shí)施例的渲染技術(shù),然而要明白字母的 每個(gè)其它線段例如lb-lf將同樣使用這樣的技術(shù)或可選地任何其它所需的渲染技術(shù)進(jìn)行渲染。在本實(shí)施例中,線段la是二次貝塞爾曲線2,其初始在2D用戶空間4中由如下來 定義該曲線的起始控制點(diǎn)和終止控制點(diǎn)c0和c2的位置;中間控制點(diǎn)cl的位置;以及描 邊寬度w。然而,不過要理解本發(fā)明的技術(shù)可以用來渲染其它類型的描邊曲線,例如橢圓弧、 三次曲線和B樣條(例如非均勻有理B樣條(NURBS))。為了渲染描邊曲線進(jìn)行顯示,描邊曲線或典型地定義描邊曲線的信息(諸如用戶 空間中控制點(diǎn)cO、cl和c2的位置以及曲線類型)初始被輸入到圖形處理系統(tǒng)。如本領(lǐng)域中已知的,在渲染過程期間,在用戶空間中定義的描邊曲線2被投影到 2D表面空間6中,該2D表面空間6具有該描邊曲線將在其上面被查看的顯示的相同透視 (幾何)。把所述描邊曲線從用戶空間2投影到表面空間4的變換在本文中被稱為用戶到 表面變換(Tus),并且將被提供到使用中的圖形處理系統(tǒng)。一旦把描邊曲線投影到表面空間中,則生成基元(或多個(gè)基元)諸如圖1所示的 多邊形8,其緊密配合并且覆蓋表面空間6中所投影的描邊曲線7。如本領(lǐng)域中已知的,然后把基元8光柵化成多個(gè)采樣點(diǎn),并且光柵化過程中定義 的多個(gè)采樣點(diǎn)將(基于它們是否被認(rèn)為落在表面空間中被描邊曲線劃界的區(qū)域內(nèi))最終被 適當(dāng)?shù)刂员泔@示描邊曲線。在本實(shí)施例中并且依據(jù)本發(fā)明,通過使用與用戶空間描邊曲線到投影空間中的特 定投影有關(guān)的預(yù)定信息來做出關(guān)于表面空間中的采樣點(diǎn)是否落在表面空間中的描邊曲線 內(nèi)的確定。用戶空間描邊曲線到投影空間中的投影被設(shè)計(jì)成具有如下形式其允許估計(jì)針 對沿投影空間中的垂直(“長度”)方向(其在本實(shí)施例中是x軸)的給定位置的、曲線的 投影形式沿投影空間中的定義“寬度”方向(其在本實(shí)施例中是沿y軸)的范圍。如下面 更詳細(xì)解釋的,描邊曲線的投影形式沿投影空間中的y軸(寬度方向)的這個(gè)估計(jì)范圍然 后可以被用來確定采樣點(diǎn)是否應(yīng)當(dāng)被認(rèn)為落在描邊曲線內(nèi)?,F(xiàn)在將討論這個(gè)預(yù)定信息采用的形式以及其被生成的方式。在本實(shí)施例中并且如圖2所示,描邊曲線的投影形式是用戶空間描邊曲線的投影 10的特定形式以致用戶空間描邊曲線的起始控制點(diǎn)cO被映射到投影空間中的第一位置而 用戶空間描邊曲線的終止控制點(diǎn)c2被映射到投影空間中的第二位置。在本實(shí)施例中,第一 位置,即起始點(diǎn)cO被投影到的位置是(0,0)(投影空間中的原點(diǎn))——在笛卡爾坐標(biāo)中給 出的投影空間中的坐標(biāo),而第二位置,即終止點(diǎn)c2被投影到的位置在投影空間中是(1,0)。 然而,要理解,第一和第二位置可以被視需要地選擇并且可以在要被渲染的不同描邊曲線 之間變化。此外,描邊曲線的投影形式是用戶空間描邊曲線的如下投影用戶空間描邊曲線 中的起始和終止控制點(diǎn)的法向向量n。。和11。2被重定向成使得它們平行于投影空間12中的 y軸(即平行于投影空間中的定義“寬度”方向)(并且沿著y軸向上指向)。如將會(huì)明白 的,與曲線的兩個(gè)端點(diǎn)相關(guān)聯(lián)的用戶空間法向向量的這種重定向?qū)?dǎo)致(如用戶空間中定 義的)曲線的其它法向向量也被重定向成使得更加平行于(并且使得近似平行于)投影空 間中的y軸(如圖2所示)。
在本實(shí)施例中,描邊曲線的投影形式尤其通過把在用戶空間中出現(xiàn)的描邊曲線變 換到或至少朝投影空間中的其期望投影形式的變換(“用戶到投影”變換)而與描邊曲線 的用戶空間形式有關(guān)。換言之,該布置使得描邊曲線的投影形式可以通過尤其使用特定“用 戶到投影”變換而從用戶空間中定義的描邊曲線來生成。此外,在本實(shí)施例中,在把用戶空間描邊曲線映射到其在投影空間中的投影形式 時(shí)使用的用戶到投影變換被應(yīng)用在均勻空間中(許多計(jì)算機(jī)圖形處理通常這么做)。這具 有如下優(yōu)點(diǎn)矩陣乘法可以用來表示旋轉(zhuǎn)和縮放以及還有平移和透視,如本領(lǐng)域中已知的。 為此,用戶空間中定義的曲線首先被放置到均勻用戶空間中,然后對其應(yīng)用相關(guān)的用戶到 投影變換以把曲線放置在均勻投影空間中。如本領(lǐng)域中已知的,如此變換的曲線然后可以 經(jīng)受透視除法以把變換曲線從均勻投影空間投影到投影空間中。這個(gè)過程被圖解在圖3、4和5中。圖3示出(2D)用戶空間4中的描邊曲線2被放置到3D均勻用戶空間14。如圖4所示,然后使用用戶到投影變換R把均勻空間14中的描邊曲線2變換成均 勻投影空間14’中的描邊曲線的變換形式16。然后通過透視除法把變換的描邊曲線16投影到2D投影空間12中。這被示于圖 5中。(這里應(yīng)當(dāng)注意,為清楚起見,圖4和5在描邊曲線的變換和投影形式中僅示出描 邊曲線從描邊曲線的中心線100起的一側(cè)。然而,如本領(lǐng)域的技術(shù)人員會(huì)明白的,在實(shí)際中 描邊曲線16的下半部分將(適當(dāng)?shù)?存在于描邊曲線的變換和投影形式中。)在計(jì)算要在渲染描邊曲線時(shí)使用的預(yù)定信息中的第一步驟在本實(shí)施例中因此是 確定用戶到投影變換R,其將在把用戶空間4中定義的描邊曲線2投影到投影空間12中的 其期望投影形式時(shí)被應(yīng)用在均勻空間中。這個(gè)用戶到投影變換的導(dǎo)出在本實(shí)施例中被如下執(zhí)行假設(shè)要顯示的描邊曲線具有在用戶空間中處于A = (al,a2)和B = (bl,b2)的起 始和終止控制點(diǎn),其中在點(diǎn)A和B處的用戶空間單位法向向量分別為向量c = Cli+C2j禾口 d =dii+cy,其中i和j是用戶空間的笛卡爾基本向量。如上面所討論的,變換被期望使得 用戶空間中的這個(gè)曲線可以被投影到投影空間以致i)用戶空間中的點(diǎn)A映射到投影空間中的點(diǎn)(0,0);ii)用戶空間中的點(diǎn)B映射到投影空間中的點(diǎn)(1,0);iii)用戶空間中的法向向量c在投影空間中是垂直的(即平行于y軸),并且具 有無限小范圍的正確標(biāo)度(scale),即在用戶空間中(A+ec)—在投影空間中(0,ε)同時(shí) ε — 0 ;以及iv)用戶空間中的法向向量d在投影空間中是垂直的,并且具有無限小范圍的正 確標(biāo)度,即在用戶空間中(B+ed)—在投影空間中(1,ε)同時(shí)ε —0。如將會(huì)明白的,這樣的用戶到投影變換(其將在本文中被表示為R)可以被表達(dá)為 兩個(gè)單獨(dú)變換的結(jié)果仿射變換Μ,其旋轉(zhuǎn)、平移和縮放曲線以便滿足條件⑴和(ii);以 及投影變換P,其強(qiáng)制條件(iii)和(iv)同時(shí)使曲線的投影形式中的兩個(gè)端點(diǎn)的位置不受 影響。通過利用齊次坐標(biāo),即通過在3D均勻空間中表示2D用戶空間中的點(diǎn),用戶到投影變換R可以被表達(dá)為
權(quán)利要求
一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示的方法,該方法包括接收要顯示的定義在用戶空間中的輸入描邊曲線;使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示;以及對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣位置;使用預(yù)定信息來估計(jì)在沿著要顯示的描邊曲線的投影形式的長度的一位置處投影空間中要顯示的描邊曲線的投影形式在所定義方向上的范圍,所述位置對應(yīng)于投影空間中的采樣位置沿著描邊曲線的投影形式的長度的位置;使用投影空間中要顯示的描邊曲線的投影形式在所定義方向上的估計(jì)范圍來確定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi);以及依據(jù)所述確定,給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分配用于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述接收輸入描邊曲線包括接收用戶空間中的多個(gè)控制點(diǎn)的位置、指示曲線的類型的信息、以及指示用戶空間中 的描邊寬度的信息。
3.根據(jù)權(quán)利要求1或2所述的方法,其中所述確定投影空間中的對應(yīng)采樣位置包括 把表面空間中的采樣點(diǎn)映射到用戶空間的對應(yīng)位置,并且然后把用戶空間中的對應(yīng)位置映射到投影空間中的對應(yīng)位置。
4.根據(jù)權(quán)利要求3所述的方法,其中所述把用戶空間中的對應(yīng)位置映射到投影空間中 的對應(yīng)位置包括把用戶空間中的采樣點(diǎn)放置在均勻空間中; 對均勻空間中的采樣點(diǎn)應(yīng)用變換;以及通過對均勻空間中的采樣點(diǎn)應(yīng)用透視除法,把均勻空間中的變換采樣點(diǎn)投影到投影空 間中。
5.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中使用預(yù)定義或預(yù)定變換來確定投影空 間中的對應(yīng)采樣位置。
6.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中描邊曲線的所述投影形式是用戶空間 中的描邊曲線的變換形式,其中定義在用戶空間中的描邊曲線上的至少兩個(gè)點(diǎn)被放置在投 影空間中的選定位置處。
7.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中描邊曲線的所述投影形式是用戶空間 中的描邊曲線的變換形式,其中與定義在用戶空間中的描邊曲線上的至少兩個(gè)點(diǎn)相關(guān)聯(lián)的 法向向量的相對定向被改變以致那些法向向量在投影空間中彼此平行。
8.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中所述使用預(yù)定信息來估計(jì)要顯示的描 邊曲線的投影形式在所定義方向上的范圍包括使用預(yù)定信息來估計(jì)在沿著投影空間中的第二軸方向的與采樣點(diǎn)在該第二軸方向上 的位置對應(yīng)的位置處描邊曲線的投影形式在投影空間中的第一軸方向上的范圍。
9.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中所述預(yù)定信息用來確定沿著所定義方 向的表示描邊曲線的投影形式的上邊界的估計(jì)的第一位置、以及沿著所定義方向的表示描 邊曲線的投影形式的下邊界的估計(jì)的第二位置。
10.根據(jù)前面權(quán)利要求中任一項(xiàng)所述的方法,其中所述預(yù)定信息針對沿著投影空間中 的所定義方向的多個(gè)點(diǎn)中的每個(gè)被存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)中。
11.根據(jù)權(quán)利要求10所述的方法,其中所述一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)包括一個(gè)或多個(gè)一維 圖形紋理。
12.一種在渲染描邊曲線進(jìn)行顯示時(shí)構(gòu)造用于圖形處理系統(tǒng)的一個(gè)或多個(gè)圖形紋理的 方法,該方法包括在用戶空間中定義描邊曲線;確定用于變換描邊曲線以致該描邊曲線具有所定義變換形式的變換; 確定信息,該信息用于確定在沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的每個(gè)處描 邊曲線的變換形式在一個(gè)或多個(gè)所定義方向上的范圍的估計(jì);以及生成并存儲(chǔ)一個(gè)或多個(gè)圖形紋理,每個(gè)圖形紋理包括紋理元素陣列,其中一個(gè)或多個(gè) 紋理的每個(gè)紋理元素與沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的至少一個(gè)相關(guān)聯(lián)并 且包含該至少一個(gè)點(diǎn)的一些或所有確定的信息。
13.一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示的方法,其中針對描邊曲線的一個(gè) 或多個(gè)預(yù)定義形式中的每個(gè)且以對圖形處理系統(tǒng)可訪問的方式、與預(yù)定信息和預(yù)定義用戶 到投影變換所涉及的曲線的標(biāo)識符相關(guān)聯(lián)地存儲(chǔ)預(yù)定信息和描邊曲線的預(yù)定義用戶到投 影變換,所述預(yù)定信息用于估計(jì)在沿著描邊曲線的投影形式的長度的多個(gè)位置中的每個(gè)處 投影空間中的描邊曲線的投影形式在所定義方向上的范圍,該方法包括應(yīng)用要求與要渲染的描邊曲線的預(yù)定義形式之一對應(yīng)的描邊曲線,向圖形處理系統(tǒng)提 供識別要渲染的描邊曲線的標(biāo)識符、用于把要渲染的描邊曲線變換到表面空間進(jìn)行顯示的 所定義用戶到表面變換、以及描邊曲線的期望用戶空間描邊寬度;以及圖形處理系統(tǒng)使用要渲染的描邊曲線的所提供標(biāo)識符來檢索用于該曲線的所存儲(chǔ)的 預(yù)定范圍估計(jì)信息和用戶到投影變換,并且然后使用該信息以及指定的用戶到表面變換和 用戶空間描邊寬度來渲染描邊曲線進(jìn)行顯示。
14.一種用于在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示的設(shè)備,該設(shè)備包括 用于接收要顯示的定義在用戶空間中的輸入描邊曲線的裝置;用于使用所接收的變換把所接收的描邊曲線投影到表面空間中進(jìn)行顯示的裝置;以及 用于對于表面空間中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè)確定投影空間中的對應(yīng)采樣位置 的裝置;用于使用預(yù)定信息來估計(jì)在沿著要顯示的描邊曲線的投影形式的長度的一位置處投 影空間中要顯示的描邊曲線的投影形式在所定義方向上的范圍的裝置,所述位置對應(yīng)于投 影空間中的采樣位置沿著描邊曲線的投影形式的長度的位置;用于使用投影空間中要顯示的描邊曲線的投影形式在所定義方向上的估計(jì)范圍來確 定投影空間中的采樣位置是否落在描邊曲線的投影形式內(nèi)的裝置;以及用于依據(jù)所述確定給與投影空間中的采樣位置相對應(yīng)的表面空間中的采樣點(diǎn)分配用 于渲染所接收的描邊曲線進(jìn)行顯示的數(shù)據(jù)的裝置。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中用于接收輸入描邊曲線的所述裝置包括 用于接收用戶空間中的多個(gè)控制點(diǎn)的位置、指示曲線的類型的信息、以及指示用戶空間中的描邊寬度的信息的裝置。
16.根據(jù)權(quán)利要求14或15所述的設(shè)備,其中用于確定投影空間中的對應(yīng)采樣位置的所 述裝置包括用于把表面空間中的采樣點(diǎn)映射到用戶空間的對應(yīng)位置的裝置;用于把用戶空間中的采樣點(diǎn)放置在均勻空間中的裝置;用于對均勻空間中的采樣點(diǎn)應(yīng)用變換的裝置;以及用于通過對均勻空間中的采樣點(diǎn)應(yīng)用透視除法而把均勻空間中的變換采樣點(diǎn)投影到 投影空間中的裝置。
17.根據(jù)權(quán)利要求14到16中任一項(xiàng)所述的設(shè)備,其中描邊曲線的所述投影形式是用戶 空間中的描邊曲線的變換形式,其中定義在用戶空間中的描邊曲線上的至少兩個(gè)點(diǎn)被放置 在投影空間中的選定位置處
18.根據(jù)權(quán)利要求14到17中任一項(xiàng)所述的設(shè)備,其中描邊曲線的所述投影形式是用戶 空間中的描邊曲線的變換形式,其中與定義在用戶空間中的描邊曲線上的至少兩個(gè)點(diǎn)相關(guān) 聯(lián)的法向向量的相對定向被改變以致那些法向向量在投影空間中彼此平行。
19.根據(jù)權(quán)利要求14到18中任一項(xiàng)所述的設(shè)備,其中用于使用預(yù)定信息來估計(jì)要顯示 的描邊曲線的投影形式在所定義方向上的范圍的所述裝置包括用于使用預(yù)定信息來估計(jì)在沿著投影空間中的第二軸方向的與采樣點(diǎn)在該第二軸方 向上的位置對應(yīng)的位置處描邊曲線的投影形式在投影空間中的第一軸方向上的范圍的裝 置。
20.根據(jù)權(quán)利要求14到19中任一項(xiàng)所述的設(shè)備,其中用于使用預(yù)定信息來估計(jì)描邊曲 線的投影形式在所定義方向上的范圍的所述裝置包括用于確定沿著所定義方向的表示描 邊曲線的投影形式的上邊界的估計(jì)的第一位置、以及沿著所定義方向的表示描邊曲線的投 影形式的下邊界的估計(jì)的第二位置的裝置。
21.根據(jù)權(quán)利要求14到20中任一項(xiàng)所述的設(shè)備,其中所述預(yù)定信息針對沿著投影空間 中的所定義方向的多個(gè)點(diǎn)中的每個(gè)被存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)中。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)包括一個(gè)或多個(gè)一維 圖形紋理。
23.一種在渲染描邊曲線進(jìn)行顯示時(shí)構(gòu)造用于圖形處理系統(tǒng)的一個(gè)或多個(gè)圖形紋理的 設(shè)備,該設(shè)備包括用于在用戶空間中定義描邊曲線的裝置;用于確定用于變換描邊曲線以致該描邊曲線具有所定義變換形式的變換的裝置;用于確定信息的裝置,該信息用于確定在沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中 的每個(gè)處描邊曲線的變換形式在一個(gè)或多個(gè)所定義方向上的范圍的估計(jì);以及用于生成并存儲(chǔ)一個(gè)或多個(gè)圖形紋理的裝置,每個(gè)圖形紋理包括紋理元素陣列,其中 一個(gè)或多個(gè)紋理的每個(gè)紋理元素與沿著描邊曲線的變換形式的長度的多個(gè)點(diǎn)中的至少一 個(gè)相關(guān)聯(lián)并且包含該至少一個(gè)點(diǎn)的一些或所有確定的信息。
24.一種用于渲染描邊曲線的圖形處理系統(tǒng),在該系統(tǒng)中針對描邊曲線的一個(gè)或多個(gè) 預(yù)定義形式中的每個(gè)且以對圖形處理系統(tǒng)可訪問的方式、與預(yù)定信息和預(yù)定義用戶到投影 變換所涉及的曲線的標(biāo)識符相關(guān)聯(lián)地存儲(chǔ)預(yù)定信息和描邊曲線的預(yù)定義用戶到投影變換, 所述預(yù)定信息用于估計(jì)在沿著描邊曲線的投影形式的長度的多個(gè)位置中的每個(gè)處投影空間中的描邊曲線的投影形式在所定義方向上的范圍,該系統(tǒng)包括用于從要求與要渲染的描邊曲線的預(yù)定義形式之一對應(yīng)的描邊曲線的應(yīng)用中接收識 別要渲染的描邊曲線的標(biāo)識符、用于把要渲染的描邊曲線變換到表面空間進(jìn)行顯示的所定 義用戶到表面變換、以及描邊曲線的期望用戶空間描邊寬度的裝置;以及用于使用要渲染的描邊曲線的所提供標(biāo)識符來檢索用于該曲線的所存儲(chǔ)的預(yù)定范圍 估計(jì)信息和用戶到投影變換,并且然后使用該信息以及指定的用戶到表面變換和用戶空間 描邊寬度來渲染描邊曲線進(jìn)行顯示的裝置。
全文摘要
本發(fā)明涉及圖形處理系統(tǒng)。一種在圖形處理系統(tǒng)中渲染描邊曲線進(jìn)行顯示的方法,其中要顯示的輸入描邊曲線(2),諸如計(jì)算機(jī)字體中的字符或其部分,被定義在用戶空間(4)中并且被投影到表面空間(6)中進(jìn)行顯示。對于表面空間(6)中的一個(gè)或多個(gè)采樣點(diǎn)中的每個(gè),確定投影空間(12)中的對應(yīng)采樣位置,并且使用預(yù)定信息來估計(jì)在沿著描邊曲線的投影形式的長度的一位置處投影空間(12)中的描邊曲線的投影形式在所定義方向上的范圍,所述位置對應(yīng)于投影空間(12)中的采樣位置沿著描邊曲線的投影形式的長度的位置。然后使用估計(jì)的范圍來確定所討論的采樣位置是否落在描邊曲線內(nèi),從而允許給采樣點(diǎn)分配合適的渲染數(shù)據(jù)。
文檔編號G06F3/14GK101986344SQ20101024317
公開日2011年3月16日 申請日期2010年7月28日 優(yōu)先權(quán)日2009年7月28日
發(fā)明者B·梅里 申請人:Arm有限公司