欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

3D圖形渲染方法和設備與流程

文檔序號:11922530閱讀:853來源:國知局
3D圖形渲染方法和設備與流程

技術領域

以下描述涉及執(zhí)行三維(3D)渲染的圖像處理技術。



背景技術:

在三維(3D)計算機圖形中,圖形管線(graphics pipeline)或渲染管線(rendering pipeline)表示被配置為通過分階段或管線方法將3D圖像產(chǎn)生為二維(2D)光柵圖像或光柵化圖像信息的一個或更多個處理器。

圖形管線包括被配置為對3D對象的頂點信息執(zhí)行數(shù)學運算以向3D對象提供特殊效果的頂點著色器以及被配置為計算每個像素的顏色的像素著色器。頂點著色器可基于頂點信息執(zhí)行例如將3D對象改變到特殊位置和改變紋理或顏色的操作。像素著色器可應用例如從紋理讀取顏色、施加光以及對陰影、反射光或透明度進行處理的復雜操作。



技術實現(xiàn)要素:

提供本發(fā)明內容以用簡化的形式介紹對在下面的具體實施方式中進一步描述的構思的選擇。本發(fā)明內容不是旨在確定所要求保護主題的關鍵特征或必要特征,也不是意圖被用作幫助確定所要求保護主題的范圍。

在一個總體的方面,一種用于渲染三維(3D)場景的3D渲染方法,所述方法包括:確定3D場景中將被執(zhí)行著色的所選著色點,對所確定的著色點執(zhí)行著色,并基于對所確定的著色點執(zhí)行著色的結果來確定3D場景的著色信息。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟可以基于針對3D場景的區(qū)域的所確定的著色級別,并且與確定針對3D場景的另一區(qū)域的所選著色點的步驟不同。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟導致不同數(shù)量的著色點可根據(jù)以下事項而被確定:代表不同著色復雜度的多個著色級別中的哪個著色級別根據(jù)對3D場景的區(qū)域的時間分析和/或空間分析被確定為所述針對3D場景的區(qū)域的所確定的著色級別。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟可包括:將少于3D場景的區(qū)域的全部頂點的頂點確定為被執(zhí)行著色的著色點。

將少于3D場景的區(qū)域的全部頂點的頂點確定為被執(zhí)行著色的著色點的步驟還可包括:將3D場景的區(qū)域中的3D對象上的至少一個非頂點點確定為也被執(zhí)行著色的著色點。

將少于3D場景的區(qū)域的全部頂點的頂點確定為被執(zhí)行著色的著色點的步驟可包括:確定3D場景的區(qū)域中沒有頂點被選為著色點。

將少于3D場景的區(qū)域的全部頂點的頂點確定為被執(zhí)行著色的著色點的步驟可包括:確定著色點包括3D場景的區(qū)域的至少一個頂點。

確定著色點包括3D場景的區(qū)域的至少一個頂點的步驟可包括:確定著色點包括3D場景的區(qū)域的全部頂點。

所述方法還可包括:基于對少于3D場景的區(qū)域的全部頂點的所述頂點的一個或更多個著色的結果,針對除少于3D場景的區(qū)域的全部頂點的所述頂點之外的3D場景的區(qū)域的其余頂點對著色值進行插值,并通過從所確定的3D場景的著色信息確定像素顏色值來渲染圖像。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟可包括:將3D場景中的3D對象的全部頂點和3D對象上另外的點確定為將被執(zhí)行著色的所選著色點。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟可基于對3D場景的空間特征和時間特征的多個分析中的至少一個分析。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟還可包括:基于以下項中的至少一項來確定所選著色點:與虛擬光源關聯(lián)的信息、與虛擬相機關聯(lián)的信息、與3D場景中的3D對象關聯(lián)的信息以及對先前圖像幀執(zhí)行著色的結果。

與虛擬光源關聯(lián)的信息可包括與虛擬光源的位置、顏色、亮度、方向、角度和移動速度中的至少一個相關的信息,與虛擬相機關聯(lián)的信息可包括與虛擬相機的位置、方向、角度和移動速度中的至少一個相關的信息,與3D對象關聯(lián)的信息可包括與3D對象的形狀、顏色和材料中的至少一個相關的信息。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟還可包括:將3D場景中的頂點分組成不同的頂點組,并針對每個頂點組確定至少一個所選著色點。

將3D場景中的頂點分組成不同的頂點組的步驟可包括:基于以下項中的至少一項將頂點分組成不同的頂點組:頂點各自的位置、頂點各自的法線、對先前圖像幀執(zhí)行著色的結果以及哪些頂點用于相同的3D對象。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟還可包括基于以下項中的至少一項針對所述不同的頂點組中的每個頂點組確定著色級別:虛擬光源的移動、虛擬相機的移動、3D對象的移動、鄰近頂點之間的亮度差以及頂點組中的頂點的位置。

確定3D場景中將被執(zhí)行著色的所選著色點的步驟還可包括:基于針對每個頂點組分別確定的著色級別,確定每個頂點組的將被執(zhí)行著色的各個著色點。

將3D場景中的頂點分組成不同的頂點組的步驟可包括:針對每個頂點組確定與頂點關聯(lián)的各自的層次結構信息,其中,每個層次結構信息表示針對每個頂點組的多個不同復雜度級別,針對每個頂點組確定至少一個所選著色點的步驟可包括:基于從所述各自的層次結構信息分別確定了哪個復雜度級別來對每個頂點組進行著色,針對每個頂點組選擇各自不同的著色點。

確定3D場景的著色信息的步驟可包括:通過對被執(zhí)行著色以確定它們各自的著色值的著色點的各自的著色值之中的著色值進行插值,來確定與被執(zhí)行著色以確定它們各自的著色值的著色點鄰近的頂點的著色值,而無需執(zhí)行著色。

所述方法還可包括:通過對所確定的著色點的著色值進行插值來確定通過渲染3D場景所獲得的圖像中的像素的顏色值,作為在確定三維場景的著色信息的步驟中所確定的。

確定三維場景的著色信息的步驟可包括:將著色點各自的著色值和頂點的著色值存儲在紋理緩沖器中。

所述方法還可包括:使用存儲在紋理緩沖器中的著色值來執(zhí)行像素著色操作,以確定圖像中的像素的顏色值從而渲染圖像。

對確定的著色點執(zhí)行著色的步驟可包括:基于直接光源和間接光源中的至少一個的照明效果,確定所選著色點的顏色值,其中,照明效果可包括遮擋的陰影效果。

在另一總體的方面,一種非暫時性計算機可讀存儲介質可存儲當被處理器執(zhí)行時使得處理器執(zhí)行這里描述的一個或更多個或全部方法的指令。

在另一總體的方面,一種三維(3D)渲染設備可包括至少一個處理器,所述至少一個處理器被配置為:確定3D場景中將被執(zhí)行著色的所選著色點;對所確定的著色點執(zhí)行著色;并基于對所確定的著色點執(zhí)行著色的結果來確定3D場景的著色信息。

所述設備還可包括:至少一個存儲器,存儲用于使所述至少一個處理器實施以下操作的計算機可讀指令:確定3D場景中將被執(zhí)行著色的所選著色點的操作、對所確定的著色點執(zhí)行著色的操作以及基于對所確定的著色點執(zhí)行著色的結果來確定三維場景的著色信息的操作,其中,所述至少一個處理器被配置為執(zhí)行指令。

處理器可被配置為執(zhí)行指令,使得處理器還被配置為:基于當前頂點與屏幕之間的距離以及當前頂點是否位于陰影區(qū)域內中的至少一項,確定是否在后續(xù)圖像幀中更新當前頂點的著色值。

確定3D場景中將被執(zhí)行著色的所選著色點的操作可包括:在不對與均被執(zhí)行著色以確定它們各自的著色值的所確定的著色點和另一非頂點著色點鄰近的至少一個頂點執(zhí)行著色的情況下,通過對所述各自的著色值中的著色值進行插值,確定所述至少一個頂點的著色值。

確定3D場景中將被執(zhí)行著色的所選著色點的操作可包括;將3D場景中的頂點分組成頂點組,并基于著色級別,針對每個頂點組確定至少一個著色點。

在另一總體的方面,一種三維(3D)渲染設備可包括:圖形管線,包括頂點著色器和像素著色器;著色點著色器,被配置為:確定3D場景中將被執(zhí)行著色的所選著色點,對所確定的著色點執(zhí)行著色,并基于對所確定的著色點執(zhí)行著色的結果來確定3D場景的著色信息。

著色點著色器可將著色信息存儲在紋理緩沖器中,像素著色器可基于存儲在紋理緩沖器中的著色信息產(chǎn)生像素顏色信息以渲染圖像。

著色點著色器可從3D場景的由頂點著色器針對著色點著色器所識別的頂點之中確定所選著色點。

