新四季網

在圖形硬體中細分幾何圖像的製作方法

2023-10-17 13:45:54


專利名稱::在圖形硬體中細分幾何圖像的製作方法
技術領域:
:所要求保護的發明的實現總地可以涉及處理圖形圖像,更具體地說,涉及處理使用幾何圖像的圖形圖像。
背景技術:
:圖1是圖示了典型的圖形處理100的流程圖。代表圖形圖像的幾何體可以被提交給圖形流水線(動作110)。這樣的幾何體一般可以包括三角形,但是也可以包括四邊形以及任何其他類型的幾何體。然後,頂點著色器(vertexshader)可以執行以下處理操作來處理幾何體,例如變換並且照明(lighting)每個多邊形,確定頂點的顏色,在必要的情況下確定法線(normal)等(動作120)。頂點著色器一般包括實施指令集以對與頂點相關的數據進行操作的硬體。這樣的數據可以包括頂點位置、頂點法線以及每頂點紋理坐標。這些值也可以隨後由著色硬體用來在多邊形上內插,以創建著色後的圖像。接著,多邊形可以被剪貼(clip)到屏幕的適當的位置上(動作130)。然後,像素著色器(Pixelshader)可以著色每個多邊形(動作140)。像素著色器一般包括在每一片段被交與屏幕之前,當它通過圖形流水線時對其執行一組指令的硬體。像素著色器和頂點著色器可以具有相同或不同的指令集。此外,它們執行的指令集可能不同於顯示給程式設計師的指令。在著色之後,如果某一特定像素位於任何先前繪製的像素之前,則它可以被寫入幀緩衝器(動作150)。在一些圖形引擎中,可能存在阿爾發混合操作。阿爾發混合操作是便於實現部分透明對象的一種機制,並且可以通過在傳統的三維(3D)圖形流水線中所使用的顏色通道之外的附加通道來實現。近來,已提出了一種表示圖形圖像的表面幾何體的技術,該技術具有一些優勢。這樣一種技術可以將任意的圖形表面重新編網到一個被稱為「幾何圖像」的完全規則的結構上。幾何圖像可以捕獲圖形圖像的表面幾何體,成為二維OD)陣列(array)的量化點。可以使用與幾何圖像相同的表面參數化過程,將諸如法線和/或顏色等表面信號存儲在類似的2D圖像中。有關幾何圖像的進一步討論可以在以下文章中找到,例如XianfengGu等人的「幾何圖像」,SIGGRAPH2002會議論文集,第355-361頁;F.Losasso等人的「平滑幾何圖像」,Eurographics2003,第138-145和273頁。為了更好地理解什麼是幾何體,以及它可以如何表示3D圖形對象,將提供簡要的解釋。圖2圖示了從3D模型210形成幾何圖像250的過程(例如參見HughesHoppe,「計算機圖形從不規則到完全規則的網格化(IrregulartoCompletelyRegularMeshingInComputerGraphics)"InternationalMeshingRoundtable,2002$9月)。3DHM210可以被概念化為一個在3D空間內彎曲、扭曲以形成3D網格的二維QD)形狀。模型210可以包括由頂點及頂點間的邊形成的幾何形狀(例如,三角形、四邊形等)網格。在模型210中的頂點可以在3D坐標系統中具有相關聯的空間坐標值(例如[X,y,ζ]坐標)。3D模型210可以沿著它的邊來切割,以形成一個不同的(例如,非兔子形狀的)2D形狀。切割線220圖示了這樣一種切割。這個不同的形狀可以使用公知的技術來扭曲或參數化,以形成規則形狀230。規則形狀230可以包括相互連接的來自模型210的頂點(例如圖示為三角形),其中切割線220位於形狀230的外邊上。因此,規則形狀230既保留模型210中頂點的[x,y,z]位置值,又保留這些頂點之間的連接關係。應當注意,雖然規則形狀230被圖示為方形,但是也可以使用其他類型的規則形狀(例如圓形等)。規則形狀230中的多邊形可以被有規律地採樣,以生成採樣形狀M0。在採樣形狀240中的每個採樣點可以是一個新的頂點,其保留了位置值(例如[X,y,ζ]坐標)並且隱含地連接到採樣圖像240中的其他頂點。即,在採樣圖像MO中的頂點可以通過對規則形狀230的規則採樣,經由邊被連接到它們上、下、左、右側的其他頂點。可以通過將採樣圖像240中的頂點的三通道[x,y,z]坐標映射到三通道的RGB空間,即[r,g,b]坐標,將採樣圖像240轉換為紅/綠/藍(RGB)(或任何其他顏色空間)色圖像,以產生幾何圖像250。在幾何圖像250中的每個像素可以代表模型210中的一個採樣頂點,其中像素的紅、綠、藍值表示所述採樣頂點的[x,y,z]空間位置。利用在幾何圖像250中的給定像素的相鄰像素來確定模型210中的對應採樣頂點的相鄰頂點。換言之,通過幾何圖像250中的相鄰像素來獲知模型210中的相鄰頂點,並且通過幾何圖像250中像素的顏色值來獲知這些頂點的位置值。雖然已經關於位置信息解釋了幾何圖像250,但是可以針對與模型210的頂點相關聯的任何信息來生成幾何圖像250。例如,法線也可以由幾何圖像250來表示,而法線就是指向空間的[x,y,z]向量。同樣,顏色值和/或紋理坐標也可以由幾何圖像250來表示。將模型表示為圖像可以允許我們使用現有的圖像處理算法,例如圖像壓縮算法。雖然壓縮幾何圖像是可能的,但是這些幾何圖像即使被壓縮,在一些情況下也可以通過數據總線被發送到圖形處理器。在一些情形中,數據總線的帶寬可能會限制能夠由圖形處理器從幾何圖像中顯示出來的解析度和/或視覺保真度。
發明內容為解決以上問題,本發明提供了用於在圖形硬體中細分幾何圖像的系統、方法和直ο根據本發明的一個方面,提供了一種系統,包括圖形存儲器;有效連接到所述圖形存儲器的數據總線;經由所述數據總線向所述圖形存儲器發送頂點數據的處理器;和頂點著色器,其從所述圖形存儲器中讀取所述頂點數據,將所述頂點數據細分成細分後的頂點數據,並且將所述細分後的頂點數據寫入所述圖形存儲器。其中,所述頂點數據包括幾何圖像。其中,所述頂點數據還包括顏色數據、紋理數據或法線數據。其中,所述處理器被設置為使用應用編程接口(API)來發送所述頂點數據。其中,所述數據總線具有相關的帶寬,並且其中,由所述處理器發送的頂點數據使用所述數據總線的大部分帶寬。其中,所述系統還包括像素著色器,所述像素著色器從所述圖形存儲器中讀取所述細分後的頂點數據,並且準備所述細分後的頂點數據用於顯示。其中,所述像素著色器光柵化所述細分後的頂點數據。其中,所述系統還包括幀緩衝器,所述幀緩衝器緩衝並輸出準備好的細分後頂點數據,所述準備好的細分後頂點數據來自所述像素著色器。其中,所述系統還包括在所述處理器將所述頂點數據發送到所述圖形存儲器之前存儲所述頂點數據的主存儲器。根據本發明的另一個方面,提供了一種系統,包括存儲具有第一解析度的第一幾何圖像的存儲器;頂點著色器,其將所述第一幾何圖像細分成第二幾何圖像,所述第二幾何圖像具有高於所述第一解析度的第二解析度,並且所述頂點著色器將所述第二幾何圖像存儲在所述存儲器中;和準備所述第二幾何圖像用於顯示的像素著色器。其中,所述系統還包括緩衝並輸出來自所述像素著色器的數據的幀緩衝器。其中,所述系統還包括獲得所述第一幾何圖像並將所述第一幾何圖像發送到所述存儲器的處理器。其中,所述系統還包括存儲供所述處理器訪問的第一幾何圖像的另一個存儲器。其中,所述像素著色器光柵化所述第二幾何圖像。其中,所述第二解析度大於所述第一解析度約四倍。根據本發明的又一個方面,提供了一種方法,包括獲得具有第一大小的第一幾何圖像;存儲所述第一幾何圖像;將所述第一幾何圖像細分成具有第二大小的第二幾何圖像,所述第二大小大於所述第一大小;並且存儲所述第二幾何圖像。其中,所述獲得步驟包括計算所述第一幾何圖像。其中,所述獲得步驟包括從存儲器中讀取所述第一幾何圖像。其中,所述第二大小大於所述第一大小約四倍。其中,所述方法還包括將所述第二幾何圖像細分成具有第三大小的第三幾何圖像,所述第三大小大於所述第二大小;並且存儲所述第三幾何圖像。其中,所述方法還包括在所述的存儲所述第一幾何圖像的步驟之前,經由數據總線傳送所述第一幾何圖像。其中,所述方法還包括光柵化所述第二幾何圖像。根據本發明的再一個方面,提供了一種裝置,包括存儲圖形數據的存儲器;和頂點著色器,其從所述存儲器讀取圖形數據,由所讀取的圖形數據生成新的圖形數據,並且將所述新的圖形數據寫入所述存儲器。其中,所讀取的圖形數據包括幾何圖像。其中,所述頂點著色器被設置為細分所讀取的圖形數據,以生成所述新的圖形數據。根據本發明的再又一個方面,提供了一種方法,包括從存儲器中讀取具有第一解析度的頂點數據;從所述存儲器中讀取具有低於所述第一解析度的第二解析度的法線數據;並且使用所述法線數據準備所述頂點數據用於顯示。其中,所述方法還包括將具有所述第二解析度的原始頂點數據細分成具有所述第一解析度的頂點數據;以及將具有所述第一解析度的頂點數據寫入所述存儲器。其中,所述準備步驟包括以所述第一和第二解析度之比將一個指標換算到具有所述第一解析度的頂點數據中,以將對應的指標生成到具有所述第二解析度的法線數據中。附圖被包含在說明書中並構成了說明書的一部分,它們圖示了與本發明的原理相一致的一種或多種實現方式,並且與文字描述部分一起用於解釋這些實現方式。這些圖不一定是按比例繪製的,重點在於圖示說明本發明的原理。在附圖中,圖1是圖示了典型的圖形處理的流程圖;圖2圖示了幾何圖像的形成過程;圖3圖示了示例性的系統;以及圖4是圖示了細分圖形數據的過程的流程圖。具體實施例方式以下詳細的描述參考附圖。在不同的圖中可以使用相同的標號來標識相同或相似的元件。在以下描述中,出於解釋而非限制的目的,闡述了一些具體的細節,例如具體的結構、體系結構、接口、技術等,以提供對所要求保護的發明的各個方面的完整理解。然而,獲知本公開內容的本領域技術人員將清楚的是,在偏離這些具體細節的其他實施例中也可以實現所要求保護的發明的各個方面。在一些情況下,省略了對公知的設備、電路和方法的描述,以免因不必要的細節模糊了對本發明的描述。圖3圖示了示例性的系統300。系統30可以包括主存儲器310、處理器320、數據總線330、圖形存儲器340、一個或多個頂點著色器350、一個或多個像素著色器360以及幀緩衝器370。在一些實現方式中,元件340-370中的一個或多個可以被包括在經由數據總線330與處理器320相連的、物理上獨立的圖形卡中。在一些實現方式中,元件340-370可以與元件310和320位於公共的電路板(例如主板、子板等)上。在一些實現方式中,元件350和360中的一個或多個可以是某一設備的一部分(例如,該設備的核)中的部件,處理器320可以包括在同一設備的另一部分(例如,另一個核)中。主存儲器310可以包括存儲幾何圖像的存儲設備。主存儲器310可以包括隨機訪問存儲器(RAM)器件,例如動態RAM(DRAM)、雙數據率RAM(DDRRAM)等。主存儲器310可以存儲預先計算的幾何圖像和/或從中可計算出幾何圖像的圖形數據。處理器320可以包括通用處理器、專用處理器和/或專門配置的邏輯。處理器320可以被設置為經由數據總線330將幾何圖像從主存儲器310分發到圖形存儲器340。處理器320可以在程序的控制下,經由數據總線330來發送幾何圖像,所述程序例如是繪製(rendering)、遊戲、圖形創建或其他類型的與圖形相關的程序。在一些實現方式中,處理器320可以由主存儲器310中的其他信息來計算幾何圖像,並將幾何圖像存儲在主存儲器310中。在一些實現方式中,處理器320可以在經由數據總線330傳輸幾何圖像之前對其進行壓縮(例如,利用JPEG2000或其他無損方案)。數據總線330可以將處理器320連接到圖形存儲器340。數據總線330可以使用典型的互連協議,或者可以使用定製的通信協議。數據總線330可具有相關的帶寬,該值定義了在給定的時間內它可以傳輸的最大數據量。在一些實現方式中,數據總線330的帶寬6可能會限制系統300的其他部分(例如著色器350和/或360)的性能。在一些實現方式中,數據總線330的帶寬可能不會限制系統300的整體性能。圖形存儲器340可以包括存儲幾何圖像的存儲設備。圖形存儲器340可以包括隨機訪問存儲器(RAM)器件,例如動態RAM(DRAM)、雙數據率RAM(DDRRAM)等。圖形存儲器340可以接收並存儲來自處理器320和頂點著色器350的幾何圖像。除了經由寫操作來存儲幾何圖像外,圖形存儲器340還可以經由讀操作將這些幾何圖像提供給頂點著色器350和像素著色器360。例如,圖形存儲器340可以存儲與幾何圖像相關聯的各種「每頂點」數據。這樣的頂點數據可以包括頂點位置、紋理坐標、顏色坐標或法線向量中的一個或多個。頂點著色器350可以被設置為從圖形存儲器340中讀取頂點數據,並且細分所述頂點數據以生成更高解析度的頂點數據。頂點著色器350可以具有並行體系結構,並且可以具有例如比像素著色器360更大的指令集。頂點著色器350可以使用各種不同的頂點生成程序和細分方案來增大頂點數據的解析度,後面將進一步地描述。頂點著色器350也可以將高解析度的頂點數據寫入圖形存儲器;340。由於訪問圖形存儲器340的帶寬比較寬,所以頂點著色器350可以將相對大量的高解析度數據寫入圖形存儲器340。典型的細分方案可以將幾何圖像中的數據量增大到四倍(byafactoroffour)。頂點著色器350可以被設置為針對給定的幾何圖像執行一級或多級的細分,並且存儲在圖形存儲器340中的經過一次細分的頂點數據例如可以被頂點著色器350用來生成第二級的細分數據(例如,以更高/更細的解析度),以存儲在圖形存儲器340中。像素著色器360可以被設置為從圖形存儲器340中讀取細分後的頂點數據,並準備用於顯示。像素著色器360例如可以比頂點著色器350具有更高帶寬的到圖形存儲器340的連接,並且像素著色器360在指令數量和指令集方面可能比頂點著色器350受到更多的限制。例如,像素著色器360可以被設置為從圖形存儲器340讀取新的、高解析度的幾何圖像,光柵化(rasterize)所述圖像,並且將光柵化的像素數據發送到幀緩衝器370。在一些實現方式中,像素著色器360可以使用來自處理器320的低解析度的幾何圖像(這些圖像可能保留在圖形存儲器340中)作為顯示圖元(primitive)來光柵化新的幾何圖像。幀緩衝器370可以被設置為接收來自像素著色器360的像素數據,並且在必要時,在顯示之前緩衝這些數據。幀緩衝器370還可能在圖形處理器(未示出)的控制下,將數據輸出到顯示器或顯示接口。圖4是圖示了細分圖形數據的過程400的流程圖。雖然為簡單起見,可以相對於系統300來描述過程400,但是所要求保護的發明在這方面不一定受到限制。處理可以開始於處理器320獲得用於一幅圖像中的頂點位置的紋理、幾何圖像以及任何其他相關值(動作410)。在一些實現方式中,處理器320可以計算出這些值,而在一些實現方式中,處理器320可以從主存儲器310中讀取這些值。除了獲得幾何圖像外,處理器320還可以創建紋理坐標映射(map)和顏色坐標映射中的一個或多個。創建幾何圖像(例如,沿著邊路徑(edgepath)切割網,並將產生的圖參數化到一個方形中)的詳細過程例如可以參考以下文章=XianfengGu等人的「幾何圖像」,SIGGRAPH2002會議論文集,第355-361頁。這樣的紋理映射、幾何圖像、和/或顏色映射可以被實現為具有指定寬度和高度的數組(array)。可以用和圖2中的頂點映射相同的方式來創建紋理、顏色和/或法線映射。對於紋理而言,tu和tv可以分別存儲在紅色和綠色通道中。同樣,對於顏色而言,r、g和b值可以被存儲到用於紋理映射的r、g和b值中。因為紋理一般情況下只是顏色的陣列,所以顏色和紋理映射都使用r、g和b。最後,法線的χ、y和ζ值可以被存儲到紋理映射的r、g和b通道中。應當注意,這種映射(mapping)無需局限為2D結構(例如圖像)。相反,這裡所描述的技術可以通過佔用被映射到r、g、b和(必要時)阿爾法中的任意數量的通道,而支持紋理、法線和顏色。如果需要四條通道以上的與頂點相關的信息或數據,那麼可以使用額外的紋理映射來獲得這一信息。因此,參考圖2所描述的技術可以與某種程度上任意的和/或複雜的頂點數據一起使用。同樣在動作410中,處理器320可以在紋理、幾何圖像和顏色被細分一次或多次時為它們創建佔位符(placeholder)數組。這種佔位符數組可以使用最少的帶寬,以簡化形式通過數據總線330來發送,以保留圖形存儲器340中的空間供細分後的紋理、幾何圖像等使用。在一些實現方式中,可以由頂點著色器350響應於來自處理器320的命令,在本地生成所述佔位符數組。在任何情況下,佔位符數組都被初始化為0,並被存儲在圖形存儲器340中。處理可以繼續,其中由處理器320經由數據總線330將紋理、幾何圖像和任何其他值(例如,顏色坐標和/或法線向量)發送到圖形存儲器340(動作420)。在一些實現方式中,處理器320可以將紋理、幾何圖像以及任何其他值提交給圖形應用編程接口(API),該接口可以將紋理和幾何圖像傳輸到圖形存儲器340。在一些實現方式中,紋理、幾何圖像等可以在通過數據總線330傳輸之前進行壓縮(例如,利用JPEG2000一類的無損方案)。頂點著色器350可以從圖形存儲器340讀取所存儲的紋理、幾何圖像以及任何其他值(統一稱為「頂點數據」),並且可以細分頂點數據(動作430)。如前所述,二維圖像(例如幾何圖像)的細分可以將圖像的解析度增大到約四倍。在一些實現方式中,頂點著色器;350可以使用Catmull-Clark技術來實現細分,上述技術概述於EdCatmull和JimClark的「任意拓撲網上遞歸生成的B-Spline表面(ItecursivelyGeneratedB-SplineSurfacesonArbitraryTopologicalMeshes),,,ComputerAidedGeometricDesign,第10卷,No.6,1978。然而,頂點著色器350也可以採用其他細分技術。在一些實現方式中,頂點著色器350可以使用蝶形技術來細分頂點數據,所述蝶形技術概述於iitephenJunkins的「細分現實性採用細分表面用於實時可縮放照相現實主義(SubdividingRealityEmployingSubdivisionSurfaceforRealTimeScalablephotorealism),,,遊戲開發者會議論文集,2000。在一些實現方式中,頂點著色器350可以使用Loop技術來細分頂點數據,所述循環技術概述於C.T.Loop,「基於三角形的平滑細分表面(SmoothSubdivisionSurfacesBasedonTriangles)」,猶他大學數學系的碩士論文,1987年8月。在一些實現方式中,頂點著色器350可以使用Doo-Sabin技術來細分頂點數據,所述技術概述於D.Doo和M.Sabin的「非常點附近的遞歸分割表面的行為(BehaviorofRecursiveDivisionSurfacesNearExtraordinaryPoints),,,ComputerAidedDesign(計算機輔助設計),第10卷,No.6,1978。頂點著色器350可以將細分並輸出後的頂點數據寫入圖形存儲器340(動作440)。在一些實現方式中,頂點著色器350用輸出的頂點數據覆寫圖形存儲器340中的一個或多個佔位符數組。在一些實現方式中,頂點著色器350可以根據需要,為輸出的頂點數據在圖形存儲器340中創建新的結構。取決於所希望的細分級數,頂點著色器350可以重複動作430和440—次或多次,如圖4中的虛線箭頭所示。例如,如果需要一次以上的細分操作(例如,為了得到更高的解析度),頂點著色器350可以讀取在前面的動作440中被存儲在圖形存儲器340中的經過一次細分的(如果動作430是重複第二次的話,則是經過兩次細分的)輸出頂點數據,並進一步細分該數據。因為細分可以依賴於具有前一解析度的頂點數據(例如,先前細分的輸出),所以在一些實現方式中,頂點著色器350可以覆寫和/或刪除具有更高解析度的頂點數據,以空出圖形存儲器340中的空間。例如,當執行第二級(或更高級別的)細分時,從處理器320發送而來的原始頂點數據可以被覆寫和/或刪除。在細分時也可以採用其他技術來節省圖形存儲器340中的空間和/或系統300的其他資源。例如,可以通過不像相關幾何圖像那樣完全地細分紋理、法線和/或顏色坐標,從而節省圖形存儲器340中的空間。在這樣的情形中,像素著色器360可以只是引用更低級別的細分(例如,僅一次細分的數據用於兩次或更多次細分的解析度),並且針對每次查找只除以4。作為一個實施例,如果不希望與對應的256x256幾何圖像一起生成和/或存儲256x256的法線映射,則可以由像素著色器360反之使用6虹64解析度級的法線映射。對於在位置陣列中指標(index)(32,32)處的條目,像素著色器360可以在處理期間引用64x64法線映射中的位置(8,8)。因此,像素著色器360在格式化已經由頂點著色器350細分為更高解析度的其他頂點數據(例如,幾何圖像或其他結構)時,可以使用具有較低解析度的一個或多個映射(例如,法線映射)。在一些實現方式中,可以計算出適當的法線,然後可以在舊的法線映射中查找最靠近的法線。所得到的法線數據可以被存儲在任意大小的法線映射中。也可以使用其他技術來避免對於給定的解析度完全細分圖形存儲器340中的所有圖形數據。可能在某些區域(例如在幾何圖像內的區域)中不希望進行細分。對於這些區域,現有的幾何圖像、法線圖像和/或紋理映射可以棄之不用。對於希望進行細分的其他區域,可以採用某種細分方案(例如Catmull-Clark)。對於兩種區域(例如被細分的以及不被細分的)之間的邊界,可以複製一些頂點信息。另一種節省圖形存儲器340空間的技術可以是利用無損壓縮方案來壓縮存儲其中的數據(例如,原始頂點數據和/或細分後的頂點數據)。一種適於壓縮例如細分後幾何圖像的方案可以是JPEG2000,它可以取得大約2.5到1的壓縮比。數據壓縮可以取代其他技術,或者與其他技術一起用,以用來減少存儲在圖形存儲器340中的數據量。處理可以繼續,其中像素著色器360準備存儲在圖形存儲器340中的細分後頂點數據,以用於顯示(動作450)。像素著色器360可以光柵化和/或以其他方式格式化所存儲的頂點數據(例如幾何圖像、顏色映射等),以用於顯示。在一些實現方式中,像素著色器360可以使用一個或多個低解析度的頂點數據集合(例如原始幾何圖像)作為顯示圖元,來準備細分後的頂點數據。雖然未在圖4中明確示出,但是格式化後的圖形圖像隨後可以從幀緩衝器370中顯示。在一些實現方式中,對於給定的數據總線330所承載的數據帶寬,利用頂點著色9器350來細分頂點數據的上述系統和方案可以增大顯示數據的視覺保真度/解析度。例如,使用數據總線330的大部分或幾乎全部數據帶寬的頂點數據可以由頂點著色器350來細分,相對於不這樣做而因數據總線330的帶寬導致的顯示解析度而言,細分後將使顯示解析度增大。在一些實現方式中,這樣一種細分方案可以有助於使用比不進行細分時更少的數據總線330帶寬而產生給定的視覺保真度/解析度。例如,顯示解析度可以與不執行細分時保持相同,但是細分使得前一種情況在解析度相同時可以使用少得多的數據總線330帶寬。為了進一步幫助理解上述系統300和過程400,將給出一個實施例。在這個實施例中,處理器320可以在動作410中創建或從主存儲器310中讀取三個ηχη(η是一個整數,例如8、16、32等)的數組GO、TO和CO。GO可以是一個幾何圖像。TO可以是紋理坐標映射,每個位置包含對應的紋理坐標。CO可以是顏色坐標映射,每個位置包含對應的紅、綠、藍色值。GO、TO和CO可以處於原始解析度(例如8x8,16x16等)。同樣在動作410中,對於每種期望的細分級別(例如,兩級),處理器320和/或頂點著色器350都可以為具有各自細分解析度的GO、TO和CO中的每一個創建佔位符數組/映射。對於第一級細分,GUTl和Cl可以用4*nx4*n的大小/解析度來創建,因為細分可以將數組/映射的大小/解析度增大到四倍。對於第二級細分,G2、T2和C2可以用4*4*nx4*4*n(即16ηχ16η)的大小/解析度來創建。為方便起見,G1、Tl、Cl、G2、T2和C2可以被初始化為0。在動作420中,處理器320可以經由數據總線330將結構GO、TO、CO、Gl、Tl、Cl、G2、T2和C2發送到圖形存儲器340。在一些實現方式中,可以使用圖形API來完成這種操作。這一操作可以初始化圖形存儲器340中的空間,以由頂點著色器350隨後來填充。然後,頂點著色器350可以在動作430中細分GO、TO和C0,以生成第一細分頂點數據Gl、Tl和Cl。例如,如果所採用的具體細分方案是Catmull-Clark細分方案,那麼用於某一面的新面點可以通過對形成該面的舊點求平均而計算出來。新的邊點可以通過將舊邊的中點與共享一邊的面的兩個新面點的均值求平均而計算出來。新的頂點可以通過對Q/n+(2*R)/n+(S*(n-3))/n求平均而計算出來,其中Q等於與舊頂點鄰接的所有面的新面點的均值;R等於入射在舊頂點上的所有舊邊的中點的均值,而S是所述舊頂點。在一些實現方式中可以使用不同於Catmull-Clark的其他細分方案。當G1、T1和Cl中的每一組點被創建時,頂點著色器350可以在動作440中將對應的佔位符結構中的值存儲在圖形存儲器340中。當第一次細分全部完成後,頂點著色器350可以在動作430中進一步細分Gl、Tl和Cl,以生成第二次細分後的頂點數據G2、T2和C2。頂點著色器350可以在動作440中將對應的佔位符結構G2、T2和C2中被進一步細分後的值存儲在圖形存儲器340中。如前所述,G1、T1或Cl可能在一些實現方式中不會受到第二級細分。像素著色器360可以從圖形存儲器340中讀取最終細分完成的頂點數據(例如,如果全都被兩次細分,則是G2、T2和C2),並經由幀緩衝器370準備該數據用於顯示。在G0、TO和CO不全被細分兩次的實現方式中,像素著色器360可以準備G2以及一個或多個較少細分的結構(例如Tl和/或Cl)用於顯示。雖然以上示意性的實施例包括了特定的實現方式,但是所要求保護的發明不一定局限於此。例如,初始頂點數據可以包括與GO、TO和CO不同的圖形數據,例如法線數據。10由頂點著色器350執行的細分的次數可以少於或多於兩次。類似地,在一些實現方式中可以使用不同於Catmull-Clark的細分方案。上述對一種或多種實現方式的描述提供了圖示說明和文字描述,但是不希望是窮盡性的,或者將本發明的範圍限制到所公開的精確形式。參照以上教導可以實現多種修改和變化,或者可以從本發明各種實現方式的實施中獲得這些修改和變化。例如,雖然這裡相對於頂點著色器350描述了細分方案,但是在一些實現方式中,也可以使用其他圖形硬體來實現細分。只要這些其他的硬體(例如其他類型的著色器)具有從圖形存儲器340讀取數據並且向其中寫入數據的能力,它就是適合的。此外,這裡所描述的細分方案可以在一些實現方式中由頂點著色器350根據需要(例如,基本實時地)來執行,並且在一些實現方式中它可以由頂點著色器350預先計算出來。另外,在一些實現方式中,頂點著色器350可以將細分後的頂點數據直接發送到像素著色器360,而不是先寫入圖形存儲器340。此外,圖4中的動作不必以示出的順序來實施;也不是所有的動作都一定要執行。另外,那些不依賴於其他動作的動作可以與其他動作並行執行。另外,這個附圖中至少有一部分動作可以實現為指令或者多組指令,這些指令在機器可讀介質上實現。在本申請的說明書中所使用的任何元件、動作或指令都不應被解釋為對本發明是關鍵的或必不可少的,除非明確指出。另外,用在這裡,冠詞「a」想要包括單數或複數項。在本質上偏離本發明的精神和原理的情況下,可以對所要求保護的發明的上述實現方式進行多種修改和改變。這裡想要把所有這樣的修改和改變都包括在本公開的範圍之內,並受所附權利要求書的保護。權利要求1.一種系統,包括圖形存儲器,所述圖形存儲器儲存具有第一大小的第一幾何圖像;處理器;將所述圖形存儲器耦合到所述處理器的數據總線;不同於所述數據總線的第二總線;通過所述第二總線耦合到所述圖形存儲器的細分裝置,所述細分裝置將所述第一幾何圖像細分成具有第二大小的第二幾何圖像,所述第二大小大於所述第一大小;並且所述圖形存儲器存儲通過所述第二總線來自所述細分裝置的所述第二幾何圖像。2.如權利要求1所述的系統,包括頂點著色器,所述頂點著色器讀取包括幾何圖像的頂點數據。3.如權利要求2所述的系統,其中所述頂點著色器讀取還包括顏色數據、紋理數據或法線數據的頂點數據。4.如權利要求2所述的系統,其中所述處理器被調適為使用應用編程接口(API)來發送所述頂點數據。5.如權利要求2所述的系統,其中所述數據總線具有相關的帶寬,並且其中,由所述處理器發送的所述頂點數據使用所述數據總線的大部分帶寬。6.如權利要求2所述的系統,還包括像素著色器,所述像素著色器從所述圖形存儲器中讀取細分後的頂點數據,並且準備所述細分後的頂點數據用於顯示。7.如權利要求6所述的系統,其中所述像素著色器光柵化所述細分後的頂點數據。8.如權利要求6所述的系統,還包括幀緩衝器,所述幀緩衝器緩衝並輸出準備好的細分後的頂點數據,所述準備好的細分後的頂點數據來自所述像素著色器。9.如權利要求2所述的系統,還包括在所述處理器將所述頂點數據發送到所述圖形存儲器之前存儲所述頂點數據的主存儲器。全文摘要在圖形硬體中細分幾何圖像,一種系統可以包括圖形存儲器、數據總線、處理器和頂點著色器。數據總線可以有效地(operatively)連接到圖形存儲器。處理器可以經由數據總線向圖形存儲器發送頂點數據。頂點著色器可以從圖形存儲器中讀取頂點數據,並且可以將所述頂點數據細分成細分後的頂點數據。頂點著色器還可以將細分後的頂點數據寫入圖形存儲器。文檔編號G06T17/20GK102081804SQ20111000780公開日2011年6月1日申請日期2005年8月26日優先權日2004年8月26日發明者亞當·萊克,卡爾·馬歇爾申請人:英特爾公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