專利名稱:在圖像渲染中改進(jìn)樣本測試效率的無剪裁時(shí)間和鏡頭界限的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像渲染,并且尤其涉及在圖像渲染應(yīng)用中改進(jìn)樣本測試效率。
背景技術(shù):
高質(zhì)量圖像的渲染依賴于對形成該圖像的每一個像素進(jìn)行精確的顏色計(jì)算。通過將樣本點(diǎn)(sample point)分布跨越每一個像素、測試哪些樣本點(diǎn)被圖像中待渲染基元(primitive)所重疊、以及基于那些被重疊以及未被重疊的樣本點(diǎn)為像素計(jì)算顏色,來改進(jìn)該顏色計(jì)算的精確度。樣本測試算法(有時(shí)稱做“點(diǎn)包容測試(point in polygon test)”)確定屏幕空間區(qū)域(通常是像素)的哪些樣本被基元所重疊,以及這些算法的質(zhì)量可基于其“樣本測試效率”(STE),該術(shù)語指的是對給定的屏幕空間區(qū)域例如像素而言,被基元所重疊的樣本點(diǎn)數(shù)量與所測試的樣本點(diǎn)數(shù)量的對比。高STE表明有效率的樣本測試算法,此時(shí)有高比例的測試樣本點(diǎn)實(shí)際或可能被基元所重疊。在移動模糊(motion blur)和景深(depth of field)渲染效果的情形下,改進(jìn)STE的技術(shù)是有用的,此時(shí)這兩種效果均涉及潛在穿過大量像素、導(dǎo)致大量潛在的必須考慮進(jìn)行測試的樣本點(diǎn)的基元。當(dāng)相機(jī)和/或幾何體移動而虛擬相機(jī)快門為開時(shí),發(fā)生移動模糊。雖然在幀曝光期間該移動理論上可以是任意的,但在電影工業(yè)中已經(jīng)觀察到通過假定在快門開(t=0)和關(guān)(t=l)之間的線性移動,通??梢粤钊藵M意地對頂點(diǎn)移動簡化。在隨機(jī)光柵化中,對幀緩沖區(qū)進(jìn)行一般化處理從而使每個樣本除屏幕空間(X,y)位置之外還具有附加的屬性。為了支持移動模糊,為每個幀緩沖區(qū)樣本指定時(shí)間值。在不存在移動時(shí),該幀緩沖區(qū)完全如現(xiàn)有操作那樣,提供空間的反混疊(antialiasing)。存在移動時(shí),則僅當(dāng)在采樣的時(shí)候三角形重疊樣本時(shí)才更新該樣本?,F(xiàn)有技術(shù)描述了幾種將三角形內(nèi)插到指定時(shí)間的方式。一種方法如SIGGRAPH1990會議記錄中第309-318頁由P. Haberli和K. Akeley所著的“累加緩沖區(qū)對高質(zhì)量渲染的硬件支持”,以及如高性能圖形2009會議記錄中由K. Fatahalian、E. Luong、S. Boulos、K. Akeley, ff. Mark以及P. Hanrahan所著的“具有去焦以及移動模糊的微多邊形的并行數(shù)據(jù)光柵化”所描述的。這種方法涉及在三角形設(shè)置之前將基元頂點(diǎn)內(nèi)插到齊次剪裁空間(homogeneous clip space)中,因此對于每個各異的時(shí)間需要單獨(dú)的三角形設(shè)置/渲染通道。然而簡化實(shí)現(xiàn)時(shí),這一方法難以適應(yīng)每像素的大量樣本,并且由于唯一時(shí)間值的固定(通常很小)集,可能會損壞圖像質(zhì)量。第二種常規(guī)方法是為整個曝光時(shí)間識別用于“連續(xù)時(shí)間三角形”(TCT)的屏幕空間界限(bound),隨后通過將三角形內(nèi)插到當(dāng)前樣本的時(shí)間來測試所有被覆蓋像素中的全部樣本,如高性能圖形2009會議記錄中由T. Akenine-Moller^ J- Munkberg以及J. Hasselgren所著的“使用連續(xù)時(shí)間三角形的隨機(jī)光柵化”的公開內(nèi)容所描述的??赡艿膶?shí)現(xiàn)至少包括連續(xù)時(shí)間邊緣函數(shù)(約為傳統(tǒng)2D邊緣開銷的三倍)以及光線-三角形交叉。由于可為每個樣本設(shè)置唯一的時(shí)間值,因此TCT提供了高圖像質(zhì)量,但隨之而來的缺點(diǎn)是低STE。當(dāng)三角形迅速移動時(shí),它能夠覆蓋屏幕上相當(dāng)大的區(qū)域,然而同時(shí)我們希望它不管是否移動,均覆蓋大致恒定數(shù)量的樣本。因此對于快速移動而言STE會大幅度衰減,并且在現(xiàn)實(shí)情況中有可能低至1%。第三種方法如美國專利4,897,806所述,借此將曝光時(shí)間分割為多層(通常,層數(shù)等于每像素的樣本數(shù)量),以及為每一層調(diào)用上述第二種方法。這顯著改進(jìn)了 STE,但對于通常在快速渲染圖形(4-16樣本/像素)中所遭遇的低采樣密度來說,該方案的效率并不是最·佳的。在圖像渲染中另一個挑戰(zhàn)在于如何處理到達(dá)相機(jī)平面之后的基元。處理這類基元的可能方法是按時(shí)間剪裁這一基元,產(chǎn)生若干子跨度(sub-span),所述子跨度中由穿越相機(jī)平面移動的剪裁頂點(diǎn)取代對邊緣的剪裁。不幸的是,剪裁頂點(diǎn)的移動并非是屏幕空間仿射的(affine),因此需要對它們的移動進(jìn)行逼近(approximation),這使得其很難與參考渲染相匹配。在圖像渲染中額外的挑戰(zhàn)是對在世界空間中仿射移動的頂點(diǎn)進(jìn)行渲染。當(dāng)頂點(diǎn)在世界空間中仿射移動時(shí),這是常見的逼近方式,由于透視轉(zhuǎn)換使產(chǎn)生的屏幕空間移動是非線性的。因此,如果已假定是線性的屏幕空間移動,則移動模糊化的圖像將無法與真正的實(shí)際渲染相對應(yīng),該真正的實(shí)際渲染將通過在幀中將在規(guī)律間隔的時(shí)間瞬間處所獲得的大量圖像歸總在一起而獲得。該區(qū)別通常很小,但當(dāng)運(yùn)動朝向或遠(yuǎn)離相機(jī)附近的觀察者時(shí),結(jié)果將明顯不同??紤]到常規(guī)方法的缺點(diǎn),需要一種新的用于在圖像渲染中提供改進(jìn)樣本測試效率的方法。
發(fā)明內(nèi)容
本發(fā)明提供了用于減少為渲染圖像的屏幕空間區(qū)域所測試的樣本數(shù)量的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。所述方法包括構(gòu)建在待渲染圖像中延伸的基元的軌跡。為所述圖像的屏幕空間區(qū)域構(gòu)建邊界體,所述邊界體特點(diǎn)為具有被定義為基元軌跡的函數(shù)的在非屏幕空間維度中的界限。所述邊界體進(jìn)一步具有與部分所述待渲染屏幕空間區(qū)域重疊的特點(diǎn)。從測試中排除位于所述屏幕空間區(qū)域且未被所述邊界體所重疊的一個或多個樣本點(diǎn)。前述方法發(fā)現(xiàn)了圖像渲染中的特定應(yīng)用,其一示范性方法包括前述操作,還包括以下附加操作識別待渲染屏幕空間區(qū)域,對位于所述屏幕空間區(qū)域并被所述基元的所述邊界體所重疊的樣本點(diǎn)進(jìn)行測試,以及基于所測試的樣本點(diǎn)渲染所述屏幕空間區(qū)域。
結(jié)合以下附圖以及示范性實(shí)施例的具體描述來更好的理解本發(fā)明的這些或其他特征。
圖I示出了根據(jù)本發(fā)明的一個實(shí)施例,在相機(jī)空間中三角形的移動;圖2A-2G示出了根據(jù)本發(fā)明,基元邊界線和邊界頂點(diǎn)的構(gòu)成;圖2H示出了對于圖2A-2G中示出的基元,計(jì)算作為對偶空間中的左、右邊界線函數(shù)的T界限;圖21示出了根據(jù)本發(fā)明,利用計(jì)算出的T界限來構(gòu)建邊界體;
圖3A-3C示出了根據(jù)本發(fā)明,用于計(jì)算T界限的第二實(shí)施例;圖4A和4B示出了根據(jù)本發(fā)明,在屏幕空間中表現(xiàn)出作為水平鏡頭維度(U)函數(shù)的視移動的三角形;圖5A和5B示出了根據(jù)本發(fā)明,分別作為水平和垂直鏡頭維度(U)和(V)函數(shù)的邊界體;圖6A示出了根據(jù)本發(fā)明,針對鏡頭在X圖像空間坐標(biāo)及其相應(yīng)的U鏡頭空間坐標(biāo)中的極限位置所計(jì)算的示范性界限;圖6B示出了根據(jù)本發(fā)明,穿過右視錐平面的凸殼的示范性實(shí)施例;圖7示出了根據(jù)本發(fā)明,用于減少為渲染圖像區(qū)域所測試的樣本數(shù)量的示范性方法;圖8示出了根據(jù)本發(fā)明,用于渲染圖像區(qū)域的示范性方法;圖9示出了根據(jù)本發(fā)明,其中實(shí)施圖1-8所描述的方法的示范性系統(tǒng);以及圖10示出了根據(jù)本發(fā)明,圖9中所示的示范性圖形處理子系統(tǒng)。為清楚起見,在后面的附圖中保持在先所描述特征的參考標(biāo)記。
具體實(shí)施例方式本發(fā)明提出了用于減少為渲染圖像的屏幕空間區(qū)域所測試的樣本數(shù)量的系統(tǒng)和方法,本發(fā)明對此進(jìn)行了描述。該系統(tǒng)和方法實(shí)現(xiàn)了使用非屏幕空間界限來構(gòu)造邊界體,其示范性的是軸對齊邊界框(axis-aligned bounding box),例如維度t以及鏡頭(lens)坐標(biāo)u或V。就頂點(diǎn)在世界/相機(jī)空間中的仿射移動來描述對這些非屏幕空間界限t、u或V的計(jì)算,這一移動轉(zhuǎn)譯為在屏幕空間中的非線性移動。特別是,對非線性空間界限t、u、v進(jìn)行計(jì)算使得考慮到基元和相機(jī)之間所有可能的幾何配置。進(jìn)一步示范性地,對于對非線性空間界限的計(jì)算消除了對于剪裁的需求,即消除了將該移動分割為多時(shí)間間隔的需求。圖I示出了根據(jù)本發(fā)明的一個實(shí)施例,在相機(jī)空間中三角形110的移動??偟膩碚f,左和右視錐(frustum)平面(線)112和114定義了相機(jī)空間120,在該相機(jī)空間120內(nèi)示出了移動的三角形110。該示意圖假定沒有景深,即鏡頭是空間中的點(diǎn),并且在此情形下,圍繞頂點(diǎn)沒有散光圈(circle of confusion)。水平軸例如是相機(jī)空間x軸,以及垂直軸是相機(jī)空間ζ軸(或者,在示范性實(shí)施例中,是已應(yīng)用投影矩陣之后的w軸)。在示范性的后視角空間中,該視錐平面112和114的每一者均與相機(jī)點(diǎn)113的視準(zhǔn)軸(bore sight) /零度觀察方向116呈45度角傾斜。X和y維界限被分別處理,并因此在兩個維度的每一者中執(zhí)行計(jì)算。T界限的計(jì)算根據(jù)本發(fā)明,在相機(jī)空間中定義具有多個頂點(diǎn)的基元,并且在對偶空間(dualspace )中將作為頂點(diǎn)線的頂點(diǎn)軌跡構(gòu)建為基元視角的函數(shù)。在對偶空間中構(gòu)建邊界線以形成用于頂點(diǎn)線的界限,其中該頂點(diǎn)線被包含在預(yù)定義的視角范圍中的邊界線內(nèi)。與待測試屏幕空間區(qū)域的樣本時(shí)間相對應(yīng)的T界限,即[tmin,tmax],被作為在對偶空間中邊界線的一函數(shù)進(jìn)行計(jì)算。隨后基于該t界限確定邊界體,示范性為軸對齊邊界框(AABB)。從測試中排除在待渲染屏幕空間區(qū)域內(nèi)但沒有被AABB所重疊的樣本點(diǎn)。
圖2A-2G示出了根據(jù)本發(fā)明,基元的邊界線和邊界頂點(diǎn)的構(gòu)成;圖2A顯示三角形110的相機(jī)空間軌跡及其在(w,x)維中的邊界頂點(diǎn)210和220,另外的(w,y)相機(jī)空間維度是類似的。定義邊界頂點(diǎn)210和220以便確保當(dāng)它們在世界空間中從開始到結(jié)束位置仿射移動時(shí),總是位于屏幕上基元的左/右側(cè)。尤其是,邊界頂點(diǎn)210a和220a在t=0時(shí)形成用于三角形IlOtl的界限以及邊界頂點(diǎn)210b和220b在t=l時(shí)形成用于三角形1101的界限。定義邊界頂點(diǎn)210和220使其不僅在t=0和t=l時(shí),而且在沿著相機(jī)空間中基元軌跡的所有中間瞬間均界定該基元。使用邊界頂點(diǎn)在其原始空間(primary space)與其相應(yīng)的對偶空間之間的映射來定義每個邊界頂點(diǎn)210和220。如本發(fā)明所使用的,“頂點(diǎn)的原始空間”指的是在相機(jī)空間中的位置,例如對于圖1-2C中所示的X維邊界頂點(diǎn)來說是(X,w)坐標(biāo)系統(tǒng)中的坐標(biāo),或者類似地,對于y維邊界來說是(y,w)坐標(biāo)空間中的坐標(biāo)。還如本發(fā)明所使用的,“頂點(diǎn)的對偶空間”指的是與(X,w)或(y,w)坐標(biāo)系統(tǒng)中的圖像空間位置相對應(yīng)的對偶空間中的線。一般來說,在原始空間中的點(diǎn)映射為對偶空間中的線,以及在原始空間中的線映射為對偶空間中的點(diǎn)。圖2B和2C示出了在頂點(diǎn)的原始空間和對偶空間之間的示范性映射。圖2B示出了位于原始相機(jī)空間中的頂點(diǎn)240,該頂點(diǎn)240沿著相機(jī)113的視線242。特別是,該視線242相對于相機(jī)視準(zhǔn)軸方向116以投影方向/角(Y ) 244傾斜。示范性地,投影方向(Y )244被規(guī)范化為在-I (對應(yīng)于相機(jī)視錐的左手邊限度112)與+1 (對應(yīng)相機(jī)視錐的右手邊限度114)之間延伸(extend)。設(shè)置該頂點(diǎn)240與相機(jī)視錐的左手邊限度(extent) 112間隔距離(a),與相機(jī)視錐的右手邊限度114間隔距離(b)。尤其是,僅當(dāng)沿著三角形Y方向在w=0上相應(yīng)的斜投影包括該相機(jī)點(diǎn)時(shí),角(Y ) 244方向的視線242可貫穿該三角形。點(diǎn)(X,w)的投影由以下等式給出δ =x-w Y (等式 I)圖2C示出了頂點(diǎn)240的對偶空間。對偶空間的水平軸(Y )與圖像空間位置(即來自相機(jī)的視線角(Y ))相對應(yīng),并且包括點(diǎn)244,該點(diǎn)244為視線242距相機(jī)視準(zhǔn)軸116的角(Y )。垂直軸(S )與頂點(diǎn)和視線242之間的相機(jī)空間水平距離相對應(yīng)。相應(yīng)地,由頂點(diǎn)240距相機(jī)平面的距離來確定線245的斜率,以及線245在頂點(diǎn)位于相應(yīng)視線242方向的那一點(diǎn)與對偶空間的X軸交叉。以這種方式,線245表現(xiàn)在對偶空間中頂點(diǎn)240的軌跡。可以理解,在對偶空間中表現(xiàn)頂點(diǎn)軌跡有助于在對偶空間中構(gòu)建邊界線,所述邊界線表現(xiàn)了對特定視線242的限制。這種邊界線可以映射為原始空間中的點(diǎn),所述點(diǎn)是如上所述的邊界頂點(diǎn)。
圖2D示出了圖I中在原始相機(jī)空間中示出的、包括頂點(diǎn)IlOatlUlObci和IlOctl的三角形IlO0O根據(jù)本發(fā)明,在t=0時(shí)基元IlO0的頂點(diǎn)110a。、IIOb0和IlOctl被映射到對偶空間,并確定它們相應(yīng)的頂點(diǎn)線110a’、110b’和110c’,如圖2E所示。在對偶空間內(nèi),定義邊界線210a’和210b,以界定頂點(diǎn)線110a’、110b’和110c’,如圖2F所示。換句話說,形成邊界線210a,和210b,以作為對在部分對偶空間之上的頂點(diǎn)線110a,、110b,和110c,的限制(分別如下方和上方限制/界限所示)。邊界線210a’和210b’可從對偶空間映射到原始空間,結(jié)果是原始相機(jī)空間中相應(yīng)的邊界頂點(diǎn)210a和210b,如圖2G所示。邊界線210a’和210b’表現(xiàn)為對所示對偶空間水平范圍上所有頂點(diǎn)線110a’、110b’和110c’的界限(所述水平范圍對應(yīng)于投影角S的范圍),并且相應(yīng)地,相機(jī)空間中的頂點(diǎn)210a和210b將分別作為對投影角特定范圍中的頂點(diǎn)IlOaciUlObc^P IlOctl的界限。邊界頂點(diǎn)210a的相機(jī)空間仿射移動對應(yīng)于邊界線210a’在t=0和t=l之間的線性插值,并且由于插值后的邊界線210a,和210b,保持在頂點(diǎn)線110a,、110b,和110c,(其也被線性插值)的各自一側(cè),因此邊界頂點(diǎn)210a和210b保持它們在頂點(diǎn)IlOaciUlObc^P IlOctl的一邊。進(jìn)一步示范性地,如果減小了投影角范圍即視角范圍,可使邊界線210a’和210b’具有更小的間隔(即相互之間 具有更小的歐幾里德距離),以提供甚至更小的邊界體/框,由于超出了所需的視角范圍,則不需要邊界線210a,和210b,保持它們在頂點(diǎn)線110a’、110b’和110c,的各自一側(cè)。下面對該“剪框(scissor box)”的計(jì)算加以描述。以及,可注意到在t=0和t=l的邊界線位于對偶空間X軸的同一側(cè)(即,或者高于或者低于)的情況下,在屏幕空間位置中,僅其符號是重要的。這允許對邊界線210a’需要正確逼近頂點(diǎn)線的域進(jìn)行進(jìn)一步縮小。圖2H示出了根據(jù)本發(fā)明,對作為左、右邊界線210a’和210b’的函數(shù)的T界限的計(jì)算。如所述的,邊界頂點(diǎn)的線性移動對應(yīng)于在相應(yīng)邊界線之間的線性插值。為了針對給定點(diǎn)計(jì)算T界限,對應(yīng)于所討論的像素塊(tile)/像素評估在對偶空間Y軸位置針對t=0的左邊界線(邊界線210a’)和針對t=l的左邊界線(邊界線210b’,對頂點(diǎn)IlOapllOb1和IlOc1進(jìn)行類似計(jì)算),以及獲得該線性移動點(diǎn)穿過X軸(δ=0)的時(shí)間。下面的等式是示范性的t=~ δ _/ ( δ _ - δ (t=0)) (等式 2)這一等式表明邊界框的相應(yīng)邊緣穿過所討論的點(diǎn)的時(shí)間。為右邊界線以及為其他軸執(zhí)行類似的計(jì)算。本領(lǐng)域技術(shù)人員可以理解,隨后可基于生成的t值以及其相應(yīng)邊界線的斜率來確定tmin和tmax。圖21示出了根據(jù)本發(fā)明利用計(jì)算出的t界限[tmin,tmax]來構(gòu)建邊界體。每個像素塊230 (待渲染的任何屏幕空間區(qū)域,例如一像素)均形成邊界體250,并且在像素塊的上下限度/界限TILEhi和TILEuj之間以及t界限tmin和tmax之間延伸。在時(shí)間維度和屏幕空間(X)維度示出邊界體250,該邊界體250被例示為其中該邊界體的限度對齊到坐標(biāo)系統(tǒng)坐標(biāo)軸的“邊界框”或軸對體邊界體。在進(jìn)一步的特定實(shí)施例中,邊界體是最小的邊界矩形。盡管未示出,但邊界體250在(y, t)坐標(biāo)系統(tǒng)將具有相應(yīng)的表達(dá)。如圖所示,邊界體250將與像素塊230在部分的像素塊/屏幕空間區(qū)域230上重疊,所述像素塊230上分布有多個可被測試以便由三角形110進(jìn)行內(nèi)插的樣本點(diǎn)(260a和260b,統(tǒng)稱為樣本點(diǎn)260)。包括在像素塊230內(nèi)的樣本點(diǎn)(簡潔起見稱為“樣本”)的數(shù)量可以為任意數(shù)量,從2到128或者更多,以及可以依賴或不依賴于像素塊的大小。在特定實(shí)施例中,每區(qū)域的樣本密度(例如,每像素的樣本數(shù)量)在每像素2-32個樣本的范圍內(nèi),尤其是每像素4-16個樣本。每個像素都在屏幕空間維度和至少一個非屏幕空間維度中被索引,圖2示出了在X維屏幕空間和時(shí)間維被索引的樣本。樣本260分布在空間(X)和時(shí)間(t)上,S卩,不同的樣本具有不同的時(shí)間以及像素塊230內(nèi)不同的位置,盡管這些樣本根據(jù)邊界體250是否與其重疊而可能不被測試,如下所述。圖2示出了像素塊230中樣本的排列,但可以理解,水平相鄰的像素塊也包括樣本點(diǎn)。如所示出的,邊界體250與被 包括在像素塊230內(nèi)的一些樣本重疊(樣本260a,以黑色填充),而其他樣本則未被邊界體250所重疊(樣本點(diǎn)260b,未被黑色填充)。有利地,被包括在像素塊230內(nèi)且未被邊界體250所重疊(即未被包括在邊界體250內(nèi))的樣本260b被丟棄或從測試中排除,從而改進(jìn)針對像素塊230的樣本測試效率。圖3A-3C示出了根據(jù)本發(fā)明的用于計(jì)算T界限的第二實(shí)施例。圖3A示出了在(X,w)原始(相機(jī))空間與(Y,δ)對偶空間之間的關(guān)系。在t=0時(shí)的三角形(110。)和在t=l時(shí)的三角形(IlO1)各自投影到沿Y’方向的w=0線上。投影點(diǎn)的位置以δ’來表示。對于t=0和t=l各自的限度[Stmin, δ tjmax]如圖所示。圖3B示出了三角形110。和IlO1在(Y,S )對偶空間的投影。如圖所示,每個頂點(diǎn)的δ均跟蹤γ的線性函數(shù)。t=0時(shí)以及t=l時(shí)的投影方向Y’以及相應(yīng)的δ范圍[Stmin,StmaJ被示出。在t=0和t=l時(shí)分別被三角形所覆蓋的區(qū)域310和320被加深,并且虛線312、314和322、324對這些區(qū)域進(jìn)行界定。為了針對在圖3所示場景中的給定點(diǎn)計(jì)算T界限,下列等式是示范性的tmin=- δ 0;max/ ( δ ljmax- δ 0;max)(等式 3)tmax=- δ ,min/ ( δ ! min- δ ,min)(等式 4 )可根據(jù)圖21的描述,應(yīng)用計(jì)算出的T界限來構(gòu)建邊界體(示范性的,軸對齊邊界框)。圖3B示出了延伸在整個[+1,_1]范圍的投影方向。圖3C示出了通過將投影方向Y限定到受限范圍330,可以經(jīng)由邊界線322’和324’獲得更緊密的擬合(并且因此,獲得更小的邊界體)。為了清楚起見,僅僅t=l被示出。用于非移動三角形的UV界限計(jì)算可以將所描述的方法應(yīng)用到景深,借此在計(jì)算中通過每個頂點(diǎn)的散光圈,向正或負(fù)方向來擴(kuò)展該頂點(diǎn),這依賴于哪一條邊界線被構(gòu)建。如所已知的,在鏡頭位置中的改變對應(yīng)于在與相機(jī)平面平行的相機(jī)空間中的移動。在某種意義上該移動是仿射的,因?yàn)榫€性改變U會產(chǎn)生仿射的在X方向的屏幕空間移動,對于V和Y情況也類似。圖4A和4B示出了根據(jù)本發(fā)明,在屏幕空間中表現(xiàn)出作為水平鏡頭維度(U)函數(shù)的視移動(apparent motion)的三角形。盡管為了更清楚起見,在圖4A和圖4B中分別示出了不同的特征,但圖4A和圖4B所示出的是同一個三角形。在相對于兩個不同的水平鏡頭位置U=-I和u=+l的兩個X位置(X。)和(X1)分別示出三角形110,該三角形110以標(biāo)記110。和IlO1來標(biāo)識以表明它們各自的鏡頭位置。在此情況下,依賴于三角形被觀察的鏡頭位置U),三角形的移動是“顯而易見的(apparent)”,盡管三角形并沒有適時(shí)進(jìn)行真實(shí)的移動,而是其位置發(fā)生了轉(zhuǎn)變。尤其是,三角形110表現(xiàn)出軌跡420,該軌跡420在待處理的水平鏡頭維度U)的一定范圍內(nèi)與屏幕空間區(qū)域/像素塊230相交叉。
邊界結(jié)構(gòu)(以邊界矩形的形式示出)RECT0412和RECI\414被用于逼近各自的三角形110。和IlOp該邊界矩形RECTQ412和RECI\414的每一者均包括針對x平面的下限(LO)和上限(HI)(點(diǎn)表示),這些限度與前述最小和最大頂點(diǎn)相對應(yīng),該下限和上限被用于形成基元軌跡420,如本文所描述的。對于X平面,RECT0具有與最小X平面頂點(diǎn)IlOatl相對應(yīng)(即,相逼近)的下限412a,以及具有與最大X平面頂點(diǎn)IlObtl相對應(yīng)的上限412b。類似地,RECT1具有與最小X平面頂點(diǎn)IlOa1相對應(yīng)的下限414a,以及具有與最大x平面頂點(diǎn)IlOb1相對應(yīng)的上限414b。盡管三角形110的同一個頂點(diǎn)在每一個鏡頭位置U=-I和u=+l處作為下限412a和414a的基礎(chǔ)(即,頂點(diǎn)IlOa作為下側(cè),頂點(diǎn)IlOb作為上側(cè)),但如果例如當(dāng)從相機(jī)看來這些頂點(diǎn)位于不同的深度時(shí),也并不必然如此。類似地,對于在屏幕空間中表現(xiàn)出作為垂直鏡頭維度(V)函數(shù)的視移動的基元,RECTc^P RECT1將在y方向上具有下限和上限。逼近該三角形的邊界結(jié)構(gòu)可以是任意幾何體,例如三角形,包括前述的申請人在2011年6月24日所提交的、題目為“用于在圖像渲染中改進(jìn)樣本測試效率的基于邊界框的技術(shù)”、律師簽號為HE-10-192-US的美國專利申請13/168,771所描述的三角形。一般來說,根據(jù)本發(fā)明,逼近的邊界結(jié)構(gòu)可以是任意多邊形。
圖5A和圖5B示出了根據(jù)本發(fā)明的、分別作為水平和垂直鏡頭維度(U)和(V)函數(shù)的邊界體550。屏幕空間區(qū)域或“像素塊”430包括可被測試的樣本560 (樣本560a和560b的統(tǒng)稱)。樣本560相應(yīng)于不同的鏡頭位置(U)和(V)排列,即當(dāng)從不同的鏡頭位置(U)或(V)查看且在像素塊430內(nèi)的不同位置時(shí),有不同的樣本適用于測試。既然可能有一個或多個樣本不被測試,因此被描述為“適用于測試”的樣本依賴于邊界體550是否重疊這些樣本,如以下所描述的。水平和垂直鏡頭維度U)和(V)沿著它們各自的軸在最小值和最大值+1到-I之間延伸,如本產(chǎn)業(yè)常規(guī)情況。在圖5A中,每像素塊430均形成邊界體,并且該邊界體包括相應(yīng)于水平鏡頭維度坐標(biāo)的非屏幕空間界限Umin和Umax以及屏幕空間界限TILEm和TILEhi。類似地,每像素塊430均形成圖5B中的邊界體,該邊界體包括相應(yīng)于產(chǎn)生三角形視移動的垂直鏡頭維度坐標(biāo)的非屏幕空間界限Vmin和Vmax以及用于像素塊430的屏幕空間界限Tileu^PTilehP可以根據(jù)以下等式進(jìn)行UniinAiniax和VniinZVniax的計(jì)算umin/Vmin= (TILElo - RECT0,HI) / (RECT1,HI - RECT0,HI) (等式 5)ufflax/vfflax= (TILEhi - RECT0,L0) / (RECT1,L0 - RECT0,L0) (等式 6)如所示出的,邊界體550與包括在像素塊430中的一些樣本(樣本560a,以黑色填充)重疊,而其他樣本未被邊界體550所重疊(樣本560b,未被黑色填充)。在這一實(shí)施例中,基元在來自其視移動的區(qū)域上重疊或延伸。有利地,被包括在像素塊430且未被邊界體550所重疊的樣本560b被丟棄或從測試中排除,從而改進(jìn)對于像素塊430的樣本測試效率。用于移動三角形UV界限的計(jì)算圖6A示出了根據(jù)本發(fā)明的針對在X圖像空間坐標(biāo)及其相應(yīng)的u鏡頭空間坐標(biāo)中鏡頭的極限位置所計(jì)算的示范性界限。在該附圖中,在t=0和t=l時(shí)三角形的每一個頂點(diǎn)均伴隨有散光圈(CoC)。每個頂點(diǎn)均具有相同或者不同的CoC,并且每個CoC被假定對同一個頂點(diǎn)進(jìn)行適時(shí)的線性插值。CoC經(jīng)常定義在屏幕空間中,但通過乘以到相機(jī)空間的距離可以很容易地應(yīng)用到相機(jī)空間。目標(biāo)是產(chǎn)生兩個邊界框,一個針對U=-I,一個針對U=+l,其包含了在整個幀時(shí)間內(nèi)的所有頂點(diǎn)。對于在相機(jī)平面之前的頂點(diǎn),將CoC投影到屏幕空間和計(jì)算出的相應(yīng)邊界體/框內(nèi),如圖所示。在相機(jī)平面之后的頂點(diǎn)可以使一些或全部界限被無窮延伸。為了檢測這一情況在何時(shí)出現(xiàn),我們測試頂點(diǎn)的凸殼(convex hull)是否穿過左視錐平面112或右視錐平面114。圖6B示出了根據(jù)本發(fā)明,穿過右視錐平面114的凸殼的示范性實(shí)施例。在這一實(shí)施例中,U=-I和U=+l的邊界框都將在右方無窮延伸,這是由于這兩者的凸殼均與在相機(jī)113右手邊的右視錐平面114交叉。當(dāng)U=-I或U=+l界限在例如右側(cè)無窮延伸時(shí),在對給定點(diǎn)確定U界限時(shí)忽略邊界框的該邊緣。對于本操作,不需要構(gòu)建頂點(diǎn)的凸殼,而僅僅需要交叉對非交叉的二進(jìn)制結(jié)果。相應(yīng)地,在頂點(diǎn)上執(zhí)行線性掃描以及維持頂點(diǎn)和視錐平面之間的候選分割線(半直線half-line)就足夠了。通過不可能發(fā)現(xiàn)連續(xù)的分割線來對交叉進(jìn)行示范性檢測。時(shí)間和屏幕空間剪的計(jì)算·為了針對給定點(diǎn)確定U界限,在線性轉(zhuǎn)換框覆蓋該點(diǎn)的情況下,采用針對U=-I和u=+l的邊界框以及解決U跨度來執(zhí)行本發(fā)明所描述的方法。為了提高效率,可以預(yù)先計(jì)算所涉及的分割,以便僅僅計(jì)算涉及乘法和附加的情況。類似計(jì)算針對V的界限。為了光柵化基元,需要屏幕空間邊界矩形來限制需要被計(jì)算的像素或像素塊的數(shù)量。在一示范性實(shí)施例中,通過聯(lián)合使用υ/ν=-ι以及U/V=+l邊界框來構(gòu)建這一屏幕空間剪矩(scissor rectangle)。隨后,當(dāng)擬合邊界線時(shí),將該剪矩用作初始間隔,如圖3-5C所描述的那樣應(yīng)用到U界限和V界限的計(jì)算中。除了屏幕空間剪,為基元計(jì)算時(shí)間剪也是有用的。這在基元完全在視錐之外的情況下使得對時(shí)間瞬間的剔除(culling)成為可能。由于所描述的無投影界限結(jié)構(gòu),位于相機(jī)之后的基元可能表現(xiàn)出在屏幕上具有非空界限。通過將可能的T界限限定到時(shí)間剪,這些偽界限可被有效移除。在一個實(shí)施例中,通過針對視錐四邊的平面以及相機(jī)平面計(jì)算在t=0和t=l時(shí)基元的限度來計(jì)算時(shí)間剪。通過這些限度來計(jì)算T跨度,在所述T跨度中基元可位于視錐內(nèi)。需要注意的是,可對屏幕空間和時(shí)間剪的計(jì)算進(jìn)行調(diào)整以達(dá)到像素塊限度。對于T界限,可通過適當(dāng)放大散光圈來處理像素塊限度。對于UV界限,可由像素塊限度來擴(kuò)大邊界框。圖7示出了根據(jù)本發(fā)明的、用于減少為渲染圖像區(qū)域所測試的樣本數(shù)量的示范性方法700。在702,為在待渲染圖像中延伸的基元構(gòu)建軌跡。在704,構(gòu)建與部分待渲染屏幕空間區(qū)域重疊的邊界體。該邊界體的特點(diǎn)為具有非屏幕空間界限^列如^.^.、!!^、!!.、Vfflin> vmax),其被作為基元軌跡的函數(shù)進(jìn)行計(jì)算。在706,將一個或多個位于屏幕空間區(qū)域內(nèi)且未被該邊界體所重疊的樣本點(diǎn)從測試中排除。在其中基于時(shí)間效果(例如,移動模糊)進(jìn)行渲染力求更少需要測試的樣本點(diǎn)的方法700的示范中,通過構(gòu)建如圖2A-2I所示的相機(jī)空間中多個基元頂點(diǎn)的軌跡對操作702進(jìn)行了示范。在本實(shí)施例的操作704的示范中,基元多個頂點(diǎn)的每一者均從相機(jī)空間映射到其中每個頂點(diǎn)表現(xiàn)為頂點(diǎn)線的對偶空間,借此生成多條頂點(diǎn)線。在對偶空間中,采用第一和第二邊界線來界定該多條頂點(diǎn)線,并且由此計(jì)算t界限[tmin,tmax]。采用t界限來生成邊界體,其一示例示出于圖21。在本實(shí)施例操作706的示范中,包括在待渲染屏幕空間區(qū)域內(nèi)且未被邊界體所重疊的樣本點(diǎn)被從渲染屏幕空間圖像的測試中排除。在其中基于空間效果(例如,去焦/景深)進(jìn)行渲染力求更少需要測試的樣本點(diǎn)的方法700的示范中,通過構(gòu)建如圖4A和4B所示的屏幕空間中多個基元頂點(diǎn)的軌跡對操作702進(jìn)行了示范。具體而言,確定分別在第一和第二鏡頭位置(u、v)的基元的第一和第二屏幕空間位置,并構(gòu)建在該第一和第二屏幕空間位置之間延伸的屏幕空間軌跡。在本實(shí)施例中操作704的示范中,通過確定作為軌跡屏幕空間點(diǎn)的函數(shù)的在u/v鏡頭維度中的最小和最大的界限來構(gòu)建邊界體,并且形成在這些非屏幕空間維度中最小和最大的界限之間以及在屏幕空間維度中預(yù)定義的界限之間延伸的邊界體。在特定實(shí)施例中,根據(jù)上述等式5和6計(jì)算邊界體的非屏幕空間界限。使用u/v界限來生成邊界體,所述邊界體的示例在圖5A和5B中示出。在本實(shí)施例操作706的示范中,包括在待渲染屏幕空間區(qū)域內(nèi)且未被邊界體所重疊的樣本點(diǎn)被從渲染屏幕空間圖像的測試中排除。如圖21和5B的描述所示范的,邊界體包括非屏幕空間維度(t)、(u)或(V)以及屏幕空間維度(X)或(y),后者具有預(yù)定義界限(如圖2中的TILEu^P TILEhi所示)。在操作704的示范中,通過確定作為軌跡函數(shù)的在非屏幕空間中最小和最大的界限來構(gòu)建邊界·體,并且形成在這些非屏幕空間維度中的最小和最大界限之間以及在屏幕空間維度中預(yù)定義的界限之間延伸的邊界體。在特定實(shí)施例中,根據(jù)用于計(jì)算t界限[tmin,tmax]的等式2-4以及用于計(jì)算u界限[umin,UfflaJ和V界限[vmin,VfflaJ的等式5和6來計(jì)算邊界體的非屏幕空間界限。在704的進(jìn)一步示范中,從預(yù)定義的相機(jī)點(diǎn)來定義視角。以及,在所述視角中識別最小相機(jī)平面維度(delta min)以及最大相機(jī)平面維度(delta max)。如圖3A和3B的描述中所提出的,確定作為最小和最大相機(jī)平面維度的函數(shù)的軸對齊邊界框。在706的示范中,確定像素塊中那些樣本被邊界體所重疊,并從測試中排除那些未被重疊的邊界體。在本操作的特定實(shí)施例中,像素塊內(nèi)的樣本按照增加的時(shí)間或者鏡頭的維度(U,V)排列,從而按照增加的屏幕或非屏幕空間維度來定義區(qū)域。邊界體還按照增加的屏幕或非屏幕空間維度對基元的軌跡加以描述。這兩個區(qū)域的重疊代表可能被三角形穿過的樣本。在此重疊區(qū)域之外的樣本被從測試中排除。示范性地,對多個基元的每一者執(zhí)行方法700以便在確定被多個基元所重疊的像素塊(例如,一像素)的顏色/透明度/反射率時(shí)改進(jìn)樣本的測試效率。進(jìn)一步示范性地,重疊特定像素塊/像素的多個基元可被并行處理,由此可并發(fā)執(zhí)行操作702和704的多個實(shí)例(對于每個基元均有一個實(shí)例)。在示范性應(yīng)用中,圖7的方法被作為圖形管線處理的一部分來加以執(zhí)行,例如,作為被執(zhí)行以計(jì)算屏幕空間區(qū)域的顏色/透明度/反射率的像素著色器程序的一部分,所述屏幕空間區(qū)域例如一片段或一像素。由于測試樣本數(shù)量更少,因此著色器程序的執(zhí)行時(shí)間被縮短,并且由此著色器能夠更快的計(jì)算像素的顏色而不損失準(zhǔn)確性。進(jìn)一步示范性地,圖7所描述的操作可在硬件中執(zhí)行,使用例如專用集成電路(ASIC)或其他能夠被配置為執(zhí)行所述操作的電路。圖8示出了結(jié)合方法700的用于渲染圖像區(qū)域的方法。在812,識別待渲染的屏幕空間區(qū)域。方法800接下來實(shí)施所描述的操作702、704和706,并根據(jù)本發(fā)明所描述的一個或多個示范性實(shí)施例來實(shí)現(xiàn)。在814,對位于屏幕空間區(qū)域內(nèi)并且被基元的邊界體所重疊的樣本進(jìn)行測試。在816,基于所測試的樣本對圖像的屏幕空間區(qū)域進(jìn)行渲染。操作816的示范性實(shí)施例包括基于在該區(qū)域內(nèi)且被邊界體所重疊的經(jīng)測試樣本,來實(shí)現(xiàn)可操作以計(jì)算屏幕空間區(qū)域的顏色/透明度/反射率的著色器程序。進(jìn)一步示范性地,將方法800重復(fù)一次或多次以渲染圖像的多個區(qū)域或整個圖像。如本發(fā)明所使用的,術(shù)語“渲染”指的是屏幕空間區(qū)域/圖像以視覺可理解的格式輸出(例如,在監(jiān)視器上顯示,在媒介上打印等等),以及將對應(yīng)于這一區(qū)域/圖像的數(shù)據(jù)以電子形式存儲在例如渲染目標(biāo)中的過程,所述渲染目標(biāo)諸如幀緩沖區(qū)。圖9示出了根據(jù)本發(fā)明的示范性系統(tǒng)900,在所述系統(tǒng)900中可使用對于圖1_8所描述的方法。系統(tǒng)900示范性為計(jì)算機(jī)系統(tǒng),包括圖形處理子系統(tǒng)920和諸如監(jiān)視器或打印機(jī)的輸出設(shè)備940。圖形處理子系統(tǒng)920包括處理器922、存儲器接口 924、幀緩沖區(qū)925以及掃描輸出處理器926。處理器922可操作以執(zhí)行本發(fā)明圖1_8所描述的任何或全部操作,并且在示范性實(shí)施例中為并行處理架構(gòu)。幀緩沖區(qū)925可操作地耦合到處理器922以接收針對每一幀的光柵化和/或光線追蹤后的片段值,以及經(jīng)由存儲器接口 924和鏈路930 (例如,一 DVI鏈路)將每一幀的復(fù)合圖像讀出到輸出設(shè)備940。在特定實(shí)施例中,處理器922可操作以執(zhí)行圖1-8的任意一個、若干或多個中所描述的一個、若干或全部操作。進(jìn) 一步地,處理器922可包括可操作以存儲用于執(zhí)行圖1-8所描繪方法的指令代碼的本地存儲器。在可選實(shí)施例中,系統(tǒng)900可采用不同的形式(例如,個人數(shù)字助理、網(wǎng)絡(luò)設(shè)備、移動電話或者其他移動設(shè)備),并且處理器922可嵌入此類不同系統(tǒng)中。進(jìn)一步可選擇地,處理器922可采用專用集成電路或其他可操作以執(zhí)行圖1-8中任意一個、若干或全部所描述的操作的硬件/固件電路形式。在一個實(shí)施例中,根據(jù)本發(fā)明,系統(tǒng)900可操作以減少為渲染圖像區(qū)域所測試的樣本數(shù)量。在這一實(shí)施例中,系統(tǒng)900包括處理器922,所述處理器922可操作以執(zhí)行圖7所描述的一個或多個操作,以及執(zhí)行圖8所描述的一個或多個操作。本領(lǐng)域技術(shù)人員容易理解,所描繪的過程和操作可視情況實(shí)現(xiàn)于硬件、軟件、固件或其這些實(shí)現(xiàn)方式的組合中。此外,所描述過程或操作的一些或全部可作為計(jì)算機(jī)實(shí)施的方法來執(zhí)行,或者作為駐留在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀指令代碼來執(zhí)行,所述指令代碼可操作以控制其他此類可編程設(shè)備的計(jì)算機(jī)來執(zhí)行預(yù)期功能。其上駐留指令代碼的計(jì)算機(jī)可讀介質(zhì)可以采用各種形式,例如可移除硬盤、易失性或非易失性存儲器等等。在本發(fā)明的特定實(shí)施例中,存儲器(其可被本地化包括在處理器922內(nèi)或全局化包括在系統(tǒng)900內(nèi))可操作以存儲用于執(zhí)行任何圖1-8所描述的操作。存儲器可以采用各種形式,例如可移除硬盤、嵌入式存儲器等,以易失性或非易失性形式,并且可被包括在各種不同的系統(tǒng)之內(nèi),例如計(jì)算機(jī)系統(tǒng)、嵌入式處理器、圖形處理器或者諸如圖形卡的圖形處理子系統(tǒng)。圖10不出了根據(jù)本發(fā)明、圖9的不范性圖形處理子系統(tǒng)920。圖形處理子系統(tǒng)920包括并行處理元件及其相關(guān)聯(lián)的本地LI高速緩存,還包括可操作以存儲用于執(zhí)行圖1-8所描述方法的指令的全局存儲器模塊。根據(jù)本發(fā)明所描述的方法,子系統(tǒng)920可進(jìn)一步包括一個或多個用于控制子系統(tǒng)920操作的驅(qū)動器1010。在一個實(shí)施例中,子系統(tǒng)920被包括在圖形卡內(nèi)。在另一個實(shí)施例中,子系統(tǒng)920被包括在計(jì)算機(jī)、工作站的木板內(nèi)或包括在游戲控制臺上。在另Iv實(shí)施例中,子系統(tǒng)920實(shí)現(xiàn)于嵌入式系統(tǒng)中,諸如蜂窩電話。
術(shù)語“一”被用于指代所描繪的一個或者一個以上的特征。此外,術(shù)語“耦合到”或者“連接到”指的是互相之間直接或者經(jīng)由一個或多個中介結(jié)構(gòu)或物質(zhì)進(jìn)行通信的特征。在方法流程圖中提到的操作或者動作的序列是示范性的,且操作和動作可以以不同的序列執(zhí)行,以及操作和動作中的兩個或多個可以并發(fā)執(zhí)行。被包括在權(quán)利要求中的參考標(biāo)記(如果有的話)用于指代所要求保護(hù)特征的一個示范性實(shí)施例,并且所要求保護(hù)的特征并不限于由該參考標(biāo)記所指代的特定實(shí)施例。所要求保護(hù)特征的范圍應(yīng)為權(quán)利要求文字所定義的范圍,如同參考標(biāo)記并不存在那樣。本發(fā)明所指出的所有公開文件、專利和其他文件均以引述的方式被全文包含。對于在任何此類包含文件以及本文件之間的不一致使用,以在本文件中的使用為準(zhǔn)。已經(jīng)以大量的細(xì)節(jié)對本發(fā)明的前述實(shí)施例加以描述以使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)本發(fā)明,并且可以理解的是這些實(shí)施例可以組合使用。選擇所描述的實(shí)施例是為了最好地解釋本發(fā)明的原理及其實(shí)際應(yīng)用,從而使本領(lǐng)域技術(shù)人員能夠最好地以各種實(shí)施例來利 用本發(fā)明,并且可預(yù)見適用于實(shí)際使用的各種修改。旨在本發(fā)明的范圍僅由隨附的權(quán)利要求所定義。
權(quán)利要求
1.一種用于減少為渲染圖像的屏幕空間區(qū)域所測試的樣本點(diǎn)數(shù)量的方法,所述方法包括 為在待渲染圖像內(nèi)延伸的基元構(gòu)建軌跡; 為所述待渲染圖像的屏幕空間區(qū)域構(gòu)建邊界體,其中所述邊界體包括定義為所述基元的所述軌跡的函數(shù)的在非屏幕維度中的界限,并且其中所述邊界體與部分所述屏幕空間區(qū)域重疊;以及 從測試中排除位于所述屏幕空間區(qū)域內(nèi)且未被所述邊界體所重疊的一個或多個樣本點(diǎn)。
2.如權(quán)利要求I所述的方法, 其中,所述構(gòu)建軌跡包括在所述待渲染圖像的相機(jī)空間中構(gòu)建所述基元的所述軌跡,以及 其中,所述構(gòu)建邊界體包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所基元的所述相機(jī)空間軌跡的函數(shù)的在時(shí)間維度中的最小界限和最大界限。
3.如權(quán)利要求2所述的方法,其中所述構(gòu)建邊界體進(jìn)一步包括 將所述基元的多個頂點(diǎn)的每一者均從相機(jī)空間映射到其中每個頂點(diǎn)表現(xiàn)為頂點(diǎn)線的對偶空間,由此生成多條頂點(diǎn)線; 在部分所述對偶空間上形成多條限制所述頂點(diǎn)線的邊界線;以及 計(jì)算作為所述邊界線的函數(shù)的在所述時(shí)間維度中的所述最小界限和所述最大界限。
4.如權(quán)利要求I所述的方法, 其中,所述構(gòu)建軌跡包括在所述待渲染圖像的屏幕空間中構(gòu)建所述基元的所述軌跡,以及 其中,所述構(gòu)建邊界體包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述屏幕空間軌跡的函數(shù)的在鏡頭維度U,V)中的最小界限和最大界限。
5.如權(quán)利要求4所述的方法,其中所述構(gòu)建軌跡包括 分別在第一和第二鏡頭位置U,V)處確定所述基元的第一和第二屏幕空間位置;以及 構(gòu)建在所述基元的所述第一和第二屏幕空間位置之間延伸的屏幕空間軌跡。
6.一種用于渲染圖像的屏幕空間區(qū)域的方法,包括 識別待渲染屏幕空間區(qū)域; 在所述屏幕空間區(qū)域中為基元構(gòu)建軌跡; 為所述屏幕空間區(qū)域構(gòu)建邊界體,其中所述邊界體包括定義為所述基元的所述軌跡的函數(shù)的在非屏幕維度中的界限,以及其中所述邊界體重疊部分所述屏幕空間區(qū)域; 從測試中排除位于所述屏幕空間區(qū)域內(nèi)且未被所述邊界體所重疊的一個或多個樣本占. 對位于所述屏幕空間區(qū)域內(nèi)并且被所述基元的所述邊界體所重疊的樣本點(diǎn)進(jìn)行測試;以及 基于所測試的樣本點(diǎn)來渲染所述圖像的所述屏幕空間區(qū)域。
7.如權(quán)利要求6所述的方法, 其中,所述構(gòu)建軌跡包括在所述待渲染圖像的相機(jī)空間中構(gòu)建所述基元的所述軌跡,以及 其中,所述構(gòu)建邊界體包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述相機(jī)空間軌跡的函數(shù)的在時(shí)間維度中的最小界限和最大界限。
8.如權(quán)利要求7所述的方法,其中所述構(gòu)建邊界體進(jìn)一步包括 將所述基元的多個頂點(diǎn)的每一者均從相機(jī)空間映射到其中每個頂點(diǎn)表現(xiàn)為頂點(diǎn)線的對偶空間,由此生成多條頂點(diǎn)線; 在部分所述對偶空間上形成多條限制所述頂點(diǎn)線的邊界線;以及 計(jì)算作為所述邊界線的函數(shù)的在所述時(shí)間維度中的所述最小界限和所述最大界限。
9.如權(quán)利要求6所述的方法, 其中,所述構(gòu)建軌跡包括在所述待渲染圖像的屏幕空間中構(gòu)建所述基元的所述軌跡,以及 其中,所述構(gòu)建邊界體包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述屏幕空間軌跡的函數(shù)的在鏡頭維度U,V)中的最小界限和最大界限。
10.如權(quán)利要求9所述的方法,其中所述構(gòu)建軌跡包括 分別在第一和第二鏡頭位置U,V)處確定所述基元的第一和第二屏幕空間位置;以及 構(gòu)建在所述基元的所述第一和第二屏幕空間位置之間延伸的屏幕空間軌跡。
11.一種可操作以減少為渲染圖像的屏幕空間區(qū)域所測試的樣本點(diǎn)數(shù)量的系統(tǒng),所述系統(tǒng)包括處理器,所述處理器可操作以 為在待渲染圖像內(nèi)延伸的基元構(gòu)建軌跡; 為所述待渲染圖像的屏幕空間區(qū)域構(gòu)建邊界體,其中所述邊界體包括定義為所述基元的所述軌跡的函數(shù)的在非屏幕維度中的界限,并且其中所述邊界體與部分所述屏幕空間區(qū)域重疊;以及 從測試中排除位于所述屏幕空間區(qū)域內(nèi)且未被所述邊界體所重疊的一個或多個樣本點(diǎn)。
12.如權(quán)利要求11所述的系統(tǒng), 其中,構(gòu)建軌跡的處理器操作進(jìn)一步包括在所述待渲染圖像的相機(jī)空間中構(gòu)建所述基元的所述軌跡,以及 其中,構(gòu)建邊界體的處理器操作進(jìn)一步包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述相機(jī)空間軌跡的函數(shù)的在時(shí)間維度中的最小界限和最大界限。
13.如權(quán)利要求12所述的系統(tǒng),其中構(gòu)建邊界體的處理器操作進(jìn)一步包括 將所述基元的多個頂點(diǎn)的每一者均從相機(jī)空間映射到其中每個頂點(diǎn)表現(xiàn)為頂點(diǎn)線的對偶空間,由此生成多條頂點(diǎn)線; 在部分所述對偶空間上形成多條限制所述頂點(diǎn)線的邊界線;以及 計(jì)算作為所述邊界線的函數(shù)的在所述時(shí)間維度中的所述最小界限和所述最大界限。
14.如權(quán)利要求11所述的系統(tǒng), 其中,構(gòu)建軌跡的處理器操作進(jìn)一步包括在所述待渲染圖像的屏幕空間中構(gòu)建所述基元的所述軌跡,以及 其中,構(gòu)建邊界體的處理器操作進(jìn)一步包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述屏幕空間軌跡的函數(shù)的在鏡頭維度(U,V)中的最小界限和最大界限。
15.如權(quán)利要求14所述的系統(tǒng),其中構(gòu)建軌跡的處理器操作進(jìn)一步包括 分別在第一和第二鏡頭位置U,V)處確定所述基元的第一和第二屏幕空間位置;以及 構(gòu)建在所述基元的所述第一和第二屏幕空間位置之間延伸的屏幕空間軌跡。
16.一種可操作以渲染圖像的屏幕空間區(qū)域的系統(tǒng),所述系統(tǒng)包括處理器,所述處理器可操作以 識別待渲染屏幕空間區(qū)域; 在所述屏幕空間區(qū)域中為基元構(gòu)建軌跡; 為所述屏幕空間區(qū)域構(gòu)建邊界體,其中所述邊界體包括定義為所述基元的所述軌跡的函數(shù)的在非屏幕維度中的界限,以及其中所述邊界體重疊部分所述屏幕空間區(qū)域; 從測試中排除位于所述屏幕空間區(qū)域內(nèi)且未被所述邊界體所重疊的一個或多個樣本占. 對位于所述屏幕空間區(qū)域內(nèi)并且被所述基元的所述邊界體所重疊的樣本點(diǎn)進(jìn)行測試;以及 基于所測試的樣本點(diǎn)來渲染所述圖像的所述屏幕空間區(qū)域。
17.如權(quán)利要求16所述的系統(tǒng), 其中,構(gòu)建軌跡的處理器操作進(jìn)一步包括在所述待渲染圖像的相機(jī)空間中構(gòu)建所述基元的所述軌跡,以及 其中,構(gòu)建邊界體的處理器操作進(jìn)一步包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述相機(jī)空間軌跡的函數(shù)的在時(shí)間維度中的最小界限和最大界限。
18.如權(quán)利要求17所述的系統(tǒng),其中構(gòu)建邊界體的處理器操作進(jìn)一步包括 將所述基元的多個頂點(diǎn)的每一者均從相機(jī)空間映射到其中每個頂點(diǎn)表現(xiàn)為頂點(diǎn)線的對偶空間,由此生成多條頂點(diǎn)線; 在部分所述對偶空間上形成多條限制所述頂點(diǎn)線的邊界線;以及 計(jì)算作為所述邊界線的函數(shù)的在所述時(shí)間維度中的所述最小界限和所述最大界限。
19.如權(quán)利要求16所述的系統(tǒng), 其中,構(gòu)建軌跡的處理器操作進(jìn)一步包括在所述待渲染圖像的屏幕空間中構(gòu)建所述基元的所述軌跡,以及 其中,構(gòu)建邊界體的處理器操作進(jìn)一步包括為所述屏幕空間區(qū)域構(gòu)建軸對齊邊界框,所述軸對齊邊界框具有定義為所述基元的所述屏幕空間軌跡的函數(shù)的在鏡頭維度U,V)中的最小界限和最大界限。
20.如權(quán)利要求19所述的系統(tǒng),其中構(gòu)建軌跡的處理器操作進(jìn)一步包括 分別在第一和第二鏡頭位置U,V)處確定所述基元的第一和第二屏幕空間位置;以及 構(gòu)建在所述基元的所述第一和第二屏幕空間位置之間延伸的屏幕空間軌跡。
全文摘要
一種用于減少為渲染圖像的屏幕空間區(qū)域所測試的樣本數(shù)量的方法,包括構(gòu)建在待渲染圖像中延伸的基元的軌跡。為圖像的屏幕空間區(qū)域構(gòu)建邊界體,該邊界體特點(diǎn)為具有被定義為基元軌跡的函數(shù)的在非屏幕空間維度中的界限。邊界體進(jìn)一步具有與部分待渲染屏幕空間區(qū)域重疊的特點(diǎn)。從測試中排除位于屏幕空間區(qū)域且未被邊界體所重疊的一個或多個樣本點(diǎn)。
文檔編號G06T15/00GK102915554SQ20121021389
公開日2013年2月6日 申請日期2012年6月25日 優(yōu)先權(quán)日2011年6月24日
發(fā)明者薩穆利·萊內(nèi), 泰羅·卡拉斯, 亞科·萊蒂恩, 蒂莫·艾拉 申請人:輝達(dá)公司