通過下面的具體實施方式、附圖和權利要求書,其他特征和方面將是清楚的。

附圖說明

圖1是示出用于解釋一個或更多個實施例的三維(3D)場景和3D場景中的頂點結構的示例的示圖。

圖2是示出3D渲染方法的示例的流程圖。

圖3是示出確定著色點的方法的示例的流程圖。

圖4是示出確定著色點的示例的示圖。

圖5是示出基于著色級別來確定著色點的示例的示圖。

圖6是示出基于對著色點執(zhí)行著色的結果來確定頂點的著色值的示例的示圖。

圖7是示出基于著色點的著色值確定渲染后的圖像的像素值的示例的示圖。

圖8A和圖8B是示出直接光源與間接光源之間的關系的示例的示圖。

圖9是示出3D渲染設備的示例的示圖。

圖10A和圖10B是示出3D渲染設備的的示例的示圖。

貫穿附圖和具體實施方式,相同的附圖參考標記表示相同或相似的元件。附圖可不按比例,并且為了清楚、說明和方便,附圖中的元件的相對大小、比例和描述可被夸大。

具體實施方式

提供以下具體描述以幫助讀者獲得對這里描述的方法、設備和/或系統(tǒng)的全面理解。然而,在理解本申請的公開之后,這里描述的方法、設備和/或系統(tǒng)的各種變形、修改和等同形式將是顯而易見的。例如,這里描述的操作順序僅僅是示例,并不限于這里闡述的這些,而是除了必須以特定順序發(fā)生的操作以外,可如在理解本申請的公開之后將顯而易見的那樣被改變。此外,為了更加清楚和簡明起見,對本領域已知的功能的描述可被省略。

這里描述的特征可以以不同的形式實現(xiàn),并且不被解釋為受限于這里所描述的示例。相反,已經(jīng)提供了這里描述的示例僅為了示出在理解本申請的公開之后將顯而易見的實施這里描述的方法、設備和/或系統(tǒng)的多種可行方式中的一些方式。

這里使用的術語僅是用于描述特定示例的目的,而不是用于限制本公開。如這里所使用,除非上下文明確地另有指示,否則單數(shù)形式也意圖包括復數(shù)形式。如這里所使用,術語“和/或”包括相關列出項中的任意一項或任意兩項或更多項的任意組合。如這里所使用,術語“包括”、“包含”和“具有”表明描述的特征、數(shù)字、操作、元件、組件和/或其組合的存在,但不排除一個或更多個其他特征、數(shù)字、操作、元件、組件和/或其組合的存在或添加。

此外,諸如第一、第二、A、B、(a)和(b)等的術語可在這里用來描述組件。這些術語中的每一個術語不用于定義相應組件的本質、順序或次序,而是僅用于將相應組件與其他組件區(qū)分開。

這里描述的示例的特征可如在理解本申請的公開之后將顯而易見的那樣以各種方式進行組合。此外,雖然這里描述的示例具有各種各樣的配置,但是其他配置如在理解本申請的公開之后將顯而易見的那樣是可能的。

可應用以下將進行描述的示例,以通過使用相應配置的一個或更多個處理器渲染(即,渲染處理)三維(3D)場景來從3D信息(諸如虛擬對象或捕獲的真實世界的對象)產(chǎn)生、創(chuàng)建或轉換渲染后的圖像或渲染后的圖像的信息。3D場景的渲染可包括基于從向3D場景提供照明效果的虛擬光源輻射的光來確定3D對象的顏色的著色(shading)處理。

圖1是示出3D場景110和3D場景110的頂點結構140的示例的示圖。

在基于頂點的光著色中,僅作為示例,當例如按照頂點級別對3D對象的頂點執(zhí)行著色時,可通過在執(zhí)行著色之后對頂點的著色值進行插值來隨后確定3D對象的像素的顏色值。僅作為示例,一個或更多個實施例的圖形管線可包括頂點著色器(例如,在圖形管線中的可選光柵化器前面),所述頂點著色器被配置為對或為3D對象的頂點或頂點信息執(zhí)行數(shù)學運算,并還可例如用于按照頂點級別向最終渲染的3D對象提供特殊效果。3D圖形信息可被頂點著色器獲得或被提供給頂點著色器,頂點著色器可被配置為產(chǎn)生或確定頂點,或者頂點信息中的一些或全部頂點信息可被頂點著色器獲得/被提供給頂點著色器。圖形管線還可包括被配置為計算每個像素(例如,諸如由這樣的光柵化器產(chǎn)生、識別或輸出的像素或從3D對象的頂點信息識別/確定的像素)的顏色的像素著色器。圖形管線可以是處理器或硬件處理元件或者處理器或硬件處理元件的組合。此外,根據(jù)實施例,可能存在可同步和/或異步運行的許多圖形管線。圖形管線中的一些或全部圖形管線還可被并行地配置。

頂點著色器可被配置為基于頂點信息執(zhí)行例如按照頂點級別將3D對象的位置改變到諸如歸一化空間的空間中的特殊位置中的操作。通常,頂點著色器可被配置為執(zhí)行一個或更多個另外的計算操作(諸如,添加和/或改變3D對象的紋理或顏色,或者針對按照頂點級別進行光著色的選擇性的照明計算)。同樣,通常像素著色器可被配置為基于圖形管線中的先前運算的結果,實現(xiàn)例如按照像素級別從設置或確定的紋理讀取顏色的一個或更多個復雜運算,以最終計算場景、幀、地區(qū)、區(qū)域、對象或對象部分中的每個像素的顏色。例如,典型像素著色器還可被配置為從定義的光源選擇性地施加光,并對陰影、反射光或透明度進行處理,以最終計算每個像素的顏色。此外,根據(jù)實施例,圖形管線還可包括光柵化器,或者相同的操作可通過圖形管線的另一著色器階段或者頂點著色器或像素著色器二者擇一來實現(xiàn)。光柵化是指計算機或計算技術中的表示圖像信息的類型或方式,并可包括產(chǎn)生和/或輸出例如以預設間隔組織或排序的二維布置的像素。作為示例,可對3D圖形信息執(zhí)行光柵化以產(chǎn)生或輸出這樣的像素,使得隨后能夠按照像素級別執(zhí)行另外的操作,其中,3D圖形信息可能不是像素格式的。在一個或更多個實施例中,圖形管線中的光柵化器可對因由例如至少一個頂點著色器所執(zhí)行的操作而產(chǎn)生的頂點信息或頂點執(zhí)行光柵化。僅作為非限制性的示例,圖9示出示例頂點著色器910和像素著色器920。

針對典型頂點著色器,由頂點著色器產(chǎn)生的頂點結構的復雜度可得自于原始或輸入的3D圖形信息的每個區(qū)域的幾何復雜度,所以當通常由頂點著色器執(zhí)行光著色或按照頂點級別執(zhí)行光著色時,所得著色復雜度可因著色的復雜度或因是否施加了特殊效果(例如,鏡面反射和漫反射)而產(chǎn)生。因此,在這樣的典型的基于頂點的著色或按照頂點級別執(zhí)行的光著色中,圖1的3D場景110中的每個區(qū)域的幾何復雜度可不對應于著色復雜度。例如,當執(zhí)行這樣的典型的基于頂點的著色時,盡管需要或期望高著色復雜度(諸如基于典型發(fā)光效果的數(shù)量或位置),但由于所得頂點的數(shù)量因低幾何復雜度而較少,因此圖像質量可能在區(qū)域120中發(fā)生劣化。這可被稱為作為結果的頂點復雜度方面的欠采樣。可選擇地,在頂點的數(shù)量因高幾何復雜度而較大且需要或期望低著色復雜度的區(qū)域130中,典型的另外的每個頂點著色操作可能是不必要的。這可被稱為作為結果的頂點復雜度方面的過采樣。這還與當由典型像素著色器執(zhí)行典型著色操作時的情況類似,其中,在該情況下,由于可按照像素級別執(zhí)行著色,因此可能存在不必要數(shù)量的被執(zhí)行的典型著色操。這里,僅作為示例,不必要術語可表示被典型執(zhí)行的下述一些操作或處理量:如果所述一些操作或處理量未被執(zhí)行,則整體處理能夠耗費更少的時間或更少的處理功率,能夠使用更少的能量消耗而被執(zhí)行,或者能夠實現(xiàn)整體增加的渲染幀率。

