圖形處理中的拼補著色的制作方法
【專利說明】
[0001] 本申請案要求2012年4月4日申請的第61/620, 340號美國臨時申請案、2012年 4月4日申請的第61/620, 358號美國臨時申請案和2012年4月4日申請的第61/620, 333 號美國臨時申請案的權益,所有前述申請案的完整內(nèi)容都以引用的方式并入本文中。
技術領域
[0002] 本發(fā)明涉及計算機圖形。
【背景技術】
[0003] 為視覺呈現(xiàn)提供內(nèi)容的裝置通常包含圖形處理單元(GPU)。GPU在顯示器上渲染 表示所述內(nèi)容的像素。GPU為顯示器上的每一像素產(chǎn)生一或多個像素值,以便渲染每一像素 以供呈現(xiàn)。
[0004] 在一些例子中,GPU可以實施統(tǒng)一的著色器架構來渲染圖形。在此些例子中,GPU 可以配置多個類似的計算單元來執(zhí)行不同著色操作的管線。所述計算單元可以稱為統(tǒng)一著 色單元或統(tǒng)一著色器處理器。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的技術總體上涉及執(zhí)行與圖形渲染管線的著色器級相關聯(lián)的著色操作。舉 例來說,圖形處理單元(GPU)可以調(diào)用一或多個著色單元以執(zhí)行與圖形渲染管線的著色器 級相關聯(lián)的著色操作。根據(jù)本發(fā)明的方面,所述GPU可以接著使用被指定用于執(zhí)行所述第 一著色操作的著色單元執(zhí)行與圖形渲染管線的第二不同著色器級相關聯(lián)的著色操作。舉例 來說,GPU可以在遵照與第一著色器級相關聯(lián)的輸入/輸出接口的同時執(zhí)行與第二級相關 聯(lián)的著色操作。以此方式,GPU可以通過使用相同的著色單元執(zhí)行多個著色操作而模仿具 有更大著色資源的GPU。
[0006] 在一個實例中,本發(fā)明的方面涉及一種渲染圖形的方法,其包含:使用圖形處理單 元的被指定用于頂點著色的硬件著色單元執(zhí)行頂點著色操作以對輸入頂點進行著色以便 輸出經(jīng)頂點著色的頂點,其中所述硬件單元經(jīng)配置以接收單個頂點作為輸入,并且產(chǎn)生單 個頂點作為輸出;以及使用所述圖形處理單元的所述硬件著色單元執(zhí)行幾何形狀著色操作 以基于所述經(jīng)頂點著色的頂點中的一或多個產(chǎn)生一或多個新頂點,其中所述幾何形狀著色 操作對所述一或多個經(jīng)頂點著色的頂點中的至少一個進行操作以輸出所述一或多個新頂 點。
[0007] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的圖形處理單元,其包含經(jīng) 配置以進行以下操作的一或多個處理器:使用圖形處理單元的被指定用于頂點著色的硬件 著色單元執(zhí)行頂點著色操作以對輸入頂點進行著色以便輸出經(jīng)頂點著色的頂點,其中所述 硬件單元經(jīng)配置以接收單個頂點作為輸入,并且產(chǎn)生單個頂點作為輸出;以及使用所述圖 形處理單元的所述硬件著色單元執(zhí)行幾何形狀著色操作以基于所述經(jīng)頂點著色的頂點中 的一或多個產(chǎn)生一或多個新頂點,其中所述幾何形狀著色操作對所述一或多個經(jīng)頂點著色 的頂點中的至少一個進行操作以輸出所述一或多個新頂點。
[0008] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的設備,其包含:用于使用圖 形處理單元的被指定用于頂點著色的硬件著色單元執(zhí)行頂點著色操作以對輸入頂點進行 著色以便輸出經(jīng)頂點著色的頂點的裝置,其中所述硬件單元經(jīng)配置以接收單個頂點作為輸 入,并且產(chǎn)生單個頂點作為輸出;以及用于使用所述圖形處理單元的所述硬件著色單元執(zhí) 行幾何形狀著色操作以基于所述經(jīng)頂點著色的頂點中的一或多個產(chǎn)生一或多個新頂點的 裝置,其中所述幾何形狀著色操作對所述一或多個經(jīng)頂點著色的頂點中的至少一個進行操 作以輸出所述一或多個新頂點。
[0009] 在另一實例中,本發(fā)明的方面涉及一種上面存儲有指令的非暫時性計算機可讀媒 體,所述指令在被執(zhí)行時使得一或多個處理器使用被指定用于頂點著色的硬件著色單元執(zhí) 行頂點著色操作以對輸入頂點進行著色以便輸出經(jīng)頂點著色的頂點,其中所述硬件單元經(jīng) 配置以接收單個頂點作為輸入并且產(chǎn)生單個頂點作為輸出,并且使用被指定用于頂點著色 的硬件著色單元執(zhí)行幾何形狀著色操作以基于經(jīng)頂點著色的頂點中的一或多個產(chǎn)生一或 多個新頂點,其中所述幾何形狀著色操作對所述一或多個經(jīng)頂點著色的頂點中的至少一個 進行操作以輸出一或多個新頂點。
[0010] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的方法,其包含:使用圖形處 理單元的被指定用于頂點著色的硬件單元執(zhí)行頂點著色操作以對輸入頂點進行著色以便 輸出經(jīng)頂點著色的頂點,其中所述硬件單元遵照一個接口,所述接口接收單個頂點作為輸 入,并且產(chǎn)生單個頂點作為輸出;以及使用所述圖形處理單元的被指定用于頂點著色的硬 件單元執(zhí)行殼體著色操作以基于所述經(jīng)頂點著色的頂點中的一或多個產(chǎn)生一或多個控制 點,其中所述一或多個殼體著色操作對所述一或多個經(jīng)頂點著色的頂點中的至少一個進行 操作以輸出所述一或多個控制點。
[0011] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的圖形處理單元,其包含一 或多個經(jīng)配置以進行以下操作的處理器:使用圖形處理單元的被指定用于頂點著色的硬件 單元執(zhí)行頂點著色操作以對輸入頂點進行著色以便輸出經(jīng)頂點著色的頂點,其中所述硬件 單元遵照一個接口,所述接口接收單個頂點作為輸入,并且產(chǎn)生單個頂點作為輸出;以及使 用所述圖形處理單元的被指定用于頂點著色的硬件單元執(zhí)行殼體著色操作以基于所述經(jīng) 頂點著色的頂點中的一或多個產(chǎn)生一或多個控制點,其中所述一或多個殼體著色操作對所 述一或多個經(jīng)頂點著色的頂點中的至少一個進行操作以輸出所述一或多個控制點。
[0012] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的設備,其包含:用于使用圖 形處理單元的被指定用于頂點著色的硬件單元執(zhí)行頂點著色操作以對輸入頂點進行著色 以便輸出經(jīng)頂點著色的頂點的裝置,其中所述硬件單元遵照一個接口,所述接口接收單個 頂點作為輸入,并且產(chǎn)生單個頂點作為輸出;以及用于使用所述圖形處理單元的被指定用 于頂點著色的硬件單元執(zhí)行殼體著色操作以基于所述經(jīng)頂點著色的頂點中的一或多個產(chǎn) 生一或多個控制點的裝置,其中所述一或多個殼體著色操作對所述一或多個經(jīng)頂點著色的 頂點中的至少一個進行操作以輸出所述一或多個控制點。
[0013] 在另一實例中,本發(fā)明的方面涉及一種上面存儲有指令的非暫時性計算機可讀媒 體,所述指令當被執(zhí)行時使得一或多個處理器進行以下操作:使用圖形處理單元的被指定 用于頂點著色的硬件單元執(zhí)行頂點著色操作以對輸入頂點進行著色以便輸出經(jīng)頂點著色 的頂點,其中所述硬件單元遵照一個接口,所述接口接收單個頂點作為輸入,并且產(chǎn)生單個 頂點作為輸出;以及使用所述圖形處理單元的被指定用于頂點著色的硬件單元執(zhí)行殼體著 色操作以基于所述經(jīng)頂點著色的頂點中的一或多個產(chǎn)生一或多個控制點,其中所述一或多 個殼體著色操作對所述一或多個經(jīng)頂點著色的頂點中的至少一個進行操作以輸出所述一 或多個控制點。
[0014] 在一個實例中,本發(fā)明的方面涉及一種渲染圖形的方法,其包含:指定圖形處理單 元的硬件著色單元執(zhí)行與渲染管線的第一著色器級相關聯(lián)的第一著色操作,在完成所述第 一著色操作后即刻切換所述硬件著色單元的操作模式,并且使用所述圖形處理單元的被指 定執(zhí)行所述第一著色操作的硬件著色單元執(zhí)行與渲染管線的第二不同著色器級相關聯(lián)的 第二著色操作。
[0015] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的圖形處理單元,其包括經(jīng) 配置以進行以下操作的一或多個處理器:指定圖形處理單元的硬件著色單元執(zhí)行與渲染管 線的第一著色器級相關聯(lián)的第一著色操作,在完成所述第一著色操作后即刻切換所述硬件 著色單元的操作模式,并且使用所述圖形處理單元的被指定執(zhí)行所述第一著色操作的硬件 著色單元執(zhí)行與渲染管線的第二不同著色器級相關聯(lián)的第二著色操作。
[0016] 在另一實例中,本發(fā)明的方面涉及一種用于渲染圖形的設備,其包含:用于指定圖 形處理單元的硬件著色單元執(zhí)行與渲染管線的第一著色器級相關聯(lián)的第一著色操作的裝 置,用于在完成所述第一著色操作后即刻切換所述硬件著色單元的操作模式的裝置,以及 用于使用所述圖形處理單元的被指定執(zhí)行所述第一著色操作的硬件著色單元執(zhí)行與渲染 管線的第二不同著色器級相關聯(lián)的第二著色操作的裝置。
[0017] 在另一實例中,本發(fā)明的方面涉及一種上面存儲著指令的非暫時性計算機可讀媒 體,所述指令在被執(zhí)行時使得一或多個處理器進行以下操作:指定圖形處理單元的硬件著 色單元執(zhí)行與渲染管線的第一著色器級相關聯(lián)的第一著色操作,在完成所述第一著色操作 后即刻切換所述硬件著色單元的操作模式,并且使用所述圖形處理單元的被指定執(zhí)行所述 第一著色操作的硬件著色單元執(zhí)行與渲染管線的第二不同著色器級相關聯(lián)的第二著色操 作。
[0018] 附圖和下面的描述中闡述了本發(fā)明的一或多個實例的細節(jié)。通過描述和圖式并且 通過權利要求將明白其它特征、目的和優(yōu)點。
【附圖說明】
[0019] 圖1是說明可以實施本發(fā)明中描述的技術的計算裝置的框圖。
[0020] 圖2是說明示范性圖形處理管線80的框圖。
[0021] 圖3A和3B是根據(jù)本發(fā)明的方面的圖形渲染管線中的數(shù)據(jù)流的概念圖。
[0022] 圖4是實施本發(fā)明中描述的技術以執(zhí)行頂點著色操作和幾何形狀著色操作的硬 件著色單元的實例操作的圖。
[0023] 圖5A說明合并頂點著色器/幾何形狀著色器硬件著色單元在執(zhí)行頂點著色操作 和幾何形狀著色操作時執(zhí)行的操作的流程。
[0024] 圖5B說明對應于可以由合并頂點著色器/幾何形狀著色器硬件著色單元執(zhí)行的 圖5A所示的操作流程的偽碼。
[0025] 圖6是說明根據(jù)本發(fā)明的方面的用于執(zhí)行合并頂點著色操作和幾何形狀著色操 作的圖形處理單元的實例組件的圖。
[0026]圖7是說明根據(jù)本發(fā)明的方面的用于執(zhí)行頂點著色操作和幾何形狀著色操作的 實例過程的流程圖。
[0027] 圖8是說明包含曲面細分器級的實例圖形處理管線的框圖。
[0028] 圖9是說明曲面細分的概念圖。
[0029] 圖10A和10B是根據(jù)本發(fā)明的方面的圖形渲染管線中的數(shù)據(jù)流的概念圖。
[0030]圖11是實施本發(fā)明中描述的技術以執(zhí)行頂點著色和殼體著色操作的硬件著色單 元的實例操作的圖。
[0031] 圖12A說明合并頂點著色器/殼體著色器硬件著色單元在執(zhí)行頂點著色操作和殼 體著色操作時執(zhí)行的操作的流程。
[0032] 圖12B總體上說明對應于可以由合并頂點著色器/殼體著色器硬件著色單元執(zhí)行 的圖12A所示的操作流程的偽碼。
[0033] 圖13A總體上說明合并域著色器/幾何形狀著色器硬件著色單元在執(zhí)行域著色操 作和幾何形狀著色操作時執(zhí)行的操作的流程。
[0034] 圖13B總體上說明對應于可以由合并域著色器/幾何形狀著色器硬件著色單元執(zhí) 行的圖13A所示的操作流程的偽碼。
[0035]圖14是說明根據(jù)本發(fā)明的方面的用于執(zhí)行合并頂點著色、殼體著色、域著色和幾 何形狀著色操作的圖形處理單元的實例組件的圖。
[0036] 圖15是說明根據(jù)本發(fā)明的方面使用相同硬件著色單元在兩個渲染遍次中執(zhí)行圖 形渲染的流程圖。
[0