用于幾何圖形的抗混疊的制作方法
【專利說明】用于幾何圖形的抗混疊
【背景技術】
[0001] 現(xiàn)今的計算設備可以訪問多種不同的視覺內容。為了使得能夠顯示視覺內容,在 顯示視覺內容之前通常會用多種方式對其進行處理。例如,圖形數(shù)據(jù)通常會從復雜的幾 何圖形(geometry)轉換成可作為更復雜的圖像的一部分處理和顯示的更簡單的幾何圖元 (geometricprimitive)。
[0002] -種這樣的用于將幾何圖形轉換成更簡單的圖元的方法被稱為曲面細分 (tessellation)。概括地說,曲面細分涉及將復雜的形狀轉換成一組能被處理和顯示的簡 單多邊形(例如,三角形)。雖然曲面細分對于再現(xiàn)高質量的圖形是有用的,但其亦與顯著的 計算資源成本相關聯(lián)。
[0003] -種用于減輕曲面細分資源成本的普通方法是將圖形再現(xiàn)分成兩個階段(pass)。 第一階段被稱為"實感化"(realization)階段,該階段會將幾何圖形轉換成被緩存在例 如中央處理單元("CPU")和/或圖形處理單元("GPU")上的中間形式(其被稱為"實感 (realization)")。第二階段被稱為"繪制"階段,該階段將被緩存的實感連同變換和"畫筆" (例如,從像素位置到顏色值的映射)一起獲得(take),并且再現(xiàn)圖元。因此,這會引起一次 曲面細分昂貴的CPU成本,而圖元本身可以用變化的變換和畫筆再現(xiàn)多次,從而降低CPU開 銷。
[0004] 雖然當前技術可以利用這個兩階段方法來再現(xiàn)圖元,但這樣的技術受到多種缺陷 困擾。例如,一些技術采用基于多采樣的抗混疊,該抗混疊可以顯著增加CPU成本,并且因 此影響整體再現(xiàn)性能。此外,在當前的很多GPU上通常不支持這樣的技術。其他技術可以 通過將幾何圖形光柵化來生成覆蓋位圖,該覆蓋位圖被用作可以將畫筆應用到其上的不透 明掩模(mask),以便再現(xiàn)圖形。當覆蓋位圖被縮放時,這些技術可以受到失真的困擾,并且 對于更大的幾何圖形來說,這些技術也可以顯著地增加GPU存儲器成本。
【發(fā)明內容】
[0005] 本
【發(fā)明內容】
被提供來以簡化的形式介紹概念的選擇,所述概念在下文具體實施方 式中將被進一步描述。本
【發(fā)明內容】
不是旨在標識要求保護的主題的關鍵特征或必要特征, 也不是旨在被用來幫助確定要求保護的主題的范圍。
[0006] 描述了用于幾何圖形的抗混疊技術。在至少一些實施例中,圖形圖像被縮減至多 邊形幾何圖元("幾何圖形")的一個集合。單個幾何圖形是根據(jù)本文所討論的技術而被處 理的,以便在將幾何圖形作為圖形圖像的一部分進行顯示的時候將抗混疊應用于該幾何圖 形。一般地,混疊是指在圖像中的線條的鋸齒狀外觀,諸如位圖圖像邊緣之類??够殳B指的 是可被應用于圖像(例如幾何圖形)的部分,以便移除和/或減少混疊的處理和/或效果。 本文所討論的技術經(jīng)由在再現(xiàn)幾何圖形以用于顯示時可以動態(tài)變換的四邊形和斜角的關 聯(lián)集合,來提供用于通用幾何圖形的抗混疊。在至少一些實施例中,為幾何圖形生成的四邊 形和斜角使得幾何圖形能夠被動態(tài)變換和重新再現(xiàn)多次從而實現(xiàn)多種不同的畫面。
【附圖說明】
【具體實施方式】 [0007] 參考附圖而被描述。在附圖中,附圖標記最左側的(多個)數(shù)字標識 該附圖標記在其中首次出現(xiàn)的附圖。在說明書和附圖的不同實例中使用的相同附圖標記可 以指示相似或相同的項目。
[0008] 圖1是在可以操作來采用本文所討論的技術的示例實現(xiàn)方式中的環(huán)境的圖示。
[0009] 圖2圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0010] 圖3圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0011] 圖4圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0012] 圖5圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0013] 圖6圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0014] 圖7圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0015] 圖8圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0016] 圖9圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0017] 圖10圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0018] 圖11圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0019] 圖12圖示了根據(jù)一個或多個實施例的示例實現(xiàn)場景的部分。
[0020] 圖13是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。
[0021] 圖14是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。
[0022] 圖15圖示了參考圖1描述的、被配置成實現(xiàn)本文所描述的技術的實施例的示例系 統(tǒng)和計算設備。
【具體實施方式】
[0023] 概覽 描述了用于幾何圖形的抗混疊技術。在至少一些實施例中,圖形圖像被縮減至多邊形 幾何圖元("幾何圖形")的集合。單個幾何圖形會根據(jù)本文討論的技術處理,以便在將這些 幾何圖形作為圖形圖像的部分顯示的時候對該幾何圖形應用抗混疊。一般地,混疊指的是 在圖像中的線條的鋸齒狀外觀。例如,在這個上下文中,混疊指的是在1比特單色設備上再 現(xiàn)的幾何圖元的邊緣上看到的視覺假象(visualartifact)??够殳B指的是可被應用于圖 像(例如,圖元)的部分,以便移除和/或減少混疊的處理和/或效果。
[0024] 在至少一些實施例中,技術涉及實現(xiàn)幾何圖形的抗混疊的多個處理步驟。例如, 針對幾何圖形邊緣,計算邊緣單位法向量。然后,該幾何圖形被曲面細分成一組內部三角 形。通過按照根據(jù)邊緣單位法向量所計算的位移量來插入該幾何圖形的頂點,來生成經(jīng)過 處理的幾何圖形。一般地,這個經(jīng)過處理的幾何圖形是原始幾何圖形的插入版本(inset version)。
[0025] 對于各種不同的實施例進一步來說,針對幾何圖形的邊緣生成alpha漸變四邊形 ("四邊形")。該四邊形是基于幾何圖形相應邊緣的邊緣單位法向量以及基于使用該邊緣單 位法向量計算的位移向量而生成的。單個四邊形包括一個在該四邊形的邊緣上應用的像素 覆蓋梯度,并且該像素覆蓋梯度指定從四邊形的一個邊緣的不透明或半透明態(tài)到該四邊形 的另一個邊緣的透明態(tài)的轉換。在至少一些實施例中,像素覆蓋梯度使得能夠實現(xiàn)所顯示 的幾何圖形的抗混疊。
[0026] 對于各種不同的實施例進一步來說,針對幾何圖形的凸頂點生成alpha漸變斜角 ("斜角")。生成這些斜角,以便填充可以在四邊形之間出現(xiàn)的間隙,并且以便確保抗混疊均 勻地在相關聯(lián)的幾何圖形上被應用。單個斜角包括應用在該斜角表面的像素覆蓋梯度,并 且該像素覆蓋梯度指定從四邊形的一個頂點處的不透明或半透明態(tài)到該四邊形邊緣處透 明態(tài)的轉換。
[0027] 在至少一些實施例中,經(jīng)過處理的幾何圖形以及相關聯(lián)的四邊形和斜角將被進一 步處理,以便應用覆蓋(例如,不透明)值和顏色值。然后,經(jīng)過處理的幾何圖形、四邊形以及 斜角可以作為視覺集成的幾何圖形(例如與圖像中的其他幾何圖形集成在一起)并且利用 由四邊形和斜角提供的抗混疊而被顯示。因此,本文所討論的技術經(jīng)由可以在將幾何圖像 再現(xiàn)以用于顯示時可以動態(tài)地變換的四邊形和斜角的相關聯(lián)的集合來提供用于通用幾何 圖形的抗混疊。在至少一些實施例中,針對幾何圖形所生成的四邊形和斜角使得該幾何圖 形能夠被動態(tài)變換和重新再現(xiàn)多次,以便實現(xiàn)多種不同的畫面。
[0028] 在以下討論中,首先描述可以操作來采用本文所描述的技術的示例環(huán)境。接下來, 標題為"示例實現(xiàn)場景"的部分描述根據(jù)一個或多個實施例的示例實現(xiàn)場景。在這之后,標 題為"示例過程"的部分描述根據(jù)一個或多個實施例的一些示例方法。接下來,標題為"附 加實施例"的部分描述可以在其中采用本文所討論技術的不同場景。最后,標題為"示例系 統(tǒng)和設備"的部分描述根據(jù)一個或多個實施例的可操作來采用本文所討論的技術的示例系 統(tǒng)和設備。
[0029] 已經(jīng)給出根據(jù)一個或多個實施例的示例實現(xiàn)方式的概覽,現(xiàn)在考慮可以在其中采 用示例實現(xiàn)方式的示例環(huán)境。
[0030] 示例環(huán)境 圖1是在可以操作來采用本文所描述的用于幾何圖形的抗混疊的技術的示例實現(xiàn)方 式中的環(huán)境100的圖示。圖示的環(huán)境100包括可以用多種不同方式配置的計算設備102。 例如,如聯(lián)系圖15所進一步描述的,該計算設備102可被配置為傳統(tǒng)的計算機(例如,臺式 個人計算機、膝上型計算機等等),移動站,娛樂裝置,可通信地耦合至電視的機頂盒,無線 電話,上網(wǎng)本,游戲控制臺,手持設備(例如,平板設備)等等。
[0031] 計算設備102包括處理器104,該處理器代表執(zhí)行用于計算設備102的各種不同類 型的數(shù)據(jù)處理的功能。例如,該處理器104可以代表計算設備102的中央處理單元(CPU)。 在下文中將會參考圖15來描述處理器104的更多實現(xiàn)方式的示例。
[0032] 進一步圖示了圖形處理器106,該圖形處理器代表執(zhí)行用于計算設備102的各種 不同的圖形相關任務的功能。例如,該圖形處理器106可以代表計算設備102的圖形處理 單元(GPU)。
[0033] 計算設備102還包括應用108以及圖形管理器模塊110。應用108代表經(jīng)由計算 設備102來執(zhí)