一個或更多個實施例包括3D渲染方法和設備,所述3D渲染方法和設備可基于3D場景110的空間特征或時間特征適應性地確定將被執(zhí)行著色的所選著色采樣點(也被稱為著色點),并對確定的著色采樣點執(zhí)行著色以在不降低渲染后的圖像的質量的情況下促使更快的著色(諸如,具有使上述過采樣和欠采樣最小化的自適應能力)。例如,在頂點的數(shù)量與著色復雜度相比較大的區(qū)域(例如,區(qū)域130)中,3D渲染方法和/或設備的一個或更多個實施例可降低或選擇降低著色采樣點的密度,以例如與典型地針對每個頂點執(zhí)行著色相比降低執(zhí)行著色的次數(shù),并由此提高渲染處理的速度。此外,在頂點的數(shù)量與著色復雜度相比較低的區(qū)域(例如,區(qū)域120)中,3D渲染方法和/或設備的一個或更多個實施例可增加或選擇增加著色采樣點的密度,以例如與典型地僅針對每個頂點執(zhí)行著色相比增加執(zhí)行著色的次數(shù),并由此提高渲染處理的圖像質量。

如上面所提到的,可與圖形管線結合(諸如,與任意的著色器處理器結合)例如作為單個處理器,或作為分開的自適應著色器處理元件或處理器,來執(zhí)行自適應著色。在示例中,諸如圖9中所示出的,可通過作為與一個或更多個圖形管線并行的另一處理器或處理元件的一個或更多個著色點著色器來執(zhí)行自適應著色。在示例中,圖9的一個或更多個著色點著色器930和/或圖形管線可被配置為單個處理器、具有多個核的單個處理器或可被可變地設計為包括著色點著色器930和圖形管線的這樣的處理元件的一個或更多個這樣的處理器。關于圖9,一個或更多個頂點著色器910和/或一個或更多個像素著色器920可如上所述被配置并與著色點著色器930的自適應光著色相協(xié)作地分別進行操作。在示例中,一個或更多個頂點著色器910和/或一個或更多個像素著色器920可被配置或通過例如固件而被控制以如這里所描述的與一個或更多個相應著色點著色器930相協(xié)作地進行操作。

例如,正如下面將進一步更詳細地解釋的那樣,當著色復雜度使得例如在頂點中的一個或更多個頂點或全部頂點被用作著色采樣點的情況下需要或期望比頂點更多的著色采樣點,或者在頂點中的一個或更多個頂點之間的區(qū)域中或頂點中的一個或更多個頂點附近的區(qū)域中期望更多的著色采樣點時,例如,所述一個或更多個著色點著色器930可確定頂點之間或除頂點以外的另外著色采樣點,從而單獨或者結合全部或所選頂點著色采樣點使用以執(zhí)行光著色。這里,這樣的示例需要或期望相同、更多還是更少的著色復雜度可基于3D場景的所確定的空間特征和/或所確定的時間特征,或幀內或幀之間的相應比較,因而場景、幀、地區(qū)、區(qū)域、對象或對象部分的渲染可被自適應執(zhí)行以促進更有效的渲染(諸如,與前述僅典型頂點著色器或僅典型像素著色器著色方法相比,在不降低渲染后的圖像的質量的情況下渲染更快)。

雖然上面已經(jīng)討論了特定實施例或示例,但是應充分主張這樣的實施例或示例僅為了示例目的,并不意圖限制本公開,另外和/或可選實施例也是可用的。

圖2是示出3D渲染方法的示例的流程圖。3D渲染方法可由3D渲染設備(例如,圖9中示出的3D渲染設備900以及圖10A和圖10B中示出的3D渲染設備1010和3D渲染設備1015)執(zhí)行,注意實施例不限于此。因此。下面雖然將通過參照各個3D渲染設備對圖2的方法以及圖3至圖8B的各個方法進行解釋,但是實施例可包括(但不限于)這里描述的3D渲染設備中的任意設備或任意組合。

參照圖2,在操作210中,3D渲染設備確定3D場景中將被執(zhí)行著色的著色點(即,上述著色采樣點)。3D渲染設備可將3D場景中的任意點確定為著色點。例如,3D渲染設備可將3D場景中的3D對象的頂點所位于的點還有頂點所不位于的點確定為將被執(zhí)行著色的著色點。著色點可基于3D場景的空間特征和時間特征中的至少一個來確定。將被執(zhí)行著色的點可基于3D場景的空間特征或時間特征而變化。例如,在一些地區(qū)或區(qū)域中,著色點可被確定為僅與諸如由頂點著色器在當前幀或先前幀中預定義或確定的相應頂點中的一個或更多個頂點或者全部頂點對應,著色點可被確定為與另外的非頂點著色點和頂點中的一些或全部對應,或者著色點可被確定為僅與另外的非頂點著色點對應。

3D渲染設備可基于例如與被配置為提供照明效果的一個或更多個虛擬光源關聯(lián)的信息、與被配置為確定觀看3D對象的各個視點的一個或更多個虛擬相機關聯(lián)的信息、與3D場景中的3D對象關聯(lián)的信息以及先前圖像幀的著色信息來確定這樣的著色點。例如,與虛擬光源關聯(lián)的這樣的信息可包括與例如虛擬光源的位置、顏色、方向和移動速度、虛擬光源與3D場景中的3D對象之間的距離以及在虛擬光源與3D對象之間形成的角度相關的信息。例如,與虛擬相機關聯(lián)的這樣的信息可包括與例如虛擬相機的位置、方向和移動速度以及在虛擬相機與3D場景中的3D對象之間形成的角度相關的信息。例如,與3D對象關聯(lián)的這樣的信息可包括與例如3D對象的形狀、顏色和材料相關的信息,并且先前圖像幀的這樣的著色信息可包括先前圖像幀中使用的頂點的著色值。

在示例中,3D渲染設備可將頂點分組成多個頂點組,并針對將被分別執(zhí)行著色的每個頂點組確定一個或更多個著色點。例如,所述方法可包括:基于3D場景的空間特征或時間特征確定當前場景、幀、地區(qū)、區(qū)域、對象、對象部分或相應頂點組的著色復雜度。確定著色復雜度的步驟可包括:對這樣的場景、幀、地區(qū)、區(qū)域、對象、對象部分或相應頂點組內和/或之間的空間特征和/或時間特征進行比較,以確定是期望細著色還是粗著色,或者是期望較大的著色復雜度還是較小的著色復雜度。例如,當確定期望細著色時,例如,除了包括在相應頂點組中的頂點之外,3D渲染設備還可通過將3D場景中的另外的著色點另外確定為著色點來增加將被執(zhí)行著色的著色點的數(shù)量。當確定期望粗著色或較小的著色復雜度時,無論著色點是否是頂點,3D渲染設備都可將包括在相應頂點組中的頂點之中的僅僅一個或僅僅一些頂點或者3D場景中的至少一個著色點確定為著色點。當被確定為必要的或所期望的時,除3D場景中的3D對象的例如相應頂點組的頂點之中的一些頂點之外,3D渲染設備還可將3D場景中的非頂點點確定為著色點。因此,例如,在無需如通過典型頂點著色器光著色方法或典型像素著色器光著色方法會分別執(zhí)行的那樣對3D場景中的3D對象的全部頂點或像素執(zhí)行著色的情況下,3D渲染設備可通過基于3D場景的空間特征或時間特征確定著色點來更加有效地執(zhí)行著色。將參照圖3提供對通過3D渲染設備確定著色點的更加詳細的描述。

在操作220中,例如,在已經(jīng)確定了著色點之后,3D渲染設備對確定的著色點執(zhí)行著色。3D渲染設備可通過對著色點執(zhí)行著色來確定作為著色點的著色值的著色點的顏色值。例如,著色可基于至少一個虛擬光源的照明效果。照明效果可基于從虛擬光源發(fā)出的光的特征(例如,光的顏色和方向)和3D場景中的3D對象的特征(例如,3D對象的顏色和材料),并可包括遮擋的陰影效果。虛擬光源可包括被配置為直接向3D對象發(fā)出光的直接光源和被配置為從自直接光源發(fā)出的光被反射、衍射或折射的區(qū)域發(fā)出光的間接光源。

例如,圖8A和圖8B是示出直接光源與間接光源之間的關系的示例的示圖。直接光源和間接光源是向計算機圖形中的3D對象提供照明效果的虛擬光源。直接光源是被配置為直接向3D對象發(fā)出光的虛擬光源,間接光源是被配置為從自直接光源發(fā)出的光被反射、衍射或折射的區(qū)域發(fā)出光的虛擬光源。

圖8A示出3D模型中的3D對象820和3D對象830以及直接光源810。雖然出于描述的方便而在圖8A中示出單個直接光源,但是多個直接光源可出現(xiàn)在3D模型中。參照圖8A,直接光源810直接向3D對象820發(fā)出光。基于直接光源810與3D對象820之間的位置關系,在3D對象820將被渲染的虛擬空間中確定亮區(qū)域和暗區(qū)域。從直接光源810發(fā)出的光可被3D對象820反射、衍射或折射。例如,如圖8A中所示,從直接光源810輸出的光840可被3D對象820反射,并再次被作為另一3D對象的3D對象830(例如,包圍3D對象820的墻)反射??砂凑仗摂M相機815的視點渲染3D對象820和3D對象830,并可將渲染后的圖像提供給用戶。

除從直接光源810輸出的光的直接照明效果之外,3D渲染設備還可施加從間接光源輸出的光的照明效果,并產(chǎn)生精細的渲染后的圖像。

在另一實施例中,3D渲染設備可通過在3D空間中除布置直接光源之外還布置間接光源來獲得更加逼真的照明效果。

例如,圖8B示出例如位于從直接光源810輸出的光840將被3D對象820反射的區(qū)域的間接光源855以及例如位于光840將被3D對象830反射的區(qū)域的間接光源850和間接光源860。在渲染3D對象820和3D對象830的操作中,除直接光源810的照明效果之外,間接光源850、間接光源855和間接光源860的照明效果可被施加到3D對象820和3D對象830。間接光源850、間接光源855和間接光源860可受直接光源810的影響,并還受間接光源850、間接光源855和間接光源860所位于的區(qū)域的特征的影響。例如,間接光源850、間接光源855和間接光源860的照明效果可受間接光源850、間接光源855和間接光源860中的每一個所位于的3D對象的表面的顏色或材料影響。

回到圖2,在操作230中,3D渲染設備基于操作220中執(zhí)行的著色的結果確定3D場景的著色信息。3D渲染設備可使用插值來確定3D場景的整體著色信息。例如,3D渲染設備可通過對操作220中確定的著色點的著色值進行插值來確定與著色點鄰近的頂點(即,在操作220中未執(zhí)行著色的頂點)的著色值。雖然將頂點與一個或更多個著色點中的每個著色點之間的距離應用作為權值并執(zhí)行插值的重心插值(barycentric interpolation)可在這里被使用,但是插值不限于這樣的重心插值,而且各種類型的插值可被使用。

如上所述,3D渲染設備可存儲所確定的操作220中被執(zhí)行著色的著色點的著色值,并存儲通過操作230中的插值確定的頂點的著色值。著色點的著色值和頂點的著色值可被分別存儲在例如一個或更多個實施例的圖形處理器(GPU)的紋理緩沖器中,并且存儲的著色值可用于對后續(xù)圖像幀執(zhí)行的著色以及用于針對后續(xù)管線操作確定像素的顏色值。此外,著色點和頂點的位置和屬性可被存儲在紋理緩沖器中。使用存儲的著色值,3D渲染設備可減少用于著色操作的計算量或運算量并減少閃爍的發(fā)生。在一個或更多個實施例中,作為非限制性的示例,GPU可由圖9的頂點著色器910和/或像素著色器920以及著色點著色器930中的一個或更多個的組合或圖10A或圖10B的處理器1020或處理器1020和存儲器1030的組合表示。這里,還注意到,圖9的頂點著色器910、像素著色器920和著色點著色器930中的每一個可分別或共同包括用于存儲或緩存操作之間的信息的存儲器(即,高速緩沖存儲器),CPU還可包括或訪問可存儲例如針對不同場景、幀或對象的用于圖形處理并由GPU的圖形管線輸出的多種3D圖形信息的外部存儲器。

在示例中,3D渲染設備可自適應地或選擇性地更新3D場景的連續(xù)圖像幀中的頂點的著色值。因此,圖像幀中的相應頂點的著色值可根據(jù)不同的時間間隔來更新。著色值的更新可包括通過執(zhí)行著色來確定頂點的著色值。例如,3D渲染設備可通過對每個圖像幀執(zhí)行著色來更新靠近屏幕的頂點(例如,具有表示更加顯著或明顯的頂點的較小的深度或靠近的位置)的顏色值,并按照預設數(shù)量的圖像幀的間隔更新距屏幕遠或陰影區(qū)域中出現(xiàn)的頂點(例如,具有表示不太顯著或明顯的頂點的遠處位置或陰影區(qū)域位置)的顏色值,而不是針對每個圖像幀更新顏色值。按這種方式,與為了圖像質量的目的而不管頂點的顯著度或明顯度將同時更新所有頂點的著色信息的典型頂點級別著色方法相比,通過觀察而可能更加顯著或明顯的頂點的著色值可比不太顯著或明顯的頂點的著色值被更頻繁地更新。

3D渲染方法還可基于3D場景的著色信息產(chǎn)生渲染后的圖像。3D渲染設備可基于著色點的著色值和通過插值確定的頂點中的任意一個頂點的著色值來確定包括在渲染后的圖像中的像素的顏色值。例如,3D渲染設備的著色點著色器或像素著色器可通過對一個或更多個著色點的著色值以及與正被渲染的特定像素鄰近的一個或更多個頂點的著色值進行插值來確定當前像素的像素值??蓪Πㄔ阡秩竞蟮膱D像中的每個像素重復地執(zhí)行這樣的插值,并可通過重復執(zhí)行插值來產(chǎn)生渲染后的圖像。在像素著色器為顏色值確定而執(zhí)行插值的示例中,由著色點著色器存儲到僅作為示例的紋理緩沖器中的著色值可被像素著色器訪問或被提供給像素著色器,或者所述著色值可在沒有存儲在這樣的紋理緩沖器中的情況下直接由著色點著色器提供。

圖3是示出確定著色點的方法的示例的流程圖。

參照圖3,在操作310中,3D渲染設備可將3D場景中的頂點分組成多個頂點組。3D渲染設備可基于頂點各自的位置和屬性(例如,僅作為示例,基于頂點的法線和顏色,基于對先前圖像幀執(zhí)行的相應著色的結果或基于頂點是否包括在同一3D對象中)將頂點分組成頂點組。作為示例,3D渲染設備可將頂點之中被估計為具有相似屬性的頂點設置為頂點組。

在示例中,3D渲染設備可將位置彼此鄰近并具有相似屬性(例如,法線、深度和顏色)的頂點分組到同一頂點組。3D渲染設備可基于初步的估計或對先前圖像幀執(zhí)行的著色的結果來確定被估計為具有相似屬性的頂點。例如,3D渲染設備可將先前圖像幀中具有相似顏色的頂點分組成當前幀的同一頂點組。

在另一示例中,3D渲染設備可將包括在相同3D對象中的頂點或具有相似形狀特征的頂點分組成相同的頂點組。在又另一示例中,3D渲染設備可基于頂點的顏色隨時間(例如,在幀之間)的變化將顏色隨時間(例如,在幀之間)變?yōu)楸舜讼嗨频捻旤c分組成相同的頂點組,而不管彼此之間的空間分離。

3D渲染設備可針對每個頂點組確定與一個或更多個著色點關聯(lián)的層次結構信息。層次結構信息可基于將在操作320中被確定的著色級別來定義將被執(zhí)行著色的著色點的層次結構。例如,層次結構信息可以是將頂點組的頂點組織成一個或更多個不同的級別,其中,所述一個或更多個不同的級別基于確定的著色級別分別限定哪個頂點或非頂點點被確定為著色點或者頂點或非頂點點是否被確定為著色點。在實施例中,還可將層次結構信息視為樹結構,例如,在所述樹結構中,根據(jù)頂點被布置在樹結構的哪個級別,可針對頂點和/或可能的一個或更多個非頂點著色點中的一個或更多個的最終著色確定著色采樣。因此,在下面,當討論著色級別時,正如低級別被理解為包括比另一級別更多的著色點的那樣,可理解高級別表示包括比另一級別更少的著色點的頂點著色點和/或非頂點著色點的著色采樣/集合。例如,當著色級別被調高時,頂點組中將確定的著色點的數(shù)量會減少。當著色級別被調低時,頂點組中將確定的著色點的數(shù)量會增加。作為供替代的選擇,一些高級別和低級別可表示采樣點的整體數(shù)量相同,但被確定為著色點的頂點的數(shù)量分別更少或更多,或者采樣點的整體數(shù)量相同但非頂點著色點的數(shù)量分別更少或更多。

在操作320中,3D渲染設備基于與著色點關聯(lián)的層次結構信息針對每個頂點組確定著色級別。將被執(zhí)行著色的頂點組中的至少一個著色點可基于著色級別來確定。這里,包括在頂點組中的頂點中的一些頂點可被確定為著色點,或者3D場景中不是頂點所位于的點的另一點可被確定為示例非頂點著色點。

3D渲染設備可基于所分析出的3D場景的時間特征(例如,虛擬光源、虛擬相機和3D對象基于時間的移動)或所分析出的3D場景的空間特征(例如,頂點的位置和相鄰頂點之間的亮度差)確定著色級別或著色級別的變化。這里,基于3D場景的時間特征和/或空間特征分析,可針對頂點組確定不同的著色級別,或可針對頂點組確定轉換到更高級別或更低級別的期望。

在時域中,當虛擬光源、虛擬相機或3D對象的移動速度大于各自的閾值時,3D渲染設備可將著色級別調高以例如減少著色點的數(shù)量。因此,用于根據(jù)典型著色級別執(zhí)行著色所將花費的時間量可被減少。當選擇、需要或確定期望快速的渲染處理時,3D渲染設備可將整體著色級別調高。相反地,當虛擬光源、虛擬相機或3D對象的移動速度小于這樣的閾值時,3D渲染設備可為了更精細的表達而將著色級別調低以例如增加著色點的數(shù)量。這里,這樣的各自的移動速度閾值可相同或不同,并可隨著移動速度不同而線性或非線性地改變。

可基于3D場景的時間特征來自適應地確定著色級別。例如,當虛擬相機或3D對象的移動速度較高時(例如,諸如在虛擬相機或3D對象被確定為與在先前幀之間相比在最新幀之間已經(jīng)移動了更大的量的情況下),著色級別可被調高。相反地,當虛擬相機或3D對象的移動速度較低時,著色級別可被調低。

3D渲染設備可使用先前圖像幀的顏色信息估計每個區(qū)域基于時間的亮度變化,并將亮度變化大的區(qū)域的著色級別調低且將亮度變化小的區(qū)域的著色級別調高。為了識別將著色級別調低或調高的充分度,所確定的亮度變化可與各自的可相同或不同并可隨著亮度級別不同而線性或非線性地改變的較低/較高的亮度變化閾值進行比較。

當頂點在空間域中位于屏幕的所確定的中心區(qū)域中或所確定的或用戶選擇的感興趣區(qū)域(ROI),或者當相鄰頂點之間的亮度變化被確定為大時,3D渲染設備可為了更精細的表達而將著色級別調低。相反,當頂點被確定為位于屏幕的外圍,或相鄰頂點之間的亮度變化被確定為小時,3D渲染設備可例如為了減少著色點的數(shù)量而將著色級別調高,并提高渲染處理的速度。這里,例如,在對當前幀中的相鄰頂點執(zhí)行著色之前,3D渲染設備可使用先前圖像幀的著色信息估計當前幀中的相鄰頂點之間的亮度差。

3D渲染設備還可針對例如自動地或基于用戶交互或選擇而被確定或設置為聚焦的區(qū)域以及其余區(qū)域設置不同的著色級別,或者針對模糊效果被自動設置或被用戶設置為應用到的區(qū)域以及其余區(qū)域設置不同的著色級別。例如,在諸如頭戴式顯示器(HMD)的基于鏡頭的裝置中,通過用戶的眼睛看到的像素的大小和密度可不同。在這樣的示例中,3D渲染設備可在將被自動聚焦的中心區(qū)域或檢測到目光的區(qū)域中將著色點的密度設置得相對較高,并針對包括中心區(qū)域或檢測到目光的區(qū)域的地區(qū)或區(qū)域將著色級別調低。在這個示例中,3D渲染設備可在除中心區(qū)域或檢測到目光的區(qū)域之外的其余區(qū)域中將密度設置得相對低,并針對其余區(qū)域將著色級別調高。

在示例中,3D渲染設備可例如從最高著色級別開始確定每個頂點組的最佳著色級別,并按照降序貫穿著色級別向最低著色級別進行,其中,最高著色級別是最粗的著色級別。3D渲染設備可貫穿全部著色級別進行或在到達最低著色級別之前在確定的最佳級別停止。例如,3D渲染設備可基于與著色點關聯(lián)的層次結構信息,將基于第一著色級別執(zhí)行第一著色的結果與基于第二著色級別執(zhí)行第二著色的結果進行比較,并可根據(jù)比較的結果基于第一著色與第二著色之間的著色級別的差來計算顏色值的差,其中,第一著色級別是最高著色級別,第二著色級別低于第一著色級別。由于根據(jù)與著色點關聯(lián)的層次結構信息,第二著色級別低于第一著色級別,所以在第二著色級別,著色點的數(shù)量可大于在第一著色級別的著色點的數(shù)量。響應于所計算的顏色值的差小于閾值,3D渲染設備可將作為當前著色級別的第一著色級別確定為當前頂點組的著色級別。相反地,響應于所計算的顏色值的差大于或等于閾值,3D渲染設備可基于第二著色級別和第三著色級別計算顏色值的差,并可確定所計算的差是否小于閾值,其中,第三著色級別是低于第二著色級別的著色級別。響應于所述差小于閾值,3D渲染設備可將第二著色級別確定為當前頂點組的著色級別。3D渲染設備可用更低著色級別重復地執(zhí)行所計算出的顏色值的差的比較處理,直到將顏色值的差變得小于閾值的著色級別確定為將被應用到當前頂點組的最終著色級別為止,或者直到到達最低著色級別(在這種情況下,最低著色級別被設置為將被應用到當前頂點組的最終著色級別)為止。

從最高著色級別開始確定將被應用到頂點組的最佳著色級別的操作可每當圖像幀被渲染時被執(zhí)行,或可每當相機視點、光源的位置或對象的位置改變時被執(zhí)行。在另一實施例中,從最高著色級別開始確定將被應用到頂點組的最佳著色級別的操作可不每當圖像幀被渲染時執(zhí)行,而可僅在相機視點、光源的位置或對象的位置改變時或當預定數(shù)量的幀或時段已經(jīng)過去時被執(zhí)行。然而,示例的范圍不限于這里描述的示例。當3D渲染設備確定相機視點、光源的位置或對象的位置的變化在連續(xù)圖像幀之間不夠大時,針對當前圖像幀確定著色級別的操作可被省略,并且在先前圖像幀中確定的著色級別可被應用在當前幀的著色中。變化的充分性可基于變化是否滿足變化閾值。

在操作330中,3D渲染設備可基于著色級別針對每個頂點組確定至少一個著色點,例如,在實施例中,每個著色級別可包括至少一個著色點,一些實施例使每個較低級別比較高級別具有更多數(shù)量的可確定的著色點。3D渲染設備可基于每個頂點組的層次結構信息確定根據(jù)著色級別將被實際執(zhí)行著色操作的著色點。

更具體地,針對頂點組的每個著色級別,可根據(jù)以下項中的任意一項確定著色點:(1)著色點可包括僅包括在當前頂點組中的全部頂點;(2)著色點可包括全部頂點以及一個或更多個另外的非頂點點;(3)著色點可包括當前頂點組的頂點中的僅一些頂點;(4)著色點可包括頂點中的僅一些頂點以及一個或更多個另外的非頂點點;(5)著色點可包括一個或更多個非頂點點而不包括頂點;(6)針對當前頂點組可不設置或確定著色點,所以可能針對當前頂點組可不執(zhí)行相應的著色。例如,在整個3D場景中,針對對應于頂點組的區(qū)域,包括在頂點組中的全部頂點可根據(jù)選項(1)被確定為著色點。針對對應于另一頂點組的區(qū)域,不是包括在其他頂點組中的頂點的至少一個點可被確定為著色點。此外,如上面此所提到的,針對不同的頂點組可有所不同的確定著色級別。此外,作為示例,雖然在上面的選項(3)和選項(4)中,頂點中的僅一些頂點可被確定為著色點,但是針對用于不同頂點組的選項(3)和選項(4),確定的頂點的數(shù)量或相對位置可不同,這正如針對用于不同頂點組的選項(2)、選項(4)和選項(5)中的任意一個,選項(2)、選項(4)和選項(5)的非頂點點的數(shù)量或相對位置可不同。

圖4是示出確定著色點的示例的示圖。在圖4的示例中,參考標記410表示包括多個頂點(例如,頂點422、頂點424、頂點426、頂點428、頂點430、頂點432和頂點434)的3D對象,參考標記440表示針對3D對象410確定的多個著色點(例如,著色點422、著色點424、著色點430、著色點434、著色點450、著色點452、著色點454和著色點456)。

在典型的基于頂點的渲染方法中(例如,在僅在頂點著色器中典型地執(zhí)行光著色的情況下),將對3D對象410的頂點422至頂點434中的每個頂點執(zhí)行著色。然而,在一個或更多個實施例中,3D渲染設備可基于3D場景的時間特征和/或空間特征自適應地確定將被執(zhí)行著色操作的那些點。如在圖4中所示,3D渲染設備確定3D對象410的頂點422至頂點434中的僅一些頂點將是將被執(zhí)行著色的著色點,例如,將僅對頂點422、頂點424、頂點430和頂點434執(zhí)行著色,此外,3D渲染設備還確定也將對另外的非頂點點(例如,點450、點452、點454和點456)執(zhí)行著色。相應地,根據(jù)所確定的這樣的所選頂點和另外的非頂點點的相應著色級別,3D渲染設備可僅對點422、點424、點430、點434、點450、點452、點454和點456執(zhí)行著色。此后,3D渲染設備可使用來自對著色點422、著色點424、著色點430、著色點434、著色點450、著色點452、著色點454和著色點456執(zhí)行著色的結果來確定未被執(zhí)行著色的其余頂點(例如,頂點426、頂點428和頂點432)的著色值。例如,3D渲染設備可通過對已經(jīng)確定的著色點430、著色點452和著色點454的著色值進行插值來確定頂點432的著色值。插值可基于設置或預定數(shù)量的最近相鄰著色點或將被插值的點的設置距離內的那些最近相鄰著色點,或者二者方法的結合。

圖5是示出基于著色級別確定著色點的示例的示圖。

在圖5的示例中,參考標記510表示包括多個頂點515的3D對象。3D渲染設備可產(chǎn)生與3D對象510的頂點515關聯(lián)的層次結構信息(例如,將頂點515區(qū)分成代表不同的相應著色復雜度和增量著色復雜度的兩個或更多個層次的著色級別),并基于層次結構信息中所表示的層次著色級別中被確定的著色級別來確定執(zhí)行著色的著色點。將被執(zhí)行著色的著色點可在3D對象510中基于著色級別來確定。例如,當著色級別被調低時,將被執(zhí)行著色的著色點的數(shù)量可增加。

參照圖5,在第一著色級別520,3D對象510的頂點515中的一些頂點522可被確定為著色點。在第一著色級別520,僅頂點522將被確定為著色點,而頂點525將不會被確定為著色點。3D渲染設備可對作為著色點的頂點522執(zhí)行著色,以確定它們各自的著色值,然后通過分別使用頂點522的所選著色值進行插值來確定其余頂點525的著色值/對其余頂點525的著色值進行插值。在著色級別520的這個示例中,3D渲染設備可僅對頂點522執(zhí)行著色操作,而不是對全部頂點525執(zhí)行著色操作,這可造成比在全部頂點515被著色處理的情況下更快地執(zhí)行渲染。

僅作為插值的示例,3D渲染設備可對確定的著色點執(zhí)行Delaunay三角化,將區(qū)域分割成具有三角形形狀的子區(qū)域,并通過使用確定的著色點的著色值進行插值確定非著色點頂點的著色值。

在另一示例中,3D渲染設備可基于地圖集(atlas)確定頂點點和/或非頂點著色點,并對確定的頂點著色點和確定的非頂點著色點執(zhí)行著色,并通過使用確定的頂點著色點和確定的非頂點著色點的著色值進行插值來對任意的其余非著色點頂點的著色值進行確定/插值,其中,地圖集可以是相應3D對象的未折疊的網(wǎng)格。

在第二著色級別530,3D對象510的頂點515都不被確定為著色點,而是,非頂點點535被確定為著色點。3D渲染設備可對被確定為著色點的點535執(zhí)行著色,并通過對非頂點點535的著色的結果值進行插值來確定頂點532的著色值。

在第三著色級別540,與第一著色級別520類似,3D對象510的頂點515之中的頂點542被確定為著色點,導致頂點545不被確定為著色點。此外,3D對象510的區(qū)域中的非頂點點546可被另外地確定為著色點。

例如,非頂點點546的位置可被確定為與3D對象510中或3D對象510上的位置對應,或可基于使用3D對象510的區(qū)域的亮度值分布的概率值來確定。例如,當3D對象510中或3D對象510上的點的亮度值增加時,該點被確定為著色點的概率或概率值可增加。僅作為示例,如果亮度增加而超過閾值,或概率值大于閾值,則該點可被確定為著色點。亮度增加或概率值可基于例如來自先前幀的信息。3D渲染設備可對頂點542和非頂點點546執(zhí)行著色,然后通過對頂點542的著色和非頂點點546的著色的結果值進行插值來對其余的非著色點頂點545的著色值進行確定和插值。

在第四著色級別550,3D對象510的全部頂點515可被確定為著色點,可對頂點515中的每個頂點執(zhí)行著色。在這個示例中,可不存在確定的非頂點著色點。

在第五著色級別560中,除3D對象510的頂點515之外,3D對象510的非頂點點565可被另外地確定為著色點。3D渲染設備可基于3D場景的代表3D對象510的時間特征或空間特征分別確定非頂點點565。例如,當確定需要更精細的著色效果時(例如,當確定照明效果復雜時),3D渲染設備可另外地確定3D對象510的區(qū)域中/上的將被執(zhí)行著色的非頂點點565。在示例中,非頂點點565可在3D對象510的區(qū)域中/上被隨機確定。3D渲染設備可隨后對頂點515以及非頂點點565執(zhí)行著色。在這個示例和第四著色級別550的示例中,由于對全部頂點515執(zhí)行著色,對其它點的進一步的插值不是必要的。

圖6是示出基于對著色點執(zhí)行著色的結果確定頂點的著色值的示例的示圖。

在圖6的示例中,假設3D對象610包括多個頂點612至626。在示出的階段630中,3D渲染設備將將被執(zhí)行著色的著色點確定為包括頂點612至頂點622中的一些頂點(例如,頂點614、頂點616、頂點622和頂點624),并還包括3D對象610中的非頂點點(例如,非頂點點632、非頂點點634和非頂點點626)。3D渲染設備隨后對確定的著色點614、著色點616、著色點622、著色點624、著色點632、著色點634和著色點636執(zhí)行著色。3D渲染設備還基于著色值(例如,在執(zhí)行著色的操作中確定的著色點614、著色點616、著色點622、著色點624、著色點632、著色點634和著色點636的顏色值)確定非著色點頂點(例如,頂點612、頂點618、頂點620和頂點626)的著色值。例如,在示出的階段640中,3D渲染設備通過對與頂點626鄰近的著色點622、著色點624、著色點634和著色點636的著色值進行插值來確定頂點626的著色值。類似地,3D渲染設備使用類似的上述插值處理來確定未被執(zhí)行著色的其余非著色點頂點(例如,頂點612、頂點618和頂點620)的著色值。著色點614、著色點616、著色點622、著色點624、著色點632、著色點634和著色點636的著色值以及通過插值確定的頂點612、頂點618、頂點620和頂點626的著色值可被存儲在諸如存儲器或紋理緩沖器中。存儲的著色值可隨后用于將對后續(xù)圖像幀執(zhí)行的著色。

圖7是示出基于著色點的著色值確定渲染后的圖像的像素值的示例的示圖。

在圖7的示例中,假設在示出的階段710中分別確定3D對象中/上的頂點(例如,頂點715、頂點720和頂點725)和非頂點點(例如,非頂點點730和非頂點點735)的著色值。在示出的階段740中,3D渲染設備通過針對每個像素基于頂點715、頂點720和頂點725以及非頂點點730和非頂點點735的著色值執(zhí)行顏色插值來確定像素的著色值。例如,如在圖7中所示,3D渲染設備通過對與像素750鄰近的頂點725的著色值以及點730和點735的顏色值進行插值來確定像素750的顏色值。3D渲染設備可重復執(zhí)行上述內容中描述的類似處理,并確定包括在渲染后的圖像中的像素的顏色值。

這里,在實施例中并僅作為示例,諸如基于由圖形管線的頂點著色器或圖形管線的可被布置在頂點著色器之后的細分曲面著色器(tessellation shader)確定的頂點,3D渲染設備的光柵化器可從3D渲染設備的相應圖形管線操作的先前階段的信息結果確定這樣的像素。諸如通過著色點著色器將頂點715、頂點720和頂點725以及非頂點點730和非頂點點735的著色值結果存儲在紋理存儲器或其他存儲器或緩沖器中,圖形管線的像素著色器可隨后被提供或獲得頂點715、頂點720和頂點725以及非頂點點730和非頂點點735的著色值結果,其中,所述著色點著色器與圖形管線分離且與圖形管線并行運行并且執(zhí)行了確定頂點715、頂點720和頂點725以及非頂點點730和非頂點點735的著色值的操作。所述著色點著色器可實施確定著色點的步驟。這里,對頂點著色器、細分曲面著色器、光柵化器和/或像素著色器的這樣的引用僅是示例,實施例不限于此。

圖9是示出3D渲染設備900的示例的示圖。參照圖9,3D渲染設備900可包括頂點著色器910、像素著色器920和著色點著色器930。在一個或更多個實施例中,頂點著色器910和像素著色器920可以是圖形管線的元件。例如,3D渲染設備900可包括多個這樣的圖形管線,其中,所述多個這樣的圖形管線中的一些或全部圖形管線還可被配置為并行運行。此外,如上面提到的,這樣的圖形管線還可在頂點著色器910與像素著色器920之間包括細分曲面階段并在這樣的細分曲面階段(或細分曲面階段不存在時的頂點著色器910)與像素著色器920之間包括光柵化器。此外,為了說明的目的,簡單陳述以下關于頂點著色器910、像素著色器920和著色點著色器930的討論,注意到上述關于圖1至圖8B的這樣的頂點著色器、像素著色器以及著色點和著色值確定的討論通過引用而被包含并類似地應用到圖9的頂點著色器910、像素著色器920和著色點著色器930。

因此,頂點著色器910可基于獲得的或提供的諸如頂點屬性信息的3D圖形數(shù)據(jù)對3D場景中的頂點執(zhí)行頂點變換,其中,頂點屬性信息可包括針對3D場景和針對3D場景中的一個或更多個對象的頂點的空間位置、顏色、法向量和紋理。僅作為非限制性的示例,頂點變換可包括變換頂點的位置、變換頂點的法向量、以及產(chǎn)生和變換紋理坐標中的至少一個。在示例中,頂點變換可包括將頂點的位置變換到歸一化的坐標空間(諸如與可最終顯示渲染后的圖像的屏幕坐標空間對應的歸一化坐標空間)。

著色點著色器930執(zhí)行參照圖1至圖8B描述的操作中的與著色處理關聯(lián)的操作。例如,著色點著色器930可將3D場景中的頂點分組成多個頂點組,并確定每個頂點組各自的著色級別。著色點著色器930可針對每個頂點組基于確定的著色級別確定將被執(zhí)行著色的一個或更多個著色點,并對確定的著色點執(zhí)行著色。著色點著色器930還可通過經(jīng)由對被執(zhí)行著色的著色點的結果著色值執(zhí)行插值確定未經(jīng)著色處理的頂點(即,未被執(zhí)行著色的頂點)的著色值來確定3D場景的著色信息。

著色點著色器930執(zhí)行頂點-單元顏色著色,這樣的顏色著色可與頂點著色器910和像素著色器920各自的渲染處理分開執(zhí)行。例如,由著色點著色器930執(zhí)行的著色可作為與頂點著色器910和像素著色器920的圖形管線分開的處理而被執(zhí)行。因此,頂點和著色點的著色值可被著色點著色器930存儲在諸如3D渲染設備900的紋理緩沖器或其他存儲器中以用于圖形管線的隨后使用,或者著色點著色器930可在不進行存儲的情況下將確定的著色值發(fā)送到圖形管線的一個或更多個階段。諸如當著色點著色器930確定頂點組中的一些頂點不需要每幀被更新時,存儲的著色值還可被用于確定后續(xù)圖像幀的著色信息,因此,與針對每幀單獨在頂點著色器中對全部頂點典型地執(zhí)行光著色的典型方法相比,圖像幀之間的相關性可增加,閃爍的發(fā)生可被降低,并且計算量可被降低。

在示例中,例如,著色點著色器930可基于先前幀中的頂點組或另一頂點組的著色結果確定每個頂點組的著色級別。著色點著色器930還可基于按不同的著色級別提供的所確定的顏色值的差來確定將被應用到每個頂點組的最佳著色級別。例如,著色點著色器930可通過對基于當前著色級別執(zhí)行著色的結果與基于低于當前著色級別的著色級別執(zhí)行著色的結果進行比較,來計算基于著色級別差的顏色值的差,并可響應于顏色值的差大于或等于閾值而調整當前著色級別。著色點著色器930可針對不同的著色級別(例如,隨著著色復雜度增加的著色級別遞增)重復地執(zhí)行這個處理,并可將基于著色級別差的顏色值的差小于閾值的著色級別最終確定為將被應用到頂點組的最佳著色級別。僅作為示例,最佳著色級別確定處理可持續(xù)直到顏色的差第一次小于閾值為止,或者最佳級別確定處理可持續(xù)至超出顏色的差小于閾值的第一著色至少一個著色級別。

在一個或更多個實施例中,當3D場景的著色信息被確定時,著色點著色器930可將著色信息傳遞到像素著色器920,或僅將著色信息存儲在可用于像素著色器920的紋理緩沖器中。像素著色器920可隨后基于獲得或提供的著色信息對每個像素執(zhí)行顏色插值。像素著色器920諸如通過圖形管線的光柵化器階段或像素著色器920的光柵化操作,使用形成像素被確定為所屬的多邊形(例如,三角形)的頂點的顏色值和被執(zhí)行著色的著色點的顏色值來執(zhí)行顏色插值,因此,渲染后的圖像中的每個像素的顏色值被確定。此外,像素著色器920可執(zhí)行紋理映射來表現(xiàn)3D對象的紋理,其中,在紋理映射中,紋理被施加到虛擬3D對象。

在另一示例中,3D渲染設備900還包括被配置為對諸如上面關于圖8B描述的間接光源進行采樣的間接光源采樣器940,其中,在圖8B中,至少反射或折射是用間接光源表示。著色點著色器930可除使用直接光源的照明信息之外還使用間接光源的照明信息執(zhí)行上述著色,因此,間接光源被間接光源采樣器940采樣。將對間接光源執(zhí)行的采樣可包括在3D空間布置間接光源。間接光源采樣器940通過調節(jié)間接光源將被布置的區(qū)域或調節(jié)將被布置在3D空間中的間接光源的數(shù)量來控制將被施加到3D對象的間接照明效果。

例如,間接光源采樣器940對因光視圖渲染(light view rendering)而產(chǎn)生的圖像中的間接光源進行采樣,或使用被應用到光的光線追蹤方法對間接光源進行采樣。例如,間接光源采樣器940可基于因光視圖渲染而產(chǎn)生的圖像的亮度分布來產(chǎn)生與亮度成比例的概率圖,并將間接光源布置在基于概率圖確定的位置。針對另一示例,間接光源采樣器940可基于光線追蹤方法確定光與3D對象碰撞的區(qū)域,并將間接光源布置在確定的區(qū)域中。

圖10A是示出3D渲染設備1010的示例的示圖。參照圖10A,3D渲染設備1010包括至少一個處理器1020和至少一個存儲器1030。

處理器1020執(zhí)行參照圖1至圖9描述的至少一個或更多個操作或全部操作。例如,處理器1020可包括圖9的3D渲染設備900中的一個或更多個,并能夠執(zhí)行另外的操作。例如,處理器1020確定3D場景中將被執(zhí)行著色的所選著色點,并對所確定的著色點執(zhí)行選擇性的著色以及選擇性地不對一個或更多個頂點執(zhí)行著色。確切地說,未被執(zhí)行著色的頂點的著色值可通過基于確定的著色點的著色結果的插值來確定。處理器1020將3D場景中的頂點分組成頂點組,并可基于由處理器1020針對每個頂點組分別確定的著色級別來確定一個或更多個著色點。處理器1020基于對著色點執(zhí)行著色的結果來確定3D場景的著色信息,并基于著色信息產(chǎn)生渲染后的圖像。渲染后的圖像可作為像素信息而被存儲在存儲器中和/或被輸出到與3D渲染設備1010連接的顯示器。用戶接口還被提供連接到3D渲染設備1010。

處理器1020可被實現(xiàn)為本領域普通技術人員所理解的邏輯門的陣列或另一類型的硬件。例如,處理器1020可代表被配置為實施上面描述的操作中的任意操作或任意組合以及固定或移動裝置的另外操作的一個或更多個處理器。例如,為了實施上面描述的著色操作中的任意操作或任意組合,處理器1020可包括用于對3D對象執(zhí)行渲染的至少一個GPU。與頂點和著色點關聯(lián)的著色信息可被存儲在GPU的紋理緩沖器中,存儲的著色信息可用于對后續(xù)圖像幀執(zhí)行著色。

存儲器1030存儲用于執(zhí)行參照圖1至圖9描述的至少一個操作的指令,和/或存儲在3D渲染設備正運行的同時獲得的數(shù)據(jù)和結果。在一些示例中,存儲器1030可包括非暫時性計算機可讀介質(例如,高速隨機存取存儲器)和/或非易失計算機可讀介質(例如,至少一個盤存儲裝置、閃速存儲器裝置和其他非易失性固態(tài)存儲器裝置)。

圖10B是示出3D渲染設備1015的示例的示圖。參照圖10B,3D渲染設備1015與圖10A類似地包括至少一個處理器1020和至少一個存儲器1030,并還包括至少一個顯示器1040和用戶接口1050。例如,處理器1020可代表被配置為實施上面描述的操作中的任意操作或任意組合以及固定或移動裝置的另外操作的單個處理器。例如,處理器1020可代表包括圖形處理器(GPU)的兩個或更多個處理器以及被配置為執(zhí)行固定或移動裝置的另外操作的至少一個其他處理器,其中,圖形處理器(GPU)包括圖9的圖形管線、著色點著色器和間接光源采樣器中的一個或更多個。處理器1020可即基于上面的著色操作將確定的像素顏色信息提供給顯示器1040。顯示器1040上的渲染后的圖像可響應于通過用戶接口1050與3D渲染設備1015進行的交互而被改變或自動改變。

通過被配置為執(zhí)行本申請中描述的由硬件組件執(zhí)行的操作的硬件組件來實現(xiàn)使用圖1至圖10B描述的執(zhí)行本申請中的描述的操作的頂點著色器和頂點著色器910、像素著色器和像素著色器920、光柵化器、著色點著色器和著色點著色器930、間接光源采樣器940、處理器、核、處理元件和處理器1020、存儲器、高速緩沖存儲器和存儲器1030、顯示器1040、用戶接口1050以及3D渲染設備、3D渲染設備1010和3D渲染設備1015??捎糜趫?zhí)行本申請中描述的操作的硬件組件的示例在適當情況下包括控制器、傳感器、生成器、驅動器、存儲器、比較器、算術邏輯單元、加法器、減法器、乘法器、除法器、積分器以及被配置為執(zhí)行本申請中描述的操作的任意其他電子組件。在其他示例中,通過計算硬件(例如,通過一個或更多個處理器或計算機)來實現(xiàn)執(zhí)行本申請中描述的操作的一個或更多個硬件組件??赏ㄟ^一個或更多個處理元件(諸如,邏輯門的陣列、控制器和算術邏輯單元、數(shù)字信號處理器、微型計算機、可編程邏輯控制器、現(xiàn)場可編程門陣列、可編程邏輯陣列、微處理器或被配置為以限定的方式響應并執(zhí)行指令以獲得期望結果的任意其他裝置或裝置的組合)來實現(xiàn)處理器或計算機。在一個示例中,處理器或計算機包括或被連接到存儲由處理器或計算機執(zhí)行的指令或軟件的一個或更多個存儲器。通過處理器或計算機實現(xiàn)的硬件組件可執(zhí)行指令或軟件(諸如,操作系統(tǒng)(OS))和在OS上運行的一個或更多個軟件應用,以執(zhí)行本申請中描述的操作。硬件組件也可響應于指令或軟件的執(zhí)行而訪問、操控、處理、創(chuàng)建和存儲數(shù)據(jù)。為了簡單,單數(shù)術語“處理器”或“計算機”可用于本申請中描述的示例的描述,但在其他示例中,多個處理器或計算機可被使用,或者處理器或計算機可包括多個處理元件或多種類型的處理元件或二者。例如,可通過單個處理器或者兩個或更多個處理器或者處理器和控制器來實現(xiàn)單個硬件組件或者兩個或更多個硬件組件??赏ㄟ^一個或更多個處理器或者處理器和控制器來實現(xiàn)一個或更多個硬件組件,可通過一個或更多個其他處理器或者另一處理器和另一控制器來實現(xiàn)一個或更多個其他硬件組件。一個或更多個處理器或者處理器和控制器可實現(xiàn)單個硬件組件或者兩個或更多個硬件組件。硬件組件可具有不同處理配置中的任意一個或多個,其示例包括單個處理器、獨立處理器、并行處理器、單指令單數(shù)據(jù)(SISD)多處理、單指令多數(shù)據(jù)(SIMD)多處理、多指令單數(shù)據(jù)(MISD)多處理和多指令多數(shù)據(jù)(MIMD)多處理。

通過計算硬件(例如,通過一個或更多個處理器或計算機)來執(zhí)行圖1至圖8中示出的執(zhí)行本申請中描述的操作的方法,其中,計算硬件被實現(xiàn)為如上面描述的執(zhí)行指令或軟件以執(zhí)行本申請中描述的由方法執(zhí)行的操作。例如,可通過單個處理器或者兩個或更多個處理器或者處理器和控制器來執(zhí)行單個操作或者兩個或更多個操作。可通過一個或更多個處理器或者處理器和控制器來執(zhí)行一個或更多個操作,可通過一個或更多個其他處理器或者另一處理器和另一控制器來執(zhí)行一個或更多個其他操作。一個或更多個處理器或者處理器和控制器可執(zhí)行單個操作或者兩個或更多個操作。

用于控制計算硬件(例如,一個或更多個處理器或計算機)實現(xiàn)硬件組件并且執(zhí)行如上面描述的方法的指令或軟件可被寫為計算機程序、代碼段、指令或其任意組合,以單獨地或共同地指示或配置所述一個或更多個處理器或計算機如機器或專用計算機那樣操作,以執(zhí)行由硬件組件執(zhí)行的操作和如上面描述的方法。在一個示例中,所述指令或軟件包括直接由所述一個或更多個處理器或計算機執(zhí)行的機器代碼(諸如,由編譯器產(chǎn)生的機器代碼)。在另一示例中,所述指令或軟件包括由一個或更多個處理器或計算機使用解釋器執(zhí)行的更高級代碼??苫诟綀D中示出的框圖和流程圖以及說明書中的相應描述使用任意的編程語言來編寫指令或軟件,其中,說明書中的相應描述公開了用于執(zhí)行由硬件組件執(zhí)行的操作和如上所述的方法的算法。

用于控制計算硬件(例如,一個或更多個處理器或計算機)實現(xiàn)硬件組件并且執(zhí)行如上所述的方法的指令或軟件以及任何相關聯(lián)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結構可被記錄、存儲或固定在一個或更多個非暫時性計算機可讀存儲介質中,或被記錄、存儲或固定在一個或更多個非暫時性計算機可讀存儲介質上。非暫時性計算機可讀存儲介質的示例包括:只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁帶、軟盤、磁光數(shù)據(jù)存儲裝置、光學數(shù)據(jù)存儲裝置、硬盤、固態(tài)盤和被配置為進行以下操作的任意其它裝置:以非暫時性的方式存儲指令或軟件以及任何相關聯(lián)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結構,并將指令或軟件以及任何相關聯(lián)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結構提供給一個或更多個處理器或計算機,以便所述一個或更多個處理器或計算機能執(zhí)行指令。在一個示例中,所述指令或軟件以及任何相關聯(lián)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結構被分布在聯(lián)網(wǎng)的計算機系統(tǒng)上,使得所述指令和軟件以及任何相關聯(lián)的數(shù)據(jù)、數(shù)據(jù)文件以及數(shù)據(jù)結構通過一個或更多個處理器或計算機以分布式的方式被存儲、訪問和執(zhí)行。

僅作為非窮舉的示例,如這里所述以及如在圖9和圖10A至圖10B中所示的3D渲染設備可代表移動裝置(諸如,蜂窩電話、智能電話、可穿戴智能裝置(諸如,戒指、手表、一副眼鏡、手鐲、腳鐲、腰帶、項鏈等)、便攜式個人計算機(PC)(諸如,膝上型計算機、筆記本電腦、小型筆記本電腦、上網(wǎng)本或超移動PC(UMPC)、平板PC(平板電腦)、平板手機、個人數(shù)字助理(PDA)、數(shù)碼相機、便攜式游戲機、MP3播放器、便攜式/個人多媒體播放器(PMP)、手持電子書、全球定位系統(tǒng)(GPS)導航裝置)或傳感器或固定裝置(諸如,臺式PC、高清電視(HDTV)、DVD播放器、藍光播放器、機頂盒、或家電)、或被配置為執(zhí)行無線通信或網(wǎng)絡通信的任意其他移動或固定裝置。在一個示例中,可穿戴裝置是被設計為可直接安裝在用戶的身體上的裝置(諸如,一副眼鏡或手鐲)。在另一示例中,可穿戴裝置是使用附接裝置安裝在用戶的身體上的任意裝置(諸如,使用臂帶附著到用戶的胳膊或使用系索環(huán)掛在用戶的脖子的智能電話或平板電腦)。

雖然本公開包括特定示例,但是在理解本申請的公開之后將清楚的是:在不脫離權利要求和它們的等同物的范圍的情況下,可對這些示例進行形式和細節(jié)上的各種改變。在此描述的示例應僅在描述意義上考慮,而非為了限制的目的。在每個示例中的特征或方面的描述將被視為可被應用于其它示例中的相似特征或方面。如果以不同的順序執(zhí)行描述的技術,和/或如果描述的系統(tǒng)、架構、裝置或電路中的組件以不同方式被組合和/或被其它組件或其等同物替代或補充,則可實現(xiàn)合適的結果。因此,本公開的范圍并非由具體實施方式限定,而是由權利要求和它們的等同物所限定,并且在權利要求和它們的等同物的范圍內的所有變化將被解釋為被包括在本公開中。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武夷山市| 遂溪县| 鹤庆县| 东明县| 樟树市| 彰化县| 大厂| 信丰县| 金秀| 图木舒克市| 陵水| 安岳县| 平阴县| 崇阳县| 射阳县| 曲周县| 永登县| 庆元县| 桃源县| 牡丹江市| 留坝县| 平舆县| 宝坻区| 孟津县| 高陵县| 南城县| 政和县| 舟山市| 隆安县| 哈巴河县| 精河县| 金湖县| 辽宁省| 扎赉特旗| 镇赉县| 镇康县| 和田县| 读书| 黄浦区| 平远县| 双城市